[x264-devel] Fix two bugs in predictor checking

Jason Garrett-Glaser git at videolan.org
Wed Feb 27 00:18:04 CET 2013


x264 | branch: master | Jason Garrett-Glaser <jason at x264.com> | Tue Jan 22 12:31:55 2013 -0800| [a216e5c92a1543e5d748928f7531cfd771739cbf] | committer: Jason Garrett-Glaser

Fix two bugs in predictor checking
pmv wasn't checked properly in some cases, as well as zero vector.
Output-changing portion of the following patch.

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

 encoder/me.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/encoder/me.c b/encoder/me.c
index 72895f1..af4a970 100644
--- a/encoder/me.c
+++ b/encoder/me.c
@@ -219,8 +219,7 @@ void x264_me_search_ref( x264_t *h, x264_me_t *m, int16_t (*mvc)[2], int i_mvc,
     if( h->mb.i_subpel_refine >= 3 )
     {
         pmv = pack16to32_mask(bmx,bmy);
-        if( i_mvc )
-            COST_MV_HPEL( bmx, bmy );
+        COST_MV_HPEL( bmx, bmy );
         for( int i = 0; i < i_mvc; i++ )
         {
             if( M32( mvc[i] ) && (pmv != M32( mvc[i] )) )
@@ -270,8 +269,7 @@ void x264_me_search_ref( x264_t *h, x264_me_t *m, int16_t (*mvc)[2], int i_mvc,
         }
     }
 
-    if( pmv )
-        COST_MV( 0, 0 );
+    COST_MV( 0, 0 );
 
     switch( h->mb.i_me_method )
     {



More information about the x264-devel mailing list