[x264-devel] commit: Make MV prediction work across slice boundaries ( Jason Garrett-Glaser )

git at videolan.org git at videolan.org
Sun Apr 11 06:50:31 CEST 2010


x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Wed Apr  7 07:45:00 2010 -0700| [040fddd0ff78380ee465b00203654846b969b8f5] | committer: Jason Garrett-Glaser 

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.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=040fddd0ff78380ee465b00203654846b969b8f5
---

 common/macroblock.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/macroblock.c b/common/macroblock.c
index f1157b0..6dd19f6 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



More information about the x264-devel mailing list