libavcodec/h264.c File Reference

H.264 / AVC / MPEG4 part10 codec. More...

#include "dsputil.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "h264.h"
#include "h264data.h"
#include "h264_parser.h"
#include "golomb.h"
#include "rectangle.h"
#include "cabac.h"
#include <assert.h>
#include "svq3.c"

Go to the source code of this file.

Defines

#define DELAYED_PIC_REF   4
 Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.
#define MAP_MVS
#define MAP_F2F(idx, mb_type)
#define MAP_F2F(idx, mb_type)
#define SET_DIAG_MV(MV_OP, REF_OP, X4, Y4)
#define MB_TYPE_16x16_OR_INTRA   (MB_TYPE_16x16|MB_TYPE_INTRA4x4|MB_TYPE_INTRA16x16|MB_TYPE_INTRA_PCM)
#define stride   16
#define XCHG(a, b, t, xchg)
#define XCHG(a, b, t, xchg)
#define T(x)   (x>>2) | ((x<<2) & 0xF)
#define T(x)   (x>>3) | ((x&7)<<3)
#define CABAC_ON_STACK
#define CC   &cc
#define DECODE_SIGNIFICANCE(coefs, sig_off, last_off)
#define FILTER(hv, dir, edge)

Functions

static void svq3_luma_dc_dequant_idct_c (DCTELEM *block, int qp)
static void svq3_add_idct_c (uint8_t *dst, DCTELEM *block, int stride, int qp, int dc)
static void filter_mb (H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize)
static void filter_mb_fast (H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8_t *img_cb, uint8_t *img_cr, unsigned int linesize, unsigned int uvlinesize)
static av_always_inline uint32_t pack16to32 (int a, int b)
static void fill_caches (H264Context *h, int mb_type, int for_deblock)
static void write_back_intra_pred_mode (H264Context *h)
static int check_intra4x4_pred_mode (H264Context *h)
 checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.
static int check_intra_pred_mode (H264Context *h, int mode)
 checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.
static int pred_intra_mode (H264Context *h, int n)
 gets the predicted intra4x4 prediction mode.
static void write_back_non_zero_count (H264Context *h)
static int pred_non_zero_count (H264Context *h, int n)
 gets the predicted number of non zero coefficients.
static int fetch_diagonal_mv (H264Context *h, const int16_t **C, int i, int list, int part_width)
static void pred_motion (H264Context *const h, int n, int part_width, int list, int ref, int *const mx, int *const my)
 gets the predicted MV.
static void pred_16x8_motion (H264Context *const h, int n, int list, int ref, int *const mx, int *const my)
 gets the directionally predicted 16x8 MV.
static void pred_8x16_motion (H264Context *const h, int n, int list, int ref, int *const mx, int *const my)
 gets the directionally predicted 8x16 MV.
static void pred_pskip_motion (H264Context *const h, int *const mx, int *const my)
static void direct_dist_scale_factor (H264Context *const h)
static void direct_ref_list_init (H264Context *const h)
static void pred_direct_motion (H264Context *const h, int *mb_type)
static void write_back_motion (H264Context *h, int mb_type)
static const uint8_tdecode_nal (H264Context *h, const uint8_t *src, int *dst_length, int *consumed, int length)
 Decodes a network abstraction layer unit.
static int decode_rbsp_trailing (H264Context *h, const uint8_t *src)
 identifies the exact end of the bitstream
static void h264_luma_dc_dequant_idct_c (DCTELEM *block, int qp, int qmul)
 idct tranforms the 16 dc values and dequantize them.
static void chroma_dc_dequant_idct_c (DCTELEM *block, int qp, int qmul)
static int get_chroma_qp (H264Context *h, int t, int qscale)
 gets the chroma qp.
static int quantize_c (DCTELEM *block, uint8_t *scantable, int qscale, int intra, int separate_dc)
static void mc_dir_part (H264Context *h, Picture *pic, int n, int square, int chroma_height, int delta, int list, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int src_x_offset, int src_y_offset, qpel_mc_func *qpix_op, h264_chroma_mc_func chroma_op)
static void mc_part_std (H264Context *h, int n, int square, int chroma_height, int delta, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int x_offset, int y_offset, qpel_mc_func *qpix_put, h264_chroma_mc_func chroma_put, qpel_mc_func *qpix_avg, h264_chroma_mc_func chroma_avg, int list0, int list1)
static void mc_part_weighted (H264Context *h, int n, int square, int chroma_height, int delta, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int x_offset, int y_offset, qpel_mc_func *qpix_put, h264_chroma_mc_func chroma_put, h264_weight_func luma_weight_op, h264_weight_func chroma_weight_op, h264_biweight_func luma_weight_avg, h264_biweight_func chroma_weight_avg, int list0, int list1)
static void mc_part (H264Context *h, int n, int square, int chroma_height, int delta, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, int x_offset, int y_offset, qpel_mc_func *qpix_put, h264_chroma_mc_func chroma_put, qpel_mc_func *qpix_avg, h264_chroma_mc_func chroma_avg, h264_weight_func *weight_op, h264_biweight_func *weight_avg, int list0, int list1)
static void prefetch_motion (H264Context *h, int list)
static void hl_motion (H264Context *h, uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr, qpel_mc_func(*qpix_put)[16], h264_chroma_mc_func(*chroma_put), qpel_mc_func(*qpix_avg)[16], h264_chroma_mc_func(*chroma_avg), h264_weight_func *weight_op, h264_biweight_func *weight_avg)
static void decode_init_vlc (void)
static void free_tables (H264Context *h)
static void init_dequant8_coeff_table (H264Context *h)
static void init_dequant4_coeff_table (H264Context *h)
static void init_dequant_tables (H264Context *h)
static int alloc_tables (H264Context *h)
 allocates tables.
static void clone_tables (H264Context *dst, H264Context *src)
 Mimic alloc_tables(), but for every context thread.
static int context_init (H264Context *h)
 Init context Allocate buffers which are not shared amongst multiple threads.
