History

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.

Mashiat Sarker Shakkhar committed 14 years ago

Commit 7cc3c4e1 parent 88058d91 file · +1 −1Browse files

Unified · Split

libavcodec/vc1dec.c+1−1
@@ -430,7 +430,7 @@ static void vc1_mc_1mv(VC1Context *v, int dir) · 429 unmodified lines
430 if (v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)430 if (v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
431 || s->h_edge_pos < 22 || v_edge_pos < 22431 || s->h_edge_pos < 22 || v_edge_pos < 22
432 || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - s->mspel * 3432 || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - s->mspel * 3
433 || (unsigned)(src_y - s->mspel) > v_edge_pos - (my&3) - 16 - s->mspel * 3) {433 || (unsigned)(src_y - 1) > v_edge_pos - (my&3) - 16 - 3) {
434 uint8_t *uvbuf = s->edge_emu_buffer + 19 * s->linesize;434 uint8_t *uvbuf = s->edge_emu_buffer + 19 * s->linesize;
435 435
436 srcY -= s->mspel * (1 + s->linesize);436 srcY -= s->mspel * (1 + s->linesize);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t