1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
FFmpeg/tests/ref/fate/mpeg2-field-enc
Nekopanda f4d5d7e8de avcodec/mpeg2dec: Fix motion vector rounding for chroma components
In 16x8 motion compensation, for lower 16x8 region, the input to mpeg_motion() for motion_y was "motion_y + 16", which causes wrong rounding. For 4:2:0, chroma scaling for y is dividing by two and rounding toward zero. When motion_y < 0 and motion_y + 16 > 0, the rounding direction of "motion_y" and "motion_y + 16" is different and rounding "motion_y + 16" would be incorrect.

We should input "motion_y" as is to round correctly. I add "is_16x8" flag to do that.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2018-02-11 12:04:47 +01:00

36 lines
1.8 KiB
Plaintext

#tb 0: 1/25
#media_type 0: video
#codec_id 0: rawvideo
#dimensions 0: 720x576
#sar 0: 16/15
0, 9, 9, 1, 622080, 0xff496bf5
0, 10, 10, 1, 622080, 0x9bf6c014
0, 11, 11, 1, 622080, 0x870edac7
0, 12, 12, 1, 622080, 0x9dec280c
0, 13, 13, 1, 622080, 0x0f02e57a
0, 14, 14, 1, 622080, 0x161beccb
0, 15, 15, 1, 622080, 0x2234c6b0
0, 16, 16, 1, 622080, 0x143ef78a
0, 17, 17, 1, 622080, 0x0d6e46cf
0, 18, 18, 1, 622080, 0xb41667fd
0, 19, 19, 1, 622080, 0xcc476539
0, 20, 20, 1, 622080, 0x85d8ab16
0, 21, 21, 1, 622080, 0xcd6afec1
0, 22, 22, 1, 622080, 0x187a28ac
0, 23, 23, 1, 622080, 0x06100a4b
0, 24, 24, 1, 622080, 0x1b4ed8e9
0, 25, 25, 1, 622080, 0xde33702c
0, 26, 26, 1, 622080, 0x11974a0c
0, 27, 27, 1, 622080, 0x1a0553e8
0, 28, 28, 1, 622080, 0x98e1c8da
0, 29, 29, 1, 622080, 0x003801ce
0, 30, 30, 1, 622080, 0x6f300e00
0, 31, 31, 1, 622080, 0xb232f27d
0, 32, 32, 1, 622080, 0x07c65f57
0, 33, 33, 1, 622080, 0x6363f7ce
0, 34, 34, 1, 622080, 0x69ba5ac3
0, 35, 35, 1, 622080, 0x8561143e
0, 36, 36, 1, 622080, 0xf45e1d76
0, 37, 37, 1, 622080, 0x69f81d2f
0, 38, 38, 1, 622080, 0x8653b3ed