static void common_init (H264Context *h)
static int decode_init (AVCodecContext *avctx)
static int frame_start (H264Context *h)
static void backup_mb_border (H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int simple)
static void xchg_mb_border (H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int xchg, int simple)
static void backup_pair_border (H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize)
static void xchg_pair_border (H264Context *h, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, int linesize, int uvlinesize, int xchg)
static av_always_inline void hl_decode_mb_internal (H264Context *h, int simple)
static void hl_decode_mb_simple (H264Context *h)
 Process a macroblock; this case avoids checks for expensive uncommon cases.
static void av_noinline hl_decode_mb_complex (H264Context *h)
 Process a macroblock; this handles edge cases, such as interlacing.
static void hl_decode_mb (H264Context *h)
static void pic_as_field (Picture *pic, const int parity)
static int split_field_copy (Picture *dest, Picture *src, int parity, int id_add)
static int split_field_half_ref_list (Picture *dest, int dest_len, Picture *src, int src_len, int parity)
 Split one reference list into field parts, interleaving by parity as per H.264 spec section 8.2.4.2.5.
static int split_field_ref_list (Picture *dest, int dest_len, Picture *src, int src_len, int parity, int long_i)
 Split the reference frame list into a reference field list.
static int fill_default_ref_list (H264Context *h)
 fills the default_ref_list.
static void print_short_term (H264Context *h)
 print short term list
static void print_long_term (H264Context *h)
 print long term list
static int pic_num_extract (H264Context *h, int pic_num, int *structure)
 Extract structure information about the picture described by pic_num in the current decoding context (frame or field).
static int decode_ref_pic_list_reordering (H264Context *h)
static void fill_mbaff_ref_list (H264Context *h)
static int pred_weight_table (H264Context *h)
static void implicit_weight_table (H264Context *h)
static int unreference_pic (H264Context *h, Picture *pic, int refmask)
 Mark a picture as no longer needed for reference.
static void idr (H264Context *h)
 instantaneous decoder refresh.
static void flush_dpb (AVCodecContext *avctx)
static Picturefind_short (H264Context *h, int frame_num, int *idx)
 Find a Picture in the short term reference list by frame number.
static void remove_short_at_index (H264Context *h, int i)
 Remove a picture from the short term reference list by its index in that list.
static Pictureremove_short (H264Context *h, int frame_num)
static void remove_long_at_index (H264Context *h, int i)
 Remove a picture from the long term reference list by its index in that list.
static Pictureremove_long (H264Context *h, int i)
static int execute_ref_pic_marking (H264Context *h, MMCO *mmco, int mmco_count)
 Executes the reference picture marking (memory management control operations).
static int decode_ref_pic_marking (H264Context *h, GetBitContext *gb)
static int init_poc (H264Context *h)
static void init_scan_tables (H264Context *h)
 initialize scan tables
static void clone_slice (H264Context *dst, H264Context *src)
 Replicates H264 "master" context to thread contexts.
static int decode_slice_header (H264Context *h, H264Context *h0)
 decodes a slice header.
static int get_level_prefix (GetBitContext *gb)
static int get_dct8x8_allowed (H264Context *h)
static int decode_residual (H264Context *h, GetBitContext *gb, DCTELEM *block, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff)
 decodes a residual block.
static void predict_field_decoding_flag (H264Context *h)
static void decode_mb_skip (H264Context *h)
 decodes a P_SKIP or B_SKIP macroblock
static int decode_mb_cavlc (H264Context *h)
 decodes a macroblock
static int decode_cabac_field_decoding_flag (H264Context *h)
static int decode_cabac_intra_mb_type (H264Context *h, int ctx_base, int intra_slice)
static int decode_cabac_mb_type (H264Context *h)
static int decode_cabac_mb_skip (H264Context *h, int mb_x, int mb_y)
static int decode_cabac_mb_intra4x4_pred_mode (H264Context *h, int pred_mode)
static int decode_cabac_mb_chroma_pre_mode (H264Context *h)
static int decode_cabac_mb_cbp_luma (H264Context *h)
static int decode_cabac_mb_cbp_chroma (H264Context *h)
static int decode_cabac_mb_dqp (H264Context *h)
static int decode_cabac_p_mb_sub_type (H264Context *h)
static int decode_cabac_b_mb_sub_type (H264Context *h)
static int decode_cabac_mb_transform_size (H264Context *h)
static int decode_cabac_mb_ref (H264Context *h, int list, int n)
static int decode_cabac_mb_mvd (H264Context *h, int list, int n, int l)
static int get_cabac_cbf_ctx (H264Context *h, int cat, int idx)
 DECLARE_ASM_CONST (1, const uint8_t, last_coeff_flag_offset_8x8[63])
static void decode_cabac_residual (H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint32_t *qmul, int max_coeff)
static void compute_mb_neighbors (H264Context *h)
static int decode_mb_cabac (H264Context *h)
 decodes a macroblock
static void filter_mb_edgev (H264Context *h, uint8_t *pix, int stride, int16_t bS[4], int qp)
static void filter_mb_edgecv (H264Context *h, uint8_t *pix, int stride, int16_t bS[4], int qp)
static void filter_mb_mbaff_edgev (H264Context *h, uint8_t *pix, int stride, int16_t bS[8], int qp[2])
static void filter_mb_mbaff_edgecv (H264Context *h, uint8_t *pix, int stride, int16_t bS[8], int qp[2])
static void filter_mb_edgeh (H264Context *h, uint8_t *pix, int stride, int16_t bS[4], int qp)
static void filter_mb_edgech (H264Context *h, uint8_t *pix, int stride, int16_t bS[4], int qp)
static int decode_slice (struct AVCodecContext *avctx, H264Context *h)
static int decode_unregistered_user_data (H264Context *h, int size)
static int decode_sei (H264Context *h)
static void decode_hrd_parameters (H264Context *h, SPS *sps)
static int decode_vui_parameters (H264Context *h, SPS *sps)
static void decode_scaling_list (H264Context *h, uint8_t *factors, int size, const uint8_t *jvt_list, const uint8_t *fallback_list)
static void decode_scaling_matrices (H264Context *h, SPS *sps, PPS *pps, int is_sps, uint8_t(*scaling_matrix4)[16], uint8_t(*scaling_matrix8)[64])
static void * alloc_parameter_set (H264Context *h, void **vec, const unsigned int id, const unsigned int max, const size_t size, const char *name)
 Returns and optionally allocates SPS / PPS structures in the supplied array 'vec'.
