mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit '809c3023b699c54c90511913d3b6140dd2436550'
* commit '809c3023b699c54c90511913d3b6140dd2436550': mjpegdec: check for pixel format changes Conflicts: libavcodec/mjpegdec.c See:5c378d6a6d
See:a2f680c7bc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6c68522a2a
@ -246,8 +246,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
|
|||||||
{
|
{
|
||||||
int len, nb_components, i, width, height, bits, ret;
|
int len, nb_components, i, width, height, bits, ret;
|
||||||
unsigned pix_fmt_id;
|
unsigned pix_fmt_id;
|
||||||
int h_count[MAX_COMPONENTS];
|
int h_count[MAX_COMPONENTS] = { 0 };
|
||||||
int v_count[MAX_COMPONENTS];
|
int v_count[MAX_COMPONENTS] = { 0 };
|
||||||
|
|
||||||
s->cur_scan = 0;
|
s->cur_scan = 0;
|
||||||
s->upscale_h = s->upscale_v = 0;
|
s->upscale_h = s->upscale_v = 0;
|
||||||
@ -255,7 +255,7 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
|
|||||||
/* XXX: verify len field validity */
|
/* XXX: verify len field validity */
|
||||||
len = get_bits(&s->gb, 16);
|
len = get_bits(&s->gb, 16);
|
||||||
s->avctx->bits_per_raw_sample =
|
s->avctx->bits_per_raw_sample =
|
||||||
bits = get_bits(&s->gb, 8);
|
bits = get_bits(&s->gb, 8);
|
||||||
|
|
||||||
if (bits > 16 || bits < 1) {
|
if (bits > 16 || bits < 1) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "bits %d is invalid\n", bits);
|
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->nb_components = nb_components;
|
||||||
s->h_max = 1;
|
s->h_max = 1;
|
||||||
s->v_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++) {
|
for (i = 0; i < nb_components; i++) {
|
||||||
/* component id */
|
/* component id */
|
||||||
s->component_id[i] = get_bits(&s->gb, 8) - 1;
|
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 different size, realloc/alloc picture */
|
||||||
if ( width != s->width || height != s->height
|
if (width != s->width || height != s->height || bits != s->bits ||
|
||||||
|| bits != s->bits
|
memcmp(s->h_count, h_count, sizeof(h_count)) ||
|
||||||
|| memcmp(s->h_count, h_count, sizeof(h_count))
|
memcmp(s->v_count, v_count, sizeof(v_count))) {
|
||||||
|| memcmp(s->v_count, v_count, sizeof(v_count))) {
|
|
||||||
|
|
||||||
s->width = width;
|
s->width = width;
|
||||||
s->height = height;
|
s->height = height;
|
||||||
|
Loading…
Reference in New Issue
Block a user