mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-02 03:06:28 +02:00
f4d5d7e8de
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>
36 lines
1.8 KiB
Plaintext
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
|