static int decode_seq_parameter_set (H264Context *h)
static void build_qp_table (PPS *pps, int t, int index)
static int decode_picture_parameter_set (H264Context *h, int bit_length)
static void execute_decode_slices (H264Context *h, int context_count)
 Call decode_slice() for each context.
static int decode_nal_units (H264Context *h, const uint8_t *buf, int buf_size)
static int get_consumed_bytes (MpegEncContext *s, int pos, int buf_size)
 returns the number of bytes consumed for building the current frame
static int decode_frame (AVCodecContext *avctx, void *data, int *data_size, const uint8_t *buf, int buf_size)
static int decode_end (AVCodecContext *avctx)

Variables

static VLC coeff_token_vlc [4]
static VLC chroma_dc_coeff_token_vlc
static VLC total_zeros_vlc [15]
static VLC chroma_dc_total_zeros_vlc [3]
static VLC run_vlc [6]
static VLC run7_vlc
const uint8_t ff_rem6 [52]
const uint8_t ff_div6 [52]
AVCodec h264_decoder


Detailed Description

H.264 / AVC / MPEG4 part10 codec.

Author:
Michael Niedermayer <michaelni@gmx.at>

Definition in file h264.c.


Define Documentation

#define CABAC_ON_STACK

#define CC   &cc

Referenced by decode_cabac_residual().

#define DECODE_SIGNIFICANCE ( coefs,
sig_off,
last_off   ) 

Value:

for(last= 0; last < coefs; last++) { \
            uint8_t *sig_ctx = significant_coeff_ctx_base + sig_off; \
            if( get_cabac( CC, sig_ctx )) { \
                uint8_t *last_ctx = last_coeff_ctx_base + last_off; \
                index[coeff_count++] = last; \
                if( get_cabac( CC, last_ctx ) ) { \
                    last= max_coeff; \
                    break; \
                } \
            } \
        }\
        if( last == max_coeff -1 ) {\
            index[coeff_count++] = last;\
        }

Referenced by decode_cabac_residual().

#define DELAYED_PIC_REF   4

Value of Picture.reference when Picture is not a reference picture, but is held for delayed output.

Definition at line 46 of file h264.c.

Referenced by decode_frame(), decode_slice_header(), and unreference_pic().

#define FILTER ( hv,
dir,
edge   ) 

Value:

if(bSv[dir][edge]) {\
            filter_mb_edge##hv( h, &img_y[4*edge*(dir?linesize:1)], linesize, bS[dir][edge], edge ? qp : qp##dir );\
            if(!(edge&1)) {\
                filter_mb_edgec##hv( h, &img_cb[2*edge*(dir?uvlinesize:1)], uvlinesize, bS[dir][edge], edge ? qpc : qpc##dir );\
                filter_mb_edgec##hv( h, &img_cr[2*edge*(dir?uvlinesize:1)], uvlinesize, bS[dir][edge], edge ? qpc : qpc##dir );\
            }\
        }

Referenced by filter_mb_fast().

#define MAP_F2F ( idx,
mb_type   ) 

Value:

if(IS_INTERLACED(mb_type) && h->ref_cache[list][idx] >= 0){\
                        h->ref_cache[list][idx] >>= 1;\
                        h->mv_cache[list][idx][1] <<= 1;\
                        h->mvd_cache[list][idx][1] <<= 1;\
                    }

#define MAP_F2F ( idx,
mb_type   ) 

Value:

if(!IS_INTERLACED(mb_type) && h->ref_cache[list][idx] >= 0){\
                        h->ref_cache[list][idx] <<= 1;\
                        h->mv_cache[list][idx][1] /= 2;\
                        h->mvd_cache[list][idx][1] /= 2;\
                    }

#define MAP_MVS

Value:

MAP_F2F(scan8[0] - 1 - 1*8, topleft_type)\
                    MAP_F2F(scan8[0] + 0 - 1*8, top_type)\
                    MAP_F2F(scan8[0] + 1 - 1*8, top_type)\
                    MAP_F2F(scan8[0] + 2 - 1*8, top_type)\
                    MAP_F2F(scan8[0] + 3 - 1*8, top_type)\
                    MAP_F2F(scan8[0] + 4 - 1*8, topright_type)\
                    MAP_F2F(scan8[0] - 1 + 0*8, left_type[0])\
                    MAP_F2F(scan8[0] - 1 + 1*8, left_type[0])\
                    MAP_F2F(scan8[0] - 1 + 2*8, left_type[1])\
                    MAP_F2F(scan8[0] - 1 + 3*8, left_type[1])

Referenced by fill_caches().

#define MB_TYPE_16x16_OR_INTRA   (MB_TYPE_16x16|MB_TYPE_INTRA4x4|MB_TYPE_INTRA16x16|MB_TYPE_INTRA_PCM)

Referenced by pred_direct_motion().

#define SET_DIAG_MV ( MV_OP,
REF_OP,
X4,
Y4   ) 

Value:

const int x4 = X4, y4 = Y4;\
                const int mb_type = mb_types[(x4>>2)+(y4>>2)*s->mb_stride];\
                if(!USES_LIST(mb_type,list))\
                    return LIST_NOT_USED;\
                mv = s->current_picture_ptr->motion_val[list][x4 + y4*h->b_stride];\
                h->mv_cache[list][scan8[0]-2][0] = mv[0];\
                h->mv_cache[list][scan8[0]-2][1] = mv[1] MV_OP;\
                return s->current_picture_ptr->ref_index[list][(x4>>1) + (y4>>1)*h->b8_stride] REF_OP;

Referenced by fetch_diagonal_mv().

#define stride   16

#define T (  )     (x>>3) | ((x&7)<<3)

#define T (  )     (x>>2) | ((x<<2) & 0xF)

#define XCHG ( a,
b,
t,
xchg   ) 

Value:

t= a;\
if(xchg)\
    a= b;\
b= t;

#define XCHG ( a,
b,
t,
xchg   ) 

Value:

t= a;\
if(xchg)\
    a= b;\
b= t;

Referenced by xchg_mb_border(), and xchg_pair_border().


Function Documentation

static void* alloc_parameter_set ( H264Context h,
void **  vec,
const unsigned int  id,
const unsigned int  max,
const size_t  size,
const char *  name 
) [static]

Returns and optionally allocates SPS / PPS structures in the supplied array 'vec'.

Definition at line 7132 of file h264.c.

Referenced by decode_picture_parameter_set(), and decode_seq_parameter_set().

static int alloc_tables ( H264Context h  )  [static]

allocates tables.

needs width/height

Definition at line 2093 of file h264.c.

Referenced by decode_slice_header(), and svq3_decode_frame().

static void backup_mb_border ( H264Context h,
uint8_t src_y,
uint8_t src_cb,
uint8_t src_cr,
int  linesize,
int  uvlinesize,
int  simple 
) [inline, static]

Definition at line 2259 of file h264.c.

Referenced by hl_decode_mb_internal().

static void backup_pair_border ( H264Context h,
uint8_t src_y,
uint8_t src_cb,
uint8_t src_cr,
int  linesize,
int  uvlinesize 
) [inline, static]

Definition at line 2344 of file h264.c.

Referenced by hl_decode_mb_internal().

static void build_qp_table ( PPS pps,
int  t,
int  index 
) [static]

Definition at line 7274 of file h264.c.

Referenced by decode_picture_parameter_set().

static int check_intra4x4_pred_mode ( H264Context h  )  [inline, static]

checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.

Definition at line 564 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and svq3_decode_mb().

static int check_intra_pred_mode ( H264Context h,
int  mode 
) [inline, static]

checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks.

Definition at line 600 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and svq3_decode_mb().

static void chroma_dc_dequant_idct_c ( DCTELEM block,
int  qp,
int  qmul 
) [static]

Definition at line 1541 of file h264.c.

Referenced by hl_decode_mb_internal().

static void clone_slice ( H264Context dst,
H264Context src 
) [static]

Replicates H264 "master" context to thread contexts.

Definition at line 3828 of file h264.c.

Referenced by decode_slice_header().

static void clone_tables ( H264Context dst,
H264Context src 
) [static]

Mimic alloc_tables(), but for every context thread.

Definition at line 2139 of file h264.c.

Referenced by decode_slice_header().

static void common_init ( H264Context h  )  [static]

Definition at line 2168 of file h264.c.

static void compute_mb_neighbors ( H264Context h  )  [inline, static]

Definition at line 5544 of file h264.c.

Referenced by decode_mb_cabac().

static int context_init ( H264Context h  )  [static]

Init context Allocate buffers which are not shared amongst multiple threads.

Definition at line 2159 of file h264.c.

Referenced by decode_slice_header().

DECLARE_ASM_CONST ( ,
const   uint8_t,
last_coeff_flag_offset_8x8  [63] 
)

static int decode_cabac_b_mb_sub_type ( H264Context h  )  [static]

Definition at line 5240 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_field_decoding_flag ( H264Context h  )  [static]

Definition at line 4990 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_intra_mb_type ( H264Context h,
int  ctx_base,
int  intra_slice 
) [static]

Definition at line 5009 of file h264.c.

Referenced by decode_cabac_mb_type().

static int decode_cabac_mb_cbp_chroma ( H264Context h  )  [static]

Definition at line 5191 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_cbp_luma ( H264Context h  )  [static]

Definition at line 5175 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_chroma_pre_mode ( H264Context h  )  [static]

Definition at line 5151 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_dqp ( H264Context h  )  [static]

Definition at line 5209 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_intra4x4_pred_mode ( H264Context h,
int  pred_mode 
) [static]

Definition at line 5135 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_mvd ( H264Context h,
int  list,
int  n,
int  l 
) [static]

Definition at line 5293 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_ref ( H264Context h,
int  list,
int  n 
) [static]

Definition at line 5261 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_skip ( H264Context h,
int  mb_x,
int  mb_y 
) [static]

Definition at line 5099 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_transform_size ( H264Context h  )  [inline, static]

Definition at line 5257 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_mb_type ( H264Context h  )  [static]

Definition at line 5042 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_cabac_p_mb_sub_type ( H264Context h  )  [static]

Definition at line 5231 of file h264.c.

Referenced by decode_mb_cabac().

static void decode_cabac_residual ( H264Context h,
DCTELEM block,
int  cat,
int  n,
const uint8_t scantable,
const uint32_t *  qmul,
int  max_coeff 
) [static]

Definition at line 5370 of file h264.c.

Referenced by decode_mb_cabac().

static int decode_end ( AVCodecContext avctx  )  [static]

Definition at line 8054 of file h264.c.

static int decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
const uint8_t buf,
int  buf_size 
) [static]

Definition at line 7628 of file h264.c.

static void decode_hrd_parameters ( H264Context h,
SPS sps 
) [inline, static]

Definition at line 6981 of file h264.c.

Referenced by decode_vui_parameters().

static int decode_init ( AVCodecContext avctx  )  [static]

Definition at line 2185 of file h264.c.

static void decode_init_vlc ( void   )  [static]

Definition at line 1954 of file h264.c.

Referenced by decode_init().

static int decode_mb_cabac ( H264Context h  )  [static]

decodes a macroblock

Returns:
0 if ok, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed

Definition at line 5576 of file h264.c.

Referenced by decode_slice().

static int decode_mb_cavlc ( H264Context h  )  [static]

decodes a macroblock

Returns:
0 if ok, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed

Definition at line 4496 of file h264.c.

Referenced by decode_slice().

static void decode_mb_skip ( H264Context h  )  [static]

decodes a P_SKIP or B_SKIP macroblock

Definition at line 4454 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static const uint8_t* decode_nal ( H264Context h,
const uint8_t src,
int *  dst_length,
int *  consumed,
int  length 
) [static]

Decodes a network abstraction layer unit.

Parameters:
consumed is the number of bytes used as input
length is the length of the array
dst_length is the number of decoded bytes FIXME here or a decode rbsp tailing?
Returns:
decoded bytes, might be src+1 if no escapes

Definition at line 1378 of file h264.c.

Referenced by decode_nal_units().

static int decode_nal_units ( H264Context h,
const uint8_t buf,
int  buf_size 
) [static]

< thread context

Definition at line 7428 of file h264.c.

Referenced by decode_frame().

static int decode_picture_parameter_set ( H264Context h,
int  bit_length 
) [inline, static]

Definition at line 7281 of file h264.c.

Referenced by decode_nal_units().

static int decode_rbsp_trailing ( H264Context h,
const uint8_t src 
) [static]

identifies the exact end of the bitstream

Returns:
the length of the trailing, or 0 if damaged

Definition at line 1445 of file h264.c.

Referenced by decode_nal_units().

static int decode_ref_pic_list_reordering ( H264Context h  )  [static]

Definition at line 3018 of file h264.c.

Referenced by decode_slice_header().

static int decode_ref_pic_marking ( H264Context h,
GetBitContext gb 
) [static]

Definition at line 3615 of file h264.c.

Referenced by decode_slice_header().

static int decode_residual ( H264Context h,
GetBitContext gb,
DCTELEM block,
int  n,
const uint8_t scantable,
const uint32_t *  qmul,
int  max_coeff 
) [static]

decodes a residual block.

Parameters:
n block index
scantable scantable
max_coeff number of coefficients in the block
Returns:
<0 if an error occured

Definition at line 4294 of file h264.c.

Referenced by decode_mb_cavlc().

static void decode_scaling_list ( H264Context h,
uint8_t factors,
int  size,
const uint8_t jvt_list,
const uint8_t fallback_list 
) [static]

Definition at line 7081 of file h264.c.

Referenced by decode_scaling_matrices().

static void decode_scaling_matrices ( H264Context h,
SPS sps,
PPS pps,
int  is_sps,
uint8_t(*)  scaling_matrix4[16],
uint8_t(*)  scaling_matrix8[64] 
) [static]

Definition at line 7100 of file h264.c.

Referenced by decode_picture_parameter_set(), and decode_seq_parameter_set().

static int decode_sei ( H264Context h  )  [static]

Definition at line 6949 of file h264.c.

Referenced by decode_nal_units().

static int decode_seq_parameter_set ( H264Context h  )  [inline, static]

Definition at line 7148 of file h264.c.

Referenced by decode_nal_units().

static int decode_slice ( struct AVCodecContext avctx,
H264Context h 
) [static]

Definition at line 6746 of file h264.c.

static int decode_slice_header ( H264Context h,
H264Context h0 
) [static]

decodes a slice header.

this will allso call MPV_common_init() and frame_start() as needed

Parameters:
h h264context
h0 h264 master context (differs from 'h' when doing sliced based parallel decoding)
Returns:
0 if okay, <0 if an error occured, 1 if decoding must not be multithreaded

Definition at line 3861 of file h264.c.

static int decode_unregistered_user_data ( H264Context h,
int  size 
) [static]

Definition at line 6923 of file h264.c.

Referenced by decode_sei().

static int decode_vui_parameters ( H264Context h,
SPS sps 
) [inline, static]

Definition at line 6998 of file h264.c.

Referenced by decode_seq_parameter_set().

static void direct_dist_scale_factor ( H264Context *const   h  )  [inline, static]

Definition at line 894 of file h264.c.

Referenced by decode_ref_pic_list_reordering().

static void direct_ref_list_init ( H264Context *const   h  )  [inline, static]

Definition at line 916 of file h264.c.

Referenced by decode_ref_pic_list_reordering().

static void execute_decode_slices ( H264Context h,
int  context_count 
) [static]

Call decode_slice() for each context.

Parameters:
h h264 master context
context_count number of contexts to execute

Definition at line 7398 of file h264.c.

Referenced by decode_nal_units().

static int execute_ref_pic_marking ( H264Context h,
MMCO mmco,
int  mmco_count 
) [static]

Executes the reference picture marking (memory management control operations).

Definition at line 3433 of file h264.c.

Referenced by decode_frame().

static int fetch_diagonal_mv ( H264Context h,
const int16_t **  C,
int  i,
int  list,
int  part_width 
) [inline, static]

Definition at line 690 of file h264.c.

Referenced by pred_8x16_motion(), and pred_motion().

static void fill_caches ( H264Context h,
int  mb_type,
int  for_deblock 
) [static]

Definition at line 79 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_mb_skip(), and hl_decode_mb_internal().

static int fill_default_ref_list ( H264Context h  )  [static]

fills the default_ref_list.

Definition at line 2841 of file h264.c.

Referenced by decode_slice_header().

static void fill_mbaff_ref_list ( H264Context h  )  [static]

Definition at line 3131 of file h264.c.

Referenced by decode_slice_header().

static void filter_mb ( H264Context h,
int  mb_x,
int  mb_y,
uint8_t img_y,
uint8_t img_cb,
uint8_t img_cr,
unsigned int  linesize,
unsigned int  uvlinesize 
) [static]

Definition at line 6485 of file h264.c.

Referenced by filter_mb_fast(), and hl_decode_mb_internal().

static void filter_mb_edgech ( H264Context h,
uint8_t pix,
int  stride,
int16_t  bS[4],
int  qp 
) [static]

Definition at line 6356 of file h264.c.

Referenced by filter_mb_fast().

