aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-12-19 12:45:56 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-12-19 12:49:23 +0100
commit6c68522a2aa8c3fc664482ab8a18c991039c78aa (patch)
tree94cd9643941829de2e87f29fc217e3f2b4db8790
parent24af050c2fa9c28c85f68ac5425fc3fbaa826343 (diff)
parent809c3023b699c54c90511913d3b6140dd2436550 (diff)
downloadffmpeg-6c68522a2aa8c3fc664482ab8a18c991039c78aa.tar.gz
Merge commit '809c3023b699c54c90511913d3b6140dd2436550'
* commit '809c3023b699c54c90511913d3b6140dd2436550': mjpegdec: check for pixel format changes Conflicts: libavcodec/mjpegdec.c See: 5c378d6a6df8243f06c87962b873bd563e58cd39 See: a2f680c7bc7642c687aeb4e14d00ac74833c7a09 Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/mjpegdec.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index a29a533826..054d936aac 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -246,8 +246,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
{
int len, nb_components, i, width, height, bits, ret;
unsigned pix_fmt_id;
- int h_count[MAX_COMPONENTS];
- int v_count[MAX_COMPONENTS];
+ int h_count[MAX_COMPONENTS] = { 0 };
+ int v_count[MAX_COMPONENTS] = { 0 };
s->cur_scan = 0;
s->upscale_h = s->upscale_v = 0;
@@ -255,7 +255,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
/* XXX: verify len field validity */
len = get_bits(&s->gb, 16);
s->avctx->bits_per_raw_sample =
- bits = get_bits(&s->gb, 8);
+ bits = get_bits(&s->gb, 8);
if (bits > 16 || bits < 1) {
av_log(s->avctx, AV_LOG_ERROR, "bits %d is invalid\n", bits);
@@ -306,8 +306,6 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
s->nb_components = nb_components;
s->h_max = 1;
s->v_max = 1;
- memset(h_count, 0, sizeof(h_count));
- memset(v_count, 0, sizeof(v_count));
for (i = 0; i < nb_components; i++) {
/* component id */
s->component_id[i] = get_bits(&s->gb, 8) - 1;
@@ -342,10 +340,9 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
/* if different size, realloc/alloc picture */
- if ( width != s->width || height != s->height
- || bits != s->bits
- || memcmp(s->h_count, h_count, sizeof(h_count))
- || memcmp(s->v_count, v_count, sizeof(v_count))) {
+ if (width != s->width || height != s->height || bits != s->bits ||
+ memcmp(s->h_count, h_count, sizeof(h_count)) ||
+ memcmp(s->v_count, v_count, sizeof(v_count))) {
s->width = width;
s->height = height;