changeset 10945:0d93bbc17950 libavcodec

Simplify and optimize intra code in h264_loopfilter.c
author michael
date Wed, 20 Jan 2010 00:44:03 +0000
parents 0985f1f7ab72
children 5a23fa01dec1
files h264_loopfilter.c
diffstat 1 files changed, 5 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/h264_loopfilter.c	Wed Jan 20 00:39:47 2010 +0000
+++ b/h264_loopfilter.c	Wed Jan 20 00:44:03 2010 +0000
@@ -498,21 +498,14 @@
         if( (edge&1) && IS_8x8DCT(mb_type) )
             continue;
 
-        if( IS_INTRA(mb_type) ||
-            IS_INTRA(mbn_type) ) {
-            int value;
+        if( IS_INTRA(mb_type|mbn_type)) {
+            *(uint64_t*)bS= 0x0003000300030003ULL;
             if (edge == 0) {
-                if (   (!IS_INTERLACED(mb_type) && !IS_INTERLACED(mbm_type))
+                if (   (!IS_INTERLACED(mb_type|mbm_type))
                     || ((FRAME_MBAFF || (s->picture_structure != PICT_FRAME)) && (dir == 0))
-                ) {
-                    value = 4;
-                } else {
-                    value = 3;
-                }
-            } else {
-                value = 3;
+                )
+                    *(uint64_t*)bS= 0x0004000400040004ULL;
             }
-            bS[0] = bS[1] = bS[2] = bS[3] = value;
         } else {
             int i, l;
             int mv_done;