static void filter_mb_edgecv ( H264Context h,
uint8_t pix,
int  stride,
int16_t  bS[4],
int  qp 
) [static]

Definition at line 6129 of file h264.c.

Referenced by filter_mb_fast().

static void filter_mb_edgeh ( H264Context h,
uint8_t pix,
int  stride,
int16_t  bS[4],
int  qp 
) [static]

Definition at line 6296 of file h264.c.

Referenced by filter_mb_fast().

static void filter_mb_edgev ( H264Context h,
uint8_t pix,
int  stride,
int16_t  bS[4],
int  qp 
) [static]

Definition at line 6068 of file h264.c.

Referenced by filter_mb_fast().

static void filter_mb_fast ( H264Context h,
int  mb_x,
int  mb_y,
uint8_t img_y,
uint8_t img_cb,
uint8_t img_cr,
unsigned int  linesize,
unsigned int  uvlinesize 
) [static]

Definition at line 6372 of file h264.c.

Referenced by hl_decode_mb_internal().

static void filter_mb_mbaff_edgecv ( H264Context h,
uint8_t pix,
int  stride,
int16_t  bS[8],
int  qp[2] 
) [static]

Definition at line 6243 of file h264.c.

Referenced by filter_mb().

static void filter_mb_mbaff_edgev ( H264Context h,
uint8_t pix,
int  stride,
int16_t  bS[8],
int  qp[2] 
) [static]

Definition at line 6145 of file h264.c.

Referenced by filter_mb().

static Picture* find_short ( H264Context h,
int  frame_num,
int *  idx 
) [static]

Find a Picture in the short term reference list by frame number.

Parameters:
frame_num frame number to search for
idx the index into h->short_ref where returned picture is found undefined if no picture found.
Returns:
pointer to the found picture, or NULL if no pic with the provided frame number is found

Definition at line 3327 of file h264.c.

Referenced by execute_ref_pic_marking(), and remove_short().

static void flush_dpb ( AVCodecContext avctx  )  [static]

Definition at line 3301 of file h264.c.

static int frame_start ( H264Context h  )  [static]

Definition at line 2217 of file h264.c.

Referenced by decode_frame(), decode_slice_header(), encode_frame(), and svq3_decode_frame().

static void free_tables ( H264Context h  )  [static]

Definition at line 1993 of file h264.c.

Referenced by alloc_tables(), decode_end(), and decode_slice_header().

static int get_cabac_cbf_ctx ( H264Context h,
int  cat,
int  idx 
) [inline, static]

Definition at line 5335 of file h264.c.

Referenced by decode_cabac_residual().

static int get_chroma_qp ( H264Context h,
int  t,
int  qscale 
) [inline, static]

gets the chroma qp.

Definition at line 1588 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_slice_header(), filter_mb(), filter_mb_fast(), and hl_decode_mb_internal().

static int get_consumed_bytes ( MpegEncContext s,
int  pos,
int  buf_size 
) [static]

returns the number of bytes consumed for building the current frame

Definition at line 7614 of file h264.c.

static int get_dct8x8_allowed ( H264Context h  )  [inline, static]

Definition at line 4277 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static int get_level_prefix ( GetBitContext gb  )  [inline, static]

Definition at line 4257 of file h264.c.

Referenced by decode_residual().

static void h264_luma_dc_dequant_idct_c ( DCTELEM block,
int  qp,
int  qmul 
) [static]

idct tranforms the 16 dc values and dequantize them.

Parameters:
qp quantization parameter

Definition at line 1462 of file h264.c.

Referenced by hl_decode_mb_internal().

static void hl_decode_mb ( H264Context h  )  [static]

Definition at line 2723 of file h264.c.

Referenced by decode_slice(), and svq3_decode_frame().

static void av_noinline hl_decode_mb_complex ( H264Context h  )  [static]

Process a macroblock; this handles edge cases, such as interlacing.

Definition at line 2719 of file h264.c.

Referenced by hl_decode_mb().

static av_always_inline void hl_decode_mb_internal ( H264Context h,
int  simple 
) [static]

Definition at line 2433 of file h264.c.

Referenced by hl_decode_mb_complex(), and hl_decode_mb_simple().

static void hl_decode_mb_simple ( H264Context h  )  [static]

Process a macroblock; this case avoids checks for expensive uncommon cases.

Definition at line 2712 of file h264.c.

Referenced by hl_decode_mb().

static void hl_motion ( H264Context h,
uint8_t dest_y,
uint8_t dest_cb,
uint8_t dest_cr,
qpel_mc_func(*)  qpix_put[16],
h264_chroma_mc_func chroma_put,
qpel_mc_func(*)  qpix_avg[16],
h264_chroma_mc_func chroma_avg,
h264_weight_func weight_op,
h264_biweight_func weight_avg 
) [static]

Definition at line 1867 of file h264.c.

Referenced by hl_decode_mb_internal().

static void idr ( H264Context h  )  [static]

instantaneous decoder refresh.

Definition at line 3282 of file h264.c.

Referenced by decode_nal_units(), and flush_dpb().

static void implicit_weight_table ( H264Context h  )  [static]

Definition at line 3214 of file h264.c.

Referenced by decode_slice_header().

static void init_dequant4_coeff_table ( H264Context h  )  [static]

Definition at line 2047 of file h264.c.

Referenced by init_dequant_tables().

static void init_dequant8_coeff_table ( H264Context h  )  [static]

Definition at line 2024 of file h264.c.

Referenced by init_dequant_tables().

static void init_dequant_tables ( H264Context h  )  [static]

Definition at line 2072 of file h264.c.

Referenced by alloc_tables(), and decode_slice_header().

static int init_poc ( H264Context h  )  [static]

Definition at line 3680 of file h264.c.

Referenced by decode_slice_header().

static void init_scan_tables ( H264Context h  )  [static]

initialize scan tables

Definition at line 3779 of file h264.c.

Referenced by decode_slice_header().

