1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/tests/ref/seek
Wenbin Chen 76b33704b6 avcodec/mpegvideo_enc: Fix a chroma mb size error in sse_mb()
For 422 frames we should not use hard coded 8 to calculate mb size for
uv plane. Chroma shift should be taken into consideration to be
compatiple with different sampling format.

The error is reported by fate test when av_cpu_max_align() return 64
on the platform supporting AVX512. This is a hidden error and it is
exposed after commit 17a59a634c.

mpeg2enc has a mechanism to reuse frames. When it computes SSE (sum of
squared error) on current mb, reconstructed mb will be wrote to the
previous mb space, so that the memory can be saved. However if the align
is 64, the frame is shared in somewhere else, so the frame cannot be
reused and a new frame to store reconstrued data is created. Because the
height of mb is wrong when compute sse on 422 frame, starting from the
second line of macro block, changed data is read when frame is reused
(we need to read row 16 rather than row 8 if frame is 422), and unchanged
data is read when frame is not reused (a new frame is created so the
original frame will not be changed).

That is why commit 17a59a634c exposes this
issue, because it add av_cpu_max_align() and this function return 64 on
platform supporting AVX512 which lead to creating a frame in mpeg2enc,
and this lead to the different outputs.

Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2022-07-09 21:05:02 +02:00
..
acodec-adpcm-ima_qt
acodec-adpcm-ima_qt-trellis
acodec-adpcm-ima_wav
acodec-adpcm-ima_wav-trellis
acodec-adpcm-ms
acodec-adpcm-ms-trellis
acodec-adpcm-swf avcodec/adpcm_ima_swf: fix frame size to 4096 2020-11-07 23:43:26 +10:00
acodec-adpcm-swf-trellis avcodec/adpcm_ima_swf: fix frame size to 4096 2020-11-07 23:43:26 +10:00
acodec-adpcm-yamaha
acodec-adpcm-yamaha-trellis
acodec-alac avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
acodec-flac
acodec-mp2
acodec-pcm-alaw
acodec-pcm-f32be
acodec-pcm-f32le
acodec-pcm-f64be
acodec-pcm-f64le
acodec-pcm-mulaw
acodec-pcm-s8 avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
acodec-pcm-s16be avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
acodec-pcm-s16le
acodec-pcm-s24be avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
acodec-pcm-s24le
acodec-pcm-s32be avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
acodec-pcm-s32le
acodec-pcm-u8
cache-pipe
empty-edit-mp4
extra-mp3
extra-mp4 lavf/mov: Change default to prefer TFDT time and allow for fallback to SIDX or TFDT 2021-11-05 16:22:04 +01:00
lavf-aiff
lavf-al aviobuf: Increase the default SHORT_SEEK_THRESHOLD to 32 KB 2020-11-12 14:05:43 +02:00
lavf-asf
lavf-au
lavf-avi
lavf-bmp
lavf-dv avformat/dv: fix timestamps of audio packets in case of dropped corrupt audio frames 2020-12-06 18:09:24 +01:00
lavf-flv
lavf-gif
lavf-gxf
lavf-jpg
lavf-mkv avformat/matroskaenc: Don't waste bytes to Write Tag length fields 2022-06-20 23:42:28 +02:00
lavf-mmf
lavf-mov avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
lavf-mpg
lavf-mxf
lavf-mxf_d10
lavf-mxf_dv25
lavf-mxf_dvcpro50
lavf-mxf_opatom
lavf-mxf_opatom_audio
lavf-nut
lavf-ogg
lavf-pbmpipe
lavf-pcx
lavf-pgm
lavf-pgmpipe
lavf-ppm
lavf-ppmpipe
lavf-rm
lavf-sgi
lavf-swf
lavf-tga
lavf-tiff
lavf-ts avformat/mpegtsenc: get rid of packet counting for sdt/pat/pmt 2019-08-23 22:49:01 +02:00
lavf-ul aviobuf: Increase the default SHORT_SEEK_THRESHOLD to 32 KB 2020-11-12 14:05:43 +02:00
lavf-voc
lavf-wav
lavf-wtv
lavf-y4m
mkv-codec-delay
test-iibbibb-mp4
test-iibbibb-neg-ctts-mp4
vsynth_lena-asv1
vsynth_lena-asv2
vsynth_lena-dnxhd-4k-hr-lb
vsynth_lena-dnxhd-720p
vsynth_lena-dnxhd-720p-rd
vsynth_lena-dnxhd-1080i avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
vsynth_lena-dv
vsynth_lena-dv-50
vsynth_lena-dv-411
vsynth_lena-ffv1
vsynth_lena-flashsv
vsynth_lena-flv
vsynth_lena-h261
vsynth_lena-h263
vsynth_lena-h263p
vsynth_lena-huffyuv
vsynth_lena-jpegls
vsynth_lena-ljpeg
vsynth_lena-mjpeg
vsynth_lena-mpeg1
vsynth_lena-mpeg1b
vsynth_lena-mpeg2-422 avcodec/mpegvideo_enc: Fix a chroma mb size error in sse_mb() 2022-07-09 21:05:02 +02:00
vsynth_lena-mpeg2-idct-int
vsynth_lena-mpeg2-ilace
vsynth_lena-mpeg2-ivlc-qprd
vsynth_lena-mpeg2-thread
vsynth_lena-mpeg2-thread-ivlc
vsynth_lena-mpeg4 avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
vsynth_lena-mpeg4-adap
vsynth_lena-mpeg4-adv
vsynth_lena-mpeg4-error
vsynth_lena-mpeg4-nr
vsynth_lena-mpeg4-nsse
vsynth_lena-mpeg4-qpel
vsynth_lena-mpeg4-qprd
vsynth_lena-mpeg4-rc
vsynth_lena-mpeg4-thread
vsynth_lena-msmpeg4
vsynth_lena-msmpeg4v2
vsynth_lena-rgb
vsynth_lena-roqvideo
vsynth_lena-rv10
vsynth_lena-rv20
vsynth_lena-snow
vsynth_lena-snow-ll
vsynth_lena-svq1 avformat/movenc: ensure we don't write the major brand as a compatible brand more than once 2019-12-21 11:57:28 -03:00
vsynth_lena-wmv1
vsynth_lena-wmv2
vsynth_lena-yuv