The v_overlap_filter needs to run on the colocated block of the previous macroblock. For the luma plane, the colocated block is located two blocks on the left instead of one.
Signed-off-by: Jerome Borsboom <jerome.borsb...@carpalis.nl> --- This should fix the issue with the SA10100.vc1 test file. libavcodec/vc1_loopfilter.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/vc1_loopfilter.c b/libavcodec/vc1_loopfilter.c index 4c0de7c025..676922aa18 100644 --- a/libavcodec/vc1_loopfilter.c +++ b/libavcodec/vc1_loopfilter.c @@ -145,8 +145,8 @@ void ff_vc1_p_overlap_filter(VC1Context *v) if (v->fcm != ILACE_FRAME) for (i = 0; i < block_count; i++) { - if (s->mb_x && v->mb_type[0][s->block_index[i] - 1] && - (s->first_slice_line || v->mb_type[0][s->block_index[i] - s->block_wrap[i] - 1])) + if (s->mb_x && v->mb_type[0][s->block_index[i] - 2 + (i > 3)] && + (s->first_slice_line || v->mb_type[0][s->block_index[i] - s->block_wrap[i] - 2 + (i > 3)])) vc1_v_overlap_filter(v, s->first_slice_line ? left_blk : topleft_blk, left_blk, i); if (s->mb_x == s->mb_width - 1) if (v->mb_type[0][s->block_index[i]] && -- 2.13.6 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel