29 #define UNCHECKED_BITSTREAM_READER 1    42  0, 1, 2, 4, 8, 3, 5,10,12,15, 7,11,13,14, 6, 9,
    46 15, 0, 7,11,13,14, 3, 5,10,12, 1, 2, 4, 8, 6, 9,
    92      6, 2, 0, 0,     8, 6, 3, 0,     9, 8, 7, 5,    10, 9, 8, 6,
    93     11,10, 9, 7,    13,11,10, 8,    13,13,11, 9,    13,13,13,10,
    94     14,14,13,11,    14,14,14,13,    15,15,14,14,    15,15,15,14,
    95     16,15,15,15,    16,16,16,15,    16,16,16,16,    16,16,16,16,
    99      6, 2, 0, 0,     6, 5, 3, 0,     7, 6, 6, 4,     8, 6, 6, 4,
   100      8, 7, 7, 5,     9, 8, 8, 6,    11, 9, 9, 6,    11,11,11, 7,
   101     12,11,11, 9,    12,12,12,11,    12,12,12,11,    13,13,13,12,
   102     13,13,13,13,    13,14,13,13,    14,14,14,13,    14,14,14,14,
   106      6, 4, 0, 0,     6, 5, 4, 0,     6, 5, 5, 4,     7, 5, 5, 4,
   107      7, 5, 5, 4,     7, 6, 6, 4,     7, 6, 6, 4,     8, 7, 7, 5,
   108      8, 8, 7, 6,     9, 8, 8, 7,     9, 9, 8, 8,     9, 9, 9, 8,
   109     10, 9, 9, 9,    10,10,10,10,    10,10,10,10,    10,10,10,10,
   113      6, 6, 0, 0,     6, 6, 6, 0,     6, 6, 6, 6,     6, 6, 6, 6,
   114      6, 6, 6, 6,     6, 6, 6, 6,     6, 6, 6, 6,     6, 6, 6, 6,
   115      6, 6, 6, 6,     6, 6, 6, 6,     6, 6, 6, 6,     6, 6, 6, 6,
   116      6, 6, 6, 6,     6, 6, 6, 6,     6, 6, 6, 6,     6, 6, 6, 6,
   123      5, 1, 0, 0,     7, 4, 1, 0,     7, 6, 5, 3,     7, 6, 5, 3,
   124      7, 6, 5, 4,    15, 6, 5, 4,    11,14, 5, 4,     8,10,13, 4,
   125     15,14, 9, 4,    11,10,13,12,    15,14, 9,12,    11,10,13, 8,
   126     15, 1, 9,12,    11,14,13, 8,     7,10, 9,12,     4, 6, 5, 8,
   130     11, 2, 0, 0,     7, 7, 3, 0,     7,10, 9, 5,     7, 6, 5, 4,
   131      4, 6, 5, 6,     7, 6, 5, 8,    15, 6, 5, 4,    11,14,13, 4,
   132     15,10, 9, 4,    11,14,13,12,     8,10, 9, 8,    15,14,13,12,
   133     11,10, 9,12,     7,11, 6, 8,     9, 8,10, 1,     7, 6, 5, 4,
   137     15,14, 0, 0,    11,15,13, 0,     8,12,14,12,    15,10,11,11,
   138     11, 8, 9,10,     9,14,13, 9,     8,10, 9, 8,    15,14,13,13,
   139     11,14,10,12,    15,10,13,12,    11,14, 9,12,     8,10,13, 8,
   140     13, 7, 9,12,     9,12,11,10,     5, 8, 7, 6,     1, 4, 3, 2,
   144      0, 1, 0, 0,     4, 5, 6, 0,     8, 9,10,11,    12,13,14,15,
   145     16,17,18,19,    20,21,22,23,    24,25,26,27,    28,29,30,31,
   146     32,33,34,35,    36,37,38,39,    40,41,42,43,    44,45,46,47,
   147     48,49,50,51,    52,53,54,55,    56,57,58,59,    60,61,62,63,
   152     {1,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9},
   153     {3,3,3,3,3,4,4,4,4,5,5,6,6,6,6},
   154     {4,3,3,3,4,4,3,3,4,5,5,6,5,6},
   155     {5,3,4,4,3,3,3,4,3,4,5,5,5},
   156     {4,4,4,3,3,3,3,3,4,5,4,5},
   157     {6,5,3,3,3,3,3,3,4,3,6},
   158     {6,5,3,3,3,2,3,4,3,6},
   170     {1,3,2,3,2,3,2,3,2,3,2,3,2,3,2,1},
   171     {7,6,5,4,3,5,4,3,2,3,2,3,2,1,0},
   172     {5,7,6,5,4,3,4,3,2,3,2,1,1,0},
   173     {3,7,5,4,6,5,4,3,3,2,2,1,0},
   174     {5,4,3,7,6,5,4,3,2,1,1,0},
   175     {1,1,7,6,5,4,3,2,1,1,0},
   176     {1,1,5,4,3,3,2,1,1,0},
   200     { 1, 3, 3, 4, 4, 4, 5, 5 },
   201     { 3, 2, 3, 3, 3, 3, 3 },
   202     { 3, 3, 2, 2, 3, 3 },
   210     { 1, 2, 3, 2, 3, 1, 1, 0 },
   211     { 0, 1, 1, 4, 5, 6, 7 },
   212     { 0, 1, 1, 2, 6, 7 },
   226     {3,3,3,3,3,3,3,4,5,6,7,8,9,10,11},
   236     {7,6,5,4,3,2,1,1,1,1,1,1,1,1,1},
   271 #define LEVEL_TAB_BITS 8   274 #define CHROMA_DC_COEFF_TOKEN_VLC_BITS 8   275 #define CHROMA422_DC_COEFF_TOKEN_VLC_BITS 13   276 #define COEFF_TOKEN_VLC_BITS           8   277 #define TOTAL_ZEROS_VLC_BITS           9   278 #define CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3   279 #define CHROMA422_DC_TOTAL_ZEROS_VLC_BITS 5   280 #define RUN_VLC_BITS                   3   281 #define RUN7_VLC_BITS                  6   288     const int index8= 
