mirror of
https://git.videolan.org/git/ffmpeg.git
synced 2024-09-06 16:10:09 +02:00
vc1dec: Invoke edge emulation regardless of MV precision for 1-MV chroma
This is required due to the way VC-1 handles chroma pull-back which may end up causing negative chroma MV for zero luma MV. Edge emulation needs to be invoked in such cases. This only affects vertical component of chroma motion vector. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
parent
88058d9a99
commit
7cc3c4e1d4
@ -430,7 +430,7 @@ static void vc1_mc_1mv(VC1Context *v, int dir)
|
||||
if (v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
|
||||
|| s->h_edge_pos < 22 || v_edge_pos < 22
|
||||
|| (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - s->mspel * 3
|
||||
|| (unsigned)(src_y - s->mspel) > v_edge_pos - (my&3) - 16 - s->mspel * 3) {
|
||||
|| (unsigned)(src_y - 1) > v_edge_pos - (my&3) - 16 - 3) {
|
||||
uint8_t *uvbuf = s->edge_emu_buffer + 19 * s->linesize;
|
||||
|
||||
srcY -= s->mspel * (1 + s->linesize);
|
||||
|
Loading…
Reference in New Issue
Block a user