static void mc_dir_part ( H264Context h,
Picture pic,
int  n,
int  square,
int  chroma_height,
int  delta,
int  list,
uint8_t dest_y,
uint8_t dest_cb,
uint8_t dest_cr,
int  src_x_offset,
int  src_y_offset,
qpel_mc_func qpix_op,
h264_chroma_mc_func  chroma_op 
) [inline, static]

Definition at line 1671 of file h264.c.

static void mc_part ( H264Context h,
int  n,
int  square,
int  chroma_height,
int  delta,
uint8_t dest_y,
uint8_t dest_cb,
uint8_t dest_cr,
int  x_offset,
int  y_offset,
qpel_mc_func qpix_put,
h264_chroma_mc_func  chroma_put,
qpel_mc_func qpix_avg,
h264_chroma_mc_func  chroma_avg,
h264_weight_func weight_op,
h264_biweight_func weight_avg,
int  list0,
int  list1 
) [inline, static]

Definition at line 1833 of file h264.c.

Referenced by hl_motion().

static void mc_part_std ( H264Context h,
int  n,
int  square,
int  chroma_height,
int  delta,
uint8_t dest_y,
uint8_t dest_cb,
uint8_t dest_cr,
int  x_offset,
int  y_offset,
qpel_mc_func qpix_put,
h264_chroma_mc_func  chroma_put,
qpel_mc_func qpix_avg,
h264_chroma_mc_func  chroma_avg,
int  list0,
int  list1 
) [inline, static]

Definition at line 1732 of file h264.c.

static void mc_part_weighted ( H264Context h,
int  n,
int  square,
int  chroma_height,
int  delta,
uint8_t dest_y,
uint8_t dest_cb,
uint8_t dest_cr,
int  x_offset,
int  y_offset,
qpel_mc_func qpix_put,
h264_chroma_mc_func  chroma_put,
h264_weight_func  luma_weight_op,
h264_weight_func  chroma_weight_op,
h264_biweight_func  luma_weight_avg,
h264_biweight_func  chroma_weight_avg,
int  list0,
int  list1 
) [inline, static]

Definition at line 1766 of file h264.c.

Referenced by mc_part().

static av_always_inline uint32_t pack16to32 ( int  a,
int  b 
) [static]

static void pic_as_field ( Picture pic,
const int  parity 
) [static]

Definition at line 2739 of file h264.c.

Referenced by decode_ref_pic_list_reordering(), and split_field_copy().

static int pic_num_extract ( H264Context h,
int  pic_num,
int *  structure 
) [static]

Extract structure information about the picture described by pic_num in the current decoding context (frame or field).

Note that pic_num is picture number without wrapping (so, 0<=pic_num<max_pic_num).

Parameters:
pic_num picture number for which to extract structure information
structure one of PICT_XXX describing structure of picture with pic_num
Returns:
frame number (short term) or long term index of picture described by pic_num

Definition at line 3004 of file h264.c.

Referenced by decode_ref_pic_list_reordering(), and execute_ref_pic_marking().

static void pred_16x8_motion ( H264Context *const   h,
int  n,
int  list,
int  ref,
int *const   mx,
int *const   my 
) [inline, static]

gets the directionally predicted 16x8 MV.

Parameters:
n the block index
mx the x component of the predicted motion vector
my the y component of the predicted motion vector

Definition at line 809 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static void pred_8x16_motion ( H264Context *const   h,
int  n,
int  list,
int  ref,
int *const   mx,
int *const   my 
) [inline, static]

gets the directionally predicted 8x16 MV.

Parameters:
n the block index
mx the x component of the predicted motion vector
my the y component of the predicted motion vector

Definition at line 844 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static void pred_direct_motion ( H264Context *const   h,
int *  mb_type 
) [inline, static]

Definition at line 954 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and decode_mb_skip().

static int pred_intra_mode ( H264Context h,
int  n 
) [inline, static]

gets the predicted intra4x4 prediction mode.

Definition at line 632 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static void pred_motion ( H264Context *const   h,
int  n,
int  part_width,
int  list,
int  ref,
int *const   mx,
int *const   my 
) [inline, static]

gets the predicted MV.

Parameters:
n the block index
part_width the width of the partition (4, 8,16) -> (1, 2, 4)
mx the x component of the predicted motion vector
my the y component of the predicted motion vector

Definition at line 754 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), pred_16x8_motion(), pred_8x16_motion(), pred_direct_motion(), pred_pskip_motion(), and svq3_mc_dir().

static int pred_non_zero_count ( H264Context h,
int  n 
) [inline, static]

gets the predicted number of non zero coefficients.

Parameters:
n block index

Definition at line 677 of file h264.c.

Referenced by decode_residual().

static void pred_pskip_motion ( H264Context *const   h,
int *const   mx,
int *const   my 
) [inline, static]

Definition at line 875 of file h264.c.

Referenced by decode_mb_skip().

static int pred_weight_table ( H264Context h  )  [static]

Definition at line 3162 of file h264.c.

Referenced by decode_slice_header().

static void predict_field_decoding_flag ( H264Context h  )  [static]

Definition at line 4440 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static void prefetch_motion ( H264Context h,
int  list 
) [inline, static]

Definition at line 1851 of file h264.c.

Referenced by hl_motion(), and MPV_motion().

static void print_long_term ( H264Context h  )  [static]

print long term list

Definition at line 3417 of file h264.c.

Referenced by decode_ref_pic_list_reordering(), and execute_ref_pic_marking().

static void print_short_term ( H264Context h  )  [static]

print short term list

Definition at line 3403 of file h264.c.

Referenced by decode_ref_pic_list_reordering(), and execute_ref_pic_marking().

static int quantize_c ( DCTELEM block,
uint8_t scantable,
int  qscale,
int  intra,
int  separate_dc 
) [inline, static]

Definition at line 1594 of file h264.c.

static Picture* remove_long ( H264Context h,
int  i 
) [static]

Returns:
the removed picture or NULL if an error occurs

Definition at line 3390 of file h264.c.

Referenced by execute_ref_pic_marking().

static void remove_long_at_index ( H264Context h,
int  i 
) [static]

Remove a picture from the long term reference list by its index in that list.

This does no checking on the provided index; it is assumed to be valid. The removed entry is set to NULL. Other entries are unaffected.

Parameters:
i index into h->long_ref of picture to remove.

Definition at line 3381 of file h264.c.

Referenced by execute_ref_pic_marking(), and remove_long().

static Picture* remove_short ( H264Context h,
int  frame_num 
) [static]

Returns:
the removed picture or NULL if an error occurs

Definition at line 3360 of file h264.c.

Referenced by execute_ref_pic_marking().

static void remove_short_at_index ( H264Context h,
int  i 
) [static]

Remove a picture from the short term reference list by its index in that list.

This does no checking on the provided index; it is assumed to be valid. Other list entries are shifted down.

Parameters:
i index into h->short_ref of picture to remove.

Definition at line 3349 of file h264.c.

Referenced by execute_ref_pic_marking(), and remove_short().

static int split_field_copy ( Picture dest,
Picture src,
int  parity,
int  id_add 
) [static]

Definition at line 2749 of file h264.c.

Referenced by split_field_half_ref_list().

static int split_field_half_ref_list ( Picture dest,
int  dest_len,
Picture src,
int  src_len,
int  parity 
) [static]

Split one reference list into field parts, interleaving by parity as per H.264 spec section 8.2.4.2.5.

Output fields have their data pointers set to look at the actual start of data for that field.

Parameters:
dest output list
dest_len maximum number of fields to put in dest
src the source reference list containing fields and/or field pairs (aka short_ref/long_ref, or refFrameListXShortTerm/refFrameListLongTerm in spec-speak)
src_len number of Picture's in source (pairs and unmatched fields)
parity the parity of the picture being decoded/needing these ref pics (PICT_{TOP,BOTTOM}_FIELD)
Returns:
number of fields placed in dest

Definition at line 2778 of file h264.c.

Referenced by split_field_ref_list().

static int split_field_ref_list ( Picture dest,
int  dest_len,
Picture src,
int  src_len,
int  parity,
int  long_i 
) [static]

Split the reference frame list into a reference field list.

This implements H.264 spec 8.2.4.2.5 for a combined input list. The input list contains both reference field pairs and unmatched reference fields; it is ordered as spec describes RefPicListX for frames in 8.2.4.2.1 and 8.2.4.2.3, except that unmatched field pairs are also present. Conceptually this is equivalent to concatenation of refFrameListXShortTerm with refFrameListLongTerm.

Parameters:
dest output reference list where ordered fields are to be placed
dest_len max number of fields to place at dest
src source reference list, as described above
src_len number of pictures (pairs and unmatched fields) in src
parity parity of field being currently decoded (one of PICT_{TOP,BOTTOM}_FIELD)
long_i index into src array that holds first long reference picture, or src_len if no long refs present.

Definition at line 2825 of file h264.c.

Referenced by fill_default_ref_list().

static void svq3_add_idct_c ( uint8_t dst,
DCTELEM block,
int  stride,
int  qp,
int  dc 
) [static]

Referenced by hl_decode_mb_internal().

static void svq3_luma_dc_dequant_idct_c ( DCTELEM block,
int  qp 
) [static]

Referenced by hl_decode_mb_internal().

static int unreference_pic ( H264Context h,
Picture pic,
int  refmask 
) [inline, static]

Mark a picture as no longer needed for reference.

The refmask argument allows unreferencing of individual fields or the whole frame. If the picture becomes entirely unreferenced, but is being held for display purposes, it is marked as such.

Parameters:
refmask mask of fields to unreference; the mask is bitwise anded with the reference marking of pic
Returns:
non-zero if pic becomes entirely unreferenced (except possibly for display purposes) zero if one of the fields remains in reference

Definition at line 3261 of file h264.c.

Referenced by execute_ref_pic_marking(), and idr().

static void write_back_intra_pred_mode ( H264Context h  )  [inline, static]

Definition at line 548 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and svq3_decode_mb().

static void write_back_motion ( H264Context h,
int  mb_type 
) [inline, static]

Definition at line 1324 of file h264.c.

Referenced by decode_mb_cabac(), decode_mb_cavlc(), and decode_mb_skip().

static void write_back_non_zero_count ( H264Context h  )  [inline, static]

Definition at line 644 of file h264.c.

Referenced by decode_mb_cabac(), and decode_mb_cavlc().

static void xchg_mb_border ( H264Context h,
uint8_t src_y,
uint8_t src_cb,
uint8_t src_cr,
int  linesize,
int  uvlinesize,
int  xchg,
int  simple 
) [inline, static]

Definition at line 2289 of file h264.c.

Referenced by hl_decode_mb_internal().

static void xchg_pair_border ( H264Context h,
uint8_t src_y,
uint8_t src_cb,
uint8_t src_cr,
int  linesize,
int  uvlinesize,
int  xchg 
) [inline, static]

Definition at line 2381 of file h264.c.

Referenced by hl_decode_mb_internal().


Variable Documentation

Definition at line 49 of file h264.c.

Definition at line 52 of file h264.c.

VLC coeff_token_vlc[4] [static]

Definition at line 48 of file h264.c.

const uint8_t ff_div6[52]

Initial value:

{
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
}

Definition at line 74 of file h264.c.

Referenced by init_dequant4_coeff_table(), and init_dequant8_coeff_table().

const uint8_t ff_rem6[52]

Initial value:

{
0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3,
}

Definition at line 70 of file h264.c.

Referenced by init_dequant4_coeff_table(), and init_dequant8_coeff_table().

Initial value:

Definition at line 8070 of file h264.c.

VLC run7_vlc [static]

Definition at line 55 of file h264.c.

VLC run_vlc[6] [static]

Definition at line 54 of file h264.c.

VLC total_zeros_vlc[15] [static]

Definition at line 51 of file h264.c.


Generated on Thu Apr 2 07:16:12 2009 for ffmpeg by  doxygen 1.5.6