1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

avcodec/mpegvideo: Don't reset AC values of upper-left luma block

Said block will only be referenced by blocks from the same macroblock,
which will read the new AC values instead of the reset values
from this function.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt
2025-06-13 03:04:45 +02:00
parent dcd7408c92
commit 70ce68d021

View File

@ -506,7 +506,9 @@ void ff_clean_intra_table_entries(MpegEncContext *s)
/* ac pred */ /* ac pred */
int16_t (*ac_val)[16] = s->ac_val[0]; int16_t (*ac_val)[16] = s->ac_val[0];
av_assume(!((uintptr_t)ac_val & 0xF)); av_assume(!((uintptr_t)ac_val & 0xF));
memset(ac_val[xy ], 0, 2 * sizeof(*ac_val)); // Don't reset the upper-left luma block, as it will only ever be
// referenced by blocks from the same macroblock.
memset(ac_val[xy + 1], 0, sizeof(*ac_val));
memset(ac_val[xy + wrap], 0, 2 * sizeof(*ac_val)); memset(ac_val[xy + wrap], 0, 2 * sizeof(*ac_val));
/* ac pred */ /* ac pred */
memset(ac_val[uxy], 0, sizeof(*ac_val)); memset(ac_val[uxy], 0, sizeof(*ac_val));