scan8[
n];
   289     const int left= h->non_zero_count_cache[index8 - 1];
   290     const int top = h->non_zero_count_cache[index8 - 8];
   293     if(i<64) i= (i+1)>>1;
   295     tprintf(h->
avctx, 
"pred_nnz L%X T%X n%d s%d P%X\n", left, top, n, 
scan8[n], i&31);
   304     for(suffix_length=0; suffix_length<7; suffix_length++){
   309                 int level_code = (prefix << suffix_length) +
   310                     (i >> (
av_log2(i) - suffix_length)) - (1 << suffix_length);
   311                 int mask = -(level_code&1);
   312                 level_code = (((2 + level_code) >> 1) ^ 
mask) - mask;
   368             init_vlc(&chroma_dc_total_zeros_vlc[i],
   378             init_vlc(&chroma422_dc_total_zeros_vlc[i],
   428     print_bin(buf>>(32-log), log);
   446     static const int coeff_token_table_index[17]= {0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3};
   448     int zeros_left, coeff_token, total_coeff, 
i, trailing_ones, run_before;
   457         total_coeff= coeff_token>>2;
   462             total_coeff= coeff_token>>2;
   466             total_coeff= coeff_token>>2;
   469     h->non_zero_count_cache[ 
scan8[
n] ]= total_coeff;
   475     if(total_coeff > (
unsigned)max_coeff) {
   480     trailing_ones= coeff_token&3;
   481     tprintf(h->
avctx, 
"trailing:%d, total:%d\n", trailing_ones, total_coeff);
   486     level[0] = 1-((i&4)>>1);
   487     level[1] = 1-((i&2)   );
   488     level[2] = 1-((i&1)<<1);
   490     if(trailing_ones<total_coeff) {
   492         int suffix_length = total_coeff > 10 & trailing_ones < 3;
   497         if(level_code >= 100){
   498             prefix= level_code - 100;
   508             }
else if(prefix==14){
   512                     level_code= prefix + 
get_bits(gb, 4); 
   520                     level_code += (1<<(prefix-3))-4096;
   522                 level_code += 
get_bits(gb, prefix-3); 
   525             if(trailing_ones < 3) level_code += 2;
   528             mask= -(level_code&1);
   529             level[trailing_ones]= (((2+level_code)>>1) ^ 
mask) - mask;
   531             level_code += ((level_code>>31)|1) & -(trailing_ones < 3);
   533             suffix_length = 1 + (level_code + 3
U > 6
U);
   534             level[trailing_ones]= level_code;
   538         for(i=trailing_ones+1;i<total_coeff;i++) {
   539             static const unsigned int suffix_limit[7] = {0,3,6,12,24,48,INT_MAX };
   544             if(level_code >= 100){
   545                 prefix= level_code - 100;
   550                     level_code = (prefix<<suffix_length) + 
get_bits(gb, suffix_length);
   552                     level_code = 15<<suffix_length;
   558                         level_code += (1<<(prefix-3))-4096;
   560                     level_code += 
get_bits(gb, prefix-3);
   562                 mask= -(level_code&1);
   563                 level_code= (((2+level_code)>>1) ^ 
mask) - mask;
   565             level[
i]= level_code;
   566             suffix_length+= suffix_limit[suffix_length] + level_code > 2
U*suffix_limit[suffix_length];
   570     if(total_coeff == max_coeff)
   573         if (max_coeff <= 8) {
   575                 zeros_left = 
get_vlc2(gb, (chroma_dc_total_zeros_vlc-1)[total_coeff].
table,
   578                 zeros_left = 
get_vlc2(gb, (chroma422_dc_total_zeros_vlc-1)[total_coeff].table,
   585 #define STORE_BLOCK(type) \   586     scantable += zeros_left + total_coeff - 1; \   587     if(n >= LUMA_DC_BLOCK_INDEX){ \   588         ((type*)block)[*scantable] = level[0]; \   589         for(i=1;i<total_coeff && zeros_left > 0;i++) { \   591                 run_before= get_vlc2(gb, (run_vlc-1)[zeros_left].table, RUN_VLC_BITS, 1); \   593                 run_before= get_vlc2(gb, run7_vlc.table, RUN7_VLC_BITS, 2); \   594             zeros_left -= run_before; \   595             scantable -= 1 + run_before; \   596             ((type*)block)[*scantable]= level[i]; \   598         for(;i<total_coeff;i++) { \   600             ((type*)block)[*scantable]= level[i]; \   603         ((type*)block)[*scantable] = ((int)(level[0] * qmul[*scantable] + 32))>>6; \   604         for(i=1;i<total_coeff && zeros_left > 0;i++) { \   606                 run_before= get_vlc2(gb, (run_vlc-1)[zeros_left].table, RUN_VLC_BITS, 1); \   608                 run_before= get_vlc2(gb, run7_vlc.table, RUN7_VLC_BITS, 2); \   609             zeros_left -= run_before; \   610             scantable -= 1 + run_before; \   611             ((type*)block)[*scantable]= ((int)(level[i] * qmul[*scantable] + 32))>>6; \   613         for(;i<total_coeff;i++) { \   615             ((type*)block)[*scantable]= ((int)(level[i] * qmul[*scantable] + 32))>>6; \   648             for(i8x8=0; i8x8<4; i8x8++){
   649                 for(i4x4=0; i4x4<4; i4x4++){
   650                     const int index= i4x4 + 4*i8x8 + p*16;
   663         int cqm = (
IS_INTRA( mb_type ) ? 0:3)+p;
   666         for(i8x8=0; i8x8<4; i8x8++){
   671                     for(i4x4=0; i4x4<4; i4x4++){
   672                         const int index= i4x4 + 4*i8x8 + p*16;
   677                     nnz= &h->non_zero_count_cache[ 
scan8[4*i8x8+p*16] ];
   678                     nnz[0] += nnz[1] + nnz[8] + nnz[9];
   679                     new_cbp |= !!nnz[0] << i8x8;
   681                     for(i4x4=0; i4x4<4; i4x4++){
   682                         const int index= i4x4 + 4*i8x8 + p*16;
   687                         new_cbp |= h->non_zero_count_cache[ 
scan8[
index] ] << i8x8;
   691                 uint8_t * 
const nnz= &h->non_zero_count_cache[ 
scan8[4*i8x8+p*16] ];
   692                 nnz[0] = nnz[1] = nnz[8] = nnz[9] = 0;
   702     unsigned int mb_type, 
cbp;
   706     unsigned local_ref_count[2];
   727         if( (h->
mb_y&1) == 0 )
   740             goto decode_intra_mb;
   748             goto decode_intra_mb;
   806             for(i=0; i<16; i+=di){
   811                     mode = rem_mode + (rem_mode >= 
mode);
   835     }
else if(partition_count==4){
   836         int i, j, sub_partition_count[4], 
list, 
ref[2][4];
   841                 if(h->sub_mb_type[i] >=13){
   848             if( 
IS_DIRECT(h->sub_mb_type[0]|h->sub_mb_type[1]|h->sub_mb_type[2]|h->sub_mb_type[3])) {
   850                 h->ref_cache[0][
scan8[4]] =
   851                 h->ref_cache[1][
scan8[4]] =
   852                 h->ref_cache[0][
scan8[12]] =
   859                 if(h->sub_mb_type[i] >=4){
   871                 if(
IS_DIRECT(h->sub_mb_type[i])) 
continue;
   872                 if(
IS_DIR(h->sub_mb_type[i], 0, list)){
   876                     }
else if(ref_count == 2){
   905                 if(
IS_DIR(h->sub_mb_type[i], 0, list)){
   906                     const int sub_mb_type= h->sub_mb_type[
i];
   908                     for(j=0; j<sub_partition_count[
i]; j++){
   910                         const int index= 4*i + block_width*j;
   912                         pred_motion(h, index, block_width, list, h->ref_cache[list][ 
scan8[index] ], &mx, &my);
   919                             mv_cache[ 8 ][0]= mv_cache[ 9 ][0]= mx;
   921                             mv_cache[ 8 ][1]= mv_cache[ 9 ][1]= my;
   923                             mv_cache[ 1 ][0]= mx;
   924                             mv_cache[ 1 ][1]= my;
   926                             mv_cache[ 8 ][0]= mx;
   927                             mv_cache[ 8 ][1]= my;
   929                         mv_cache[ 0 ][0]= mx;
   930                         mv_cache[ 0 ][1]= my;
   933                     uint32_t *p= (uint32_t *)&h->mv_cache[list][ 
scan8[4*i] ][0];
   948                     if(
IS_DIR(mb_type, 0, list)){
   949                         if(local_ref_count[list]==1){
   951                         }
else if(local_ref_count[list]==2){
   955                             if(val >= local_ref_count[list]){
   964                 if(
IS_DIR(mb_type, 0, list)){
   978                         if(
IS_DIR(mb_type, i, list)){
   979                             if(local_ref_count[list] == 1){
   981                             }
else if(local_ref_count[list] == 2){
   985                                 if(val >= local_ref_count[list]){
   998                     if(
IS_DIR(mb_type, i, list)){
  1015                         if(
IS_DIR(mb_type, i, list)){ 
  1016                             if(local_ref_count[list]==1){
  1018                             }
else if(local_ref_count[list]==2){
  1022                                 if(val >= local_ref_count[list]){
  1035                     if(
IS_DIR(mb_type, i, list)){
  1072         if (!decode_chroma && cbp>15) {
  1078     if(dct8x8_allowed && (cbp&15) && !
IS_INTRA(mb_type)){
  1086         int i4x4, i8x8, chroma_idx;
  1090         const uint8_t *scan, *scan8x8;
  1105         if(((
unsigned)h->
qscale) > max_qp){
  1107             else            h->
qscale-= max_qp+1;
  1108             if(((
unsigned)h->
qscale) > max_qp){
  1132                 for(chroma_idx=0; chroma_idx<2; chroma_idx++)
  1133                     if (
decode_residual(h, gb, h->mb + ((256 + 16*16*chroma_idx) << pixel_shift),
  1136                                         NULL, 4*num_c8x8) < 0) {
  1142                 for(chroma_idx=0; chroma_idx<2; chroma_idx++){
  1144                     int16_t *
mb = h->mb + (16*(16 + 16*chroma_idx) << 
pixel_shift);
  1145                     for (i8x8=0; i8x8<num_c8x8; i8x8++) {
  1146                         for (i4x4=0; i4x4<4; i4x4++) {
  1147                             const int index= 16 + 16*chroma_idx + 8*i8x8 + i4x4;
 
static av_always_inline int get_dct8x8_allowed(H264Context *h)
#define AVERROR_INVALIDDATA
Invalid data found when processing input. 
#define CHROMA_DC_TOTAL_ZEROS_VLC_BITS
GetBitContext * intra_gb_ptr
FIXME Range Coding of cr are ref
static int get_se_golomb(GetBitContext *gb)
read signed exp golomb code. 
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits. 
static const uint8_t chroma422_dc_scan[8]
static void skip_bits_long(GetBitContext *s, int n)
static const int chroma422_dc_coeff_token_vlc_table_size
static av_cold void init_cavlc_level_tab(void)
#define TOTAL_ZEROS_VLC_BITS
uint8_t zigzag_scan8x8_cavlc[64]
static VLC_TYPE run7_vlc_table[96][2]
#define FF_ARRAY_ELEMS(a)
static const uint8_t chroma422_dc_coeff_token_len[4 *9]
static const int chroma422_dc_total_zeros_vlc_tables_size
#define CHROMA422_DC_TOTAL_ZEROS_VLC_BITS
static VLC_TYPE chroma_dc_total_zeros_vlc_tables[3][8][2]
static VLC chroma422_dc_coeff_token_vlc
static av_always_inline void write_back_motion(H264Context *h, int mb_type)
static const uint8_t coeff_token_len[4][4 *17]
static const uint8_t chroma422_dc_coeff_token_bits[4 *9]
static void fill_decode_caches(H264Context *h, int mb_type)
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFilterBuffer structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining list
int slice_type_nos
S free slice type (SI/SP are remapped to I/P) 
static const uint8_t chroma422_dc_total_zeros_len[7][8]
static av_always_inline uint32_t pack16to32(int a, int b)
static const PMbInfo b_sub_mb_type_info[13]
static av_always_inline int pred_intra_mode(H264Context *h, int n)
Get the predicted intra4x4 prediction mode. 
#define IS_DIR(a, part, list)
static const uint8_t run_len[7][16]
static const uint8_t chroma_dc_coeff_token_bits[4 *5]
#define av_assert0(cond)
assert() equivalent, that is always enabled. 
static VLC chroma422_dc_total_zeros_vlc[7]
static const uint8_t golomb_to_intra4x4_cbp_gray[16]
uint32_t(*[6] dequant4_coeff)[16]
static const uint8_t coeff_token_bits[4][4 *17]
#define av_assert2(cond)
assert() equivalent, that does lie in speed critical code. 
static const int chroma_dc_total_zeros_vlc_tables_size
#define CHROMA422_DC_COEFF_TOKEN_VLC_BITS
#define LUMA_DC_BLOCK_INDEX
unsigned int ref_count[2]
num_ref_idx_l0/1_active_minus1 + 1 
static const uint8_t run_bits[7][16]
static const IMbInfo i_mb_type_info[26]
static int get_bits_count(const GetBitContext *s)
static int8_t cavlc_level_tab[7][1<< LEVEL_TAB_BITS][2]
char av_get_picture_type_char(enum AVPictureType pict_type)
Return a single letter to describe the given picture type pict_type. 
static const uint8_t total_zeros_len[16][16]
static void av_unused decode_mb_skip(H264Context *h)
decodes a P_SKIP or B_SKIP macroblock 
static void fill_rectangle(SDL_Surface *screen, int x, int y, int w, int h, int color, int update)
static VLC_TYPE coeff_token_vlc_tables[520+332+280+256][2]
static VLC total_zeros_vlc[15]
H.264 / AVC / MPEG4 part10 codec. 
static VLC chroma_dc_total_zeros_vlc[3]
#define UPDATE_CACHE(name, gb)
int ff_h264_check_intra_pred_mode(H264Context *h, int mode, int is_chroma)
Check if the top & left blocks are available if needed and change the dc mode so it only uses the ava...
static int get_ue_golomb(GetBitContext *gb)
read unsigned exp golomb code. 
static const uint16_t mask[17]
#define CHROMA_DC_BLOCK_INDEX
static av_always_inline int get_chroma_qp(H264Context *h, int t, int qscale)
Get the chroma qp. 
GetBitContext * inter_gb_ptr
static const struct endianess table[]
int mb_field_decoding_flag
static const uint8_t chroma_dc_total_zeros_bits[3][4]
static av_always_inline void pred_8x16_motion(H264Context *const h, int n, int list, int ref, int *const mx, int *const my)
Get the directionally predicted 8x16 MV. 
simple assert() macros that are a bit more flexible than ISO C assert(). 
void av_log(void *avcl, int level, const char *fmt,...)
static VLC chroma_dc_coeff_token_vlc
static const uint8_t offset[127][2]
#define CLOSE_READER(name, gb)
static const uint8_t scan8[16 *3+3]
static av_always_inline void pred_motion(H264Context *const h, int n, int part_width, int list, int ref, int *const mx, int *const my)
Get the predicted MV. 
#define COEFF_TOKEN_VLC_BITS
void ff_h264_pred_direct_motion(H264Context *const h, int *mb_type)
static const int chroma_dc_coeff_token_vlc_table_size
static const uint8_t total_zeros_bits[16][16]
uint16_t * slice_table
slice_table_base + 2*mb_stride + 1 
uint8_t field_scan8x8_cavlc[64]
static VLC_TYPE chroma422_dc_total_zeros_vlc_tables[7][32][2]
#define MB_TYPE_INTERLACED
static VLC coeff_token_vlc[4]
static VLC_TYPE total_zeros_vlc_tables[15][512][2]
static av_always_inline int decode_luma_residual(H264Context *h, GetBitContext *gb, const uint8_t *scan, const uint8_t *scan8x8, int pixel_shift, int mb_type, int cbp, int p)
static unsigned int show_bits(GetBitContext *s, int n)
Show 1-25 bits. 
#define LAST_SKIP_BITS(name, gb, num)
static av_always_inline int get_vlc2(GetBitContext *s, VLC_TYPE(*table)[2], int bits, int max_depth)
Parse a vlc code. 
int ff_h264_decode_mb_cavlc(H264Context *h)
Decode a macroblock. 
int direct_8x8_inference_flag
int8_t intra4x4_pred_mode_cache[5 *8]
FIXME Range Coding of cr are level
static const uint8_t golomb_to_intra4x4_cbp[48]
#define INIT_VLC_USE_NEW_STATIC
static av_always_inline void write_back_non_zero_count(H264Context *h)
#define PART_NOT_AVAILABLE
static int decode_residual(H264Context *h, GetBitContext *gb, int16_t *block, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff)
Decode a residual block. 
static const uint8_t chroma_dc_coeff_token_len[4 *5]
uint8_t zigzag_scan_q0[16]
H264 / AVC / MPEG4 part10 codec data table  
static int get_ue_golomb_31(GetBitContext *gb)
read unsigned exp golomb code, constraint to a max of 31. 
int ff_h264_check_intra4x4_pred_mode(H264Context *h)
Check if the top & left blocks are available if needed and change the dc mode so it only uses the ava...
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered. 
#define OPEN_READER(name, gb)
static void fill_decode_neighbors(H264Context *h, int mb_type)
#define init_vlc(vlc, nb_bits, nb_codes,bits, bits_wrap, bits_size,codes, codes_wrap, codes_size,flags)
static unsigned int get_bits1(GetBitContext *s)
static void skip_bits(GetBitContext *s, int n)
uint32_t(*[6] dequant8_coeff)[64]
synthesis window for stochastic i
static const uint8_t chroma_dc_scan[4]
av_cold void ff_h264_decode_init_vlc(void)
int pixel_shift
0 for 8-bit H264, 1 for high-bit-depth H264 
#define GET_CACHE(name, gb)
static const int total_zeros_vlc_tables_size
static const uint8_t chroma422_dc_total_zeros_bits[7][8]
static const PMbInfo b_mb_type_info[23]
static const int coeff_token_vlc_tables_size[4]
static int pred_non_zero_count(H264Context *h, int n)
Get the predicted number of non-zero coefficients. 
static const int run7_vlc_table_size
static const PMbInfo p_mb_type_info[5]
static const PMbInfo p_sub_mb_type_info[4]
int transform_8x8_mode
transform_8x8_mode_flag 
static VLC_TYPE chroma422_dc_coeff_token_vlc_table[8192][2]
common internal api header. 
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers. 
const uint8_t * intra_pcm_ptr
H.264 / AVC / MPEG4 part10 motion vector predicion. 
static const uint8_t golomb_to_inter_cbp[48]
int bit_depth_luma
bit_depth_luma_minus8 + 8 
static av_always_inline void write_back_intra_pred_mode(H264Context *h)
static av_always_inline void pred_16x8_motion(H264Context *const h, int n, int list, int ref, int *const mx, int *const my)
Get the directionally predicted 16x8 MV. 
#define CHROMA_DC_COEFF_TOKEN_VLC_BITS
uint8_t zigzag_scan8x8_cavlc_q0[64]
const uint16_t ff_h264_mb_sizes[4]
static const int run_vlc_tables_size
VLC_TYPE(* table)[2]
code, bits 
static const uint8_t chroma_dc_total_zeros_len[3][4]
static int get_level_prefix(GetBitContext *gb)
static const uint8_t * align_get_bits(GetBitContext *s)
uint8_t field_scan8x8_cavlc_q0[64]
static const uint8_t golomb_to_inter_cbp_gray[16]
static VLC_TYPE run_vlc_tables[6][8][2]
uint8_t field_scan_q0[16]
uint8_t(* non_zero_count)[48]
static VLC_TYPE chroma_dc_coeff_token_vlc_table[256][2]
#define STORE_BLOCK(type)
int mb_mbaff
mb_aff_frame && mb_field_decoding_flag