[SCM] libav/experimental: Kill a warning with MSVC Patch by Jindrich Makovicka makovick A gmail P com Original thread: Date: 08:21 AM Subject Re: [Ffmpeg-devel] Weird line in cabac.h

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 15:52:23 UTC 2013


The following commit has been merged in the experimental branch:
commit a0f2c6ba38b2159f5f23edfffa204e11533b0b41
Author: Jindřich Makovička <makovick at gmail.com>
Date:   Wed Oct 18 09:37:25 2006 +0000

    Kill a warning with MSVC
    Patch by Jindrich Makovicka makovick A gmail P com
    Original thread:
    Date: 08:21 AM
    Subject Re: [Ffmpeg-devel] Weird line in cabac.h
    
    Originally committed as revision 6726 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavcodec/cabac.c b/libavcodec/cabac.c
index 91db6c3..c6da629 100644
--- a/libavcodec/cabac.c
+++ b/libavcodec/cabac.c
@@ -51,7 +51,7 @@ static const uint8_t lps_range[64][4]= {
 };
 
 uint8_t ff_h264_mlps_state[4*64];
-uint8_t ff_h264_lps_range[4][2*64];
+uint8_t ff_h264_lps_range[4*2*64];
 uint8_t ff_h264_lps_state[2*64];
 uint8_t ff_h264_mps_state[2*64];
 
@@ -152,8 +152,8 @@ void ff_init_cabac_states(CABACContext *c){
 
     for(i=0; i<64; i++){
         for(j=0; j<4; j++){ //FIXME check if this is worth the 1 shift we save
-            ff_h264_lps_range[j][2*i+0]=
-            ff_h264_lps_range[j][2*i+1]= lps_range[i][j];
+            ff_h264_lps_range[j*2*64+2*i+0]=
+            ff_h264_lps_range[j*2*64+2*i+1]= lps_range[i][j];
         }
 
         ff_h264_mlps_state[128+2*i+0]=
diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index d50c181..8059ba6 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -33,6 +33,7 @@
 #define CABAC_MASK ((1<<CABAC_BITS)-1)
 #define BRANCHLESS_CABAC_DECODER 1
 #define CMOV_IS_FAST 1
+//#define ARCH_X86_DISABLED 1
 
 typedef struct CABACContext{
     int low;
@@ -48,7 +49,7 @@ typedef struct CABACContext{
 }CABACContext;
 
 extern uint8_t ff_h264_mlps_state[4*64];
-extern uint8_t ff_h264_lps_range[4][2*64];  ///< rangeTabLPS
+extern uint8_t ff_h264_lps_range[4*2*64];  ///< rangeTabLPS
 extern uint8_t ff_h264_mps_state[2*64];     ///< transIdxMPS
 extern uint8_t ff_h264_lps_state[2*64];     ///< transIdxLPS
 extern const uint8_t ff_h264_norm_shift[512];
@@ -524,7 +525,7 @@ static int always_inline get_cabac_inline(CABACContext *c, uint8_t * const state
 #endif /* BRANCHLESS_CABAC_DECODER */
 #else /* defined(ARCH_X86) && !(defined(PIC) && defined(__GNUC__)) */
     int s = *state;
-    int RangeLPS= ff_h264_lps_range[0][2*(c->range&0xC0) + s];
+    int RangeLPS= ff_h264_lps_range[2*(c->range&0xC0) + s];
     int bit, lps_mask attribute_unused;
 
     c->range -= RangeLPS;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list