diff options
author | Nekopanda <pianoyayaninth-at-yahoo.co.jp@ffmpeg.org> | 2018-02-11 17:15:54 +0900 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2018-02-11 12:04:47 +0100 |
commit | f4d5d7e8de189ab448a5e662245b57ceb8f20df6 (patch) | |
tree | e554291fd25a5ac8e4659ab2a25a91a60c79ce01 /libavcodec/dnxhdenc.h | |
parent | 570023eab3e2962b4ad8345a157c1e18ca1a6eca (diff) | |
download | ffmpeg-f4d5d7e8de189ab448a5e662245b57ceb8f20df6.tar.gz |
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>
Diffstat (limited to 'libavcodec/dnxhdenc.h')
0 files changed, 0 insertions, 0 deletions