[FFmpeg-cvslog] r16191 - trunk/libavcodec/rv34.c

kostya subversion
Wed Dec 17 20:39:57 CET 2008


Author: kostya
Date: Wed Dec 17 20:39:56 2008
New Revision: 16191

Log:
Generate correct deblock pattern for RV30

Modified:
   trunk/libavcodec/rv34.c

Modified: trunk/libavcodec/rv34.c
==============================================================================
--- trunk/libavcodec/rv34.c	(original)
+++ trunk/libavcodec/rv34.c	Wed Dec 17 20:39:56 2008
@@ -1109,7 +1109,15 @@ static int rv34_set_deblock_coef(RV34Dec
         hmvmask &= ~0x000F;
     if(!s->mb_x)
         vmvmask &= ~0x1111;
-    return hmvmask | vmvmask; //XXX: should be stored separately for RV3
+    if(r->rv30){ //RV30 marks both subblocks on the edge for filtering
+        vmvmask |= (vmvmask & 0x4444) >> 1;
+        hmvmask |= (hmvmask & 0x0F00) >> 4;
+        if(s->mb_x)
+            r->deblock_coefs[s->mb_x - 1 + s->mb_y*s->mb_stride] |= (vmvmask & 0x1111) << 3;
+        if(!s->first_slice_line)
+            r->deblock_coefs[s->mb_x + (s->mb_y - 1)*s->mb_stride] |= (hmvmask & 0xF) << 12;
+    }
+    return hmvmask | vmvmask;
 }
 
 static int rv34_decode_macroblock(RV34DecContext *r, int8_t *intra_types)




More information about the ffmpeg-cvslog mailing list