[FFmpeg-cvslog] avcodec/h261dec: Simplify decoding GOB header
Andreas Rheinhardt
git at videolan.org
Thu Jun 20 20:00:55 EEST 2024
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Mon Jun 10 07:19:01 2024 +0200| [c1097556c734a418354fa23c403e0237a5e93bb5] | committer: Andreas Rheinhardt
avcodec/h261dec: Simplify decoding GOB header
h261_resync() can be completely removed, because
h261_decode_gob_header() checks for a GOB header itself if
gob_start_code_skipped is zero.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c1097556c734a418354fa23c403e0237a5e93bb5
---
libavcodec/h261dec.c | 27 +--------------------------
1 file changed, 1 insertion(+), 26 deletions(-)
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c
index 2038afc591..f1c1e1a48a 100644
--- a/libavcodec/h261dec.c
+++ b/libavcodec/h261dec.c
@@ -165,31 +165,6 @@ static int h261_decode_gob_header(H261DecContext *h)
return 0;
}
-/**
- * Decode the group of blocks / video packet header.
- * @return <0 if no resync found
- */
-static int h261_resync(H261DecContext *h)
-{
- MpegEncContext *const s = &h->s;
- int ret;
-
- if (h->gob_start_code_skipped) {
- ret = h261_decode_gob_header(h);
- if (ret >= 0)
- return 0;
- } else {
- if (show_bits(&s->gb, 15) == 0) {
- ret = h261_decode_gob_header(h);
- if (ret >= 0)
- return 0;
- }
- // OK, it is not where it is supposed to be ...
- }
-
- return -1;
-}
-
/**
* Decode skipped macroblocks.
* @return 0
@@ -626,7 +601,7 @@ static int h261_decode_frame(AVCodecContext *avctx, AVFrame *pict,
s->mb_y = 0;
while (h->gob_number < (s->mb_height == 18 ? 12 : 5)) {
- if (h261_resync(h) < 0)
+ if (h261_decode_gob_header(h) < 0)
break;
h261_decode_gob(h);
}
More information about the ffmpeg-cvslog
mailing list