[SCM] libav/experimental: vismv didn't display 8x8 mvs in H.264

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:43:14 UTC 2013


The following commit has been merged in the experimental branch:
commit b75e10d52c4e7728d2e44ed25b198e9689f2d089
Author: Loren Merritt <lorenm at u.washington.edu>
Date:   Thu Mar 3 07:21:23 2005 +0000

    vismv didn't display 8x8 mvs in H.264
    
    Originally committed as revision 4000 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 45c5eaf..6774439 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -582,7 +582,7 @@ static inline void fill_caches(H264Context *h, int mb_type, int for_deblock){
     if(IS_INTER(mb_type) || (IS_DIRECT(mb_type) && h->direct_spatial_mv_pred)){
         int list;
         for(list=0; list<2; list++){
-            if((!IS_8X8(mb_type)) && !USES_LIST(mb_type, list) && !IS_DIRECT(mb_type) && !for_deblock){
+            if(!USES_LIST(mb_type, list) && !IS_DIRECT(mb_type) && !for_deblock){
                 /*if(!h->mv_cache_clean[list]){
                     memset(h->mv_cache [list],  0, 8*5*2*sizeof(int16_t)); //FIXME clean only input? clean at all?
                     memset(h->ref_cache[list], PART_NOT_AVAILABLE, 8*5*sizeof(int8_t));
@@ -1239,7 +1239,7 @@ static inline void write_back_motion(H264Context *h, int mb_type){
 
     for(list=0; list<2; list++){
         int y;
-        if((!IS_8X8(mb_type)) && !USES_LIST(mb_type, list)){
+        if(!USES_LIST(mb_type, list)){
             if(1){ //FIXME skip or never read if mb_type doesnt use it
                 for(y=0; y<4; y++){
                     *(uint64_t*)s->current_picture.motion_val[list][b_xy + 0 + y*h->b_stride]=
diff --git a/libavcodec/h264data.h b/libavcodec/h264data.h
index 5480bec..21d2260 100644
--- a/libavcodec/h264data.h
+++ b/libavcodec/h264data.h
@@ -353,8 +353,8 @@ static const PMbInfo p_mb_type_info[5]={
 {MB_TYPE_16x16|MB_TYPE_P0L0             , 1},
 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P1L0, 2},
 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P1L0, 2},
-{MB_TYPE_8x8                            , 4},
-{MB_TYPE_8x8  |MB_TYPE_REF0             , 4},
+{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P1L0, 4},
+{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P1L0|MB_TYPE_REF0, 4},
 };
 
 static const PMbInfo p_sub_mb_type_info[4]={
@@ -387,7 +387,7 @@ static const PMbInfo b_mb_type_info[23]={
 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1             |MB_TYPE_P1L1, 2, },
 {MB_TYPE_16x8 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
 {MB_TYPE_8x16 |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 2, },
-{MB_TYPE_8x8                                                      , 4, },
+{MB_TYPE_8x8  |MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_P1L0|MB_TYPE_P1L1, 4, },
 };
 
 static const PMbInfo b_sub_mb_type_info[13]={

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list