forked from FFmpeg/FFmpeg
libavcodec/mjpeg: preserve unclipped last_dc value
Perform av_clip_int16(val) _after_ copying the value to last_dc. This change ensures that clipping is applied only within the context of the current block, preventing the propagation of clipped values to subsequent DC components. Related commits:c28f648b19
anddffae122d0
Related ticket: 4683
This commit is contained in:
parent
539d2e989d
commit
a8e2714d82
2 changed files with 2 additions and 3 deletions
|
@ -843,9 +843,8 @@ static int decode_block(MJpegDecodeContext *s, int16_t *block, int component,
|
|||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
val = val * (unsigned)quant_matrix[0] + s->last_dc[component];
|
||||
val = av_clip_int16(val);
|
||||
s->last_dc[component] = val;
|
||||
block[0] = val;
|
||||
block[0] = av_clip_int16(val);
|
||||
/* AC coefs */
|
||||
i = 0;
|
||||
{OPEN_READER(re, &s->gb);
|
||||
|
|
|
@ -3,4 +3,4 @@
|
|||
#codec_id 0: rawvideo
|
||||
#dimensions 0: 999x749
|
||||
#sar 0: 1/1
|
||||
0, 0, 0, 1, 1496502, 0xd91deb4b
|
||||
0, 0, 0, 1, 1496502, 0x44efc0af
|
||||
|
|
Loading…
Add table
Reference in a new issue