summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-03-19 17:57:02 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-03-23 20:31:04 +0100
commitc00beff5e0754706cdeec25084f4893a8bc39a5b (patch)
treef49eae821470ba6f400d041ebbabc5cb6ccd2079
parent57a43142baeda0d38f085555121a86c906cf11ef (diff)
downloadffmpeg-c00beff5e0754706cdeec25084f4893a8bc39a5b.tar.gz
avcodec/mjpegdec: factorize parse_avid out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 1083c479eb6e5bcd5220fdd165cf9312f29a0985) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/mjpegdec.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index ac94345613..a3e258b24a 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -83,6 +83,13 @@ static void build_basic_mjpeg_vlc(MJpegDecodeContext *s)
avpriv_mjpeg_val_ac_chrominance, 251, 0, 0);
}
+static void parse_avid(MJpegDecodeContext *s, uint8_t *buf, int len)
+{
+ s->buggy_avid = 1;
+ if (len > 14 && buf[12] == 1) /* 1 - NTSC */
+ s->interlace_polarity = 1;
+}
+
av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx)
{
MJpegDecodeContext *s = avctx->priv_data;
@@ -1694,9 +1701,7 @@ static int mjpeg_decode_com(MJpegDecodeContext *s)
/* buggy avid, it puts EOI only at every 10th frame */
if (!strncmp(cbuf, "AVID", 4)) {
- s->buggy_avid = 1;
- if (len > 14 && cbuf[12] == 1) /* 1 - NTSC, 2 - PAL */
- s->interlace_polarity = 1;
+ parse_avid(s, cbuf, len);
} else if (!strcmp(cbuf, "CS=ITU601"))
s->cs_itu601 = 1;
else if ((!strncmp(cbuf, "Intel(R) JPEG Library, version 1", 32)) ||