From 049b662b98e80bffa5e21f771f396559a13c3ced Mon Sep 17 00:00:00 2001 From: Fiona Glaser Date: Wed, 7 Apr 2010 07:45:00 -0700 Subject: [PATCH] Make MV prediction work across slice boundaries Should improve motion search with lots of small slices, e.g. with slice-max-size. Still restricted by sliced threads (won't cross the boundary between two threadslices). The output-changing part of the previous patch. --- common/macroblock.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/common/macroblock.c b/common/macroblock.c index 66fd4a9a..58f846a0 100644 --- a/common/macroblock.c +++ b/common/macroblock.c @@ -420,17 +420,17 @@ void x264_mb_predict_mv_ref16x16( x264_t *h, int i_list, int i_ref, int16_t mvc[ } /* spatial predictors */ - if( h->mb.i_neighbour & MB_LEFT ) + if( h->mb.i_neighbour_frame & MB_LEFT ) { SET_MVP( mvr[h->mb.i_mb_left_xy] ); } - if( h->mb.i_neighbour & MB_TOP ) + if( h->mb.i_neighbour_frame & MB_TOP ) { SET_MVP( mvr[h->mb.i_mb_top_xy] ); - if( h->mb.i_neighbour & MB_TOPLEFT ) + if( h->mb.i_neighbour_frame & MB_TOPLEFT ) SET_MVP( mvr[h->mb.i_mb_topleft_xy] ); - if( h->mb.i_neighbour & MB_TOPRIGHT ) + if( h->mb.i_neighbour_frame & MB_TOPRIGHT ) SET_MVP( mvr[h->mb.i_mb_topright_xy] ); } #undef SET_MVP -- 2.40.0