#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_t * | decode_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 Picture * | find_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 Picture * | remove_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 Picture * | remove_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 |
Definition in file h264.c.
#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 |
Referenced by apply_loop_filter(), avs_decode_frame(), bitplane_decoding(), check_bidir_mv(), chroma_dc_dequant_idct_c(), cmp(), copy_picture_attributes(), decode_13(), decode_frame(), decode_i2_frame(), decode_i_frame(), decode_p_frame(), doVertLowPass_TMPL(), encode_q_branch(), ff_apply_vector_2x2(), ff_apply_vector_4x4(), ff_h263_decode_mb(), ff_init_me(), ff_jpegls_decode_picture(), get_frame_mb(), h263_mv4_search(), h264_luma_dc_dequant_idct_c(), hl_decode_mb_internal(), idct_put(), init_mv4_ref(), init_ref(), interlaced_search(), main(), mpeg4_decode_partition_a(), msvideo1_decode_16bit(), msvideo1_decode_8bit(), pcx_decode_frame(), pixels16_TMPL(), pp_get_context(), preview_obmc(), ptx_decode_frame(), render_slice(), rpza_decode_stream(), sad_hpel_motion_search(), skip_check(), smc_decode_stream(), sunrast_decode_frame(), svq3_luma_dc_dequant_idct_c(), tempNoiseReducer_TMPL(), tiff_decode_tag(), txd_decode_frame(), vertClassify_TMPL(), vertX1Filter_TMPL(), vp56_size_changed(), xan_wc3_copy_pixel_run(), and xan_wc3_output_pixel_run().
#define T | ( | x | ) | (x>>3) | ((x&7)<<3) |
#define T | ( | x | ) | (x>>2) | ((x<<2) & 0xF) |
Referenced by get_context(), init_scan_tables(), predict(), wv_unpack_mono(), and x8_ac_compensation().
#define XCHG | ( | a, | |||
b, | |||||
t, | |||||
xchg | ) |
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 7136 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] |
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] |
static void build_qp_table | ( | PPS * | pps, | |
int | t, | |||
int | index | |||
) | [static] |
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] |
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] |
static void compute_mb_neighbors | ( | H264Context * | h | ) | [inline, static] |
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 | ( | 1 | , | |
const | uint8_t, | |||
last_coeff_flag_offset_8x8 | [63] | |||
) |
static int decode_cabac_b_mb_sub_type | ( | H264Context * | h | ) | [static] |
static int decode_cabac_field_decoding_flag | ( | H264Context * | h | ) | [static] |
static int decode_cabac_intra_mb_type | ( | H264Context * | h, | |
int | ctx_base, | |||
int | intra_slice | |||
) | [static] |
static int decode_cabac_mb_cbp_chroma | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_cbp_luma | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_chroma_pre_mode | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_dqp | ( | H264Context * | h | ) | [static] |
static int decode_cabac_mb_intra4x4_pred_mode | ( | H264Context * | h, | |
int | pred_mode | |||
) | [static] |
static int decode_cabac_mb_mvd | ( | H264Context * | h, | |
int | list, | |||
int | n, | |||
int | l | |||
) | [static] |
static int decode_cabac_mb_ref | ( | H264Context * | h, | |
int | list, | |||
int | n | |||
) | [static] |
static int decode_cabac_mb_skip | ( | H264Context * | h, | |
int | mb_x, | |||
int | mb_y | |||
) | [static] |
static int decode_cabac_mb_transform_size | ( | H264Context * | h | ) | [inline, static] |
static int decode_cabac_mb_type | ( | H264Context * | h | ) | [static] |
static int decode_cabac_p_mb_sub_type | ( | H264Context * | h | ) | [static] |
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] |
static int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
const uint8_t * | buf, | |||
int | buf_size | |||
) | [static] |
static void decode_hrd_parameters | ( | H264Context * | h, | |
SPS * | sps | |||
) | [inline, static] |
static int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void decode_init_vlc | ( | void | ) | [static] |
static int decode_mb_cabac | ( | H264Context * | h | ) | [static] |
decodes a macroblock
Definition at line 5576 of file h264.c.
Referenced by decode_slice().
static int decode_mb_cavlc | ( | H264Context * | h | ) | [static] |
decodes a macroblock
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.
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? |
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] |
static int decode_picture_parameter_set | ( | H264Context * | h, | |
int | bit_length | |||
) | [inline, static] |
static int decode_rbsp_trailing | ( | H264Context * | h, | |
const uint8_t * | src | |||
) | [static] |
identifies the exact end of the bitstream
Definition at line 1445 of file h264.c.
Referenced by decode_nal_units().
static int decode_ref_pic_list_reordering | ( | H264Context * | h | ) | [static] |
static int decode_ref_pic_marking | ( | H264Context * | h, | |
GetBitContext * | gb | |||
) | [static] |
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.
n | block index | |
scantable | scantable | |
max_coeff | number of coefficients in the block |
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] |
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 7104 of file h264.c.
Referenced by decode_picture_parameter_set(), and decode_seq_parameter_set().
static int decode_sei | ( | H264Context * | h | ) | [static] |
static int decode_seq_parameter_set | ( | H264Context * | h | ) | [inline, static] |
static int decode_slice | ( | struct AVCodecContext * | avctx, | |
H264Context * | h | |||
) | [static] |
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
h | h264context | |
h0 | h264 master context (differs from 'h' when doing sliced based parallel decoding) |
static int decode_unregistered_user_data | ( | H264Context * | h, | |
int | size | |||
) | [static] |
static int decode_vui_parameters | ( | H264Context * | h, | |
SPS * | sps | |||
) | [inline, static] |
static void direct_dist_scale_factor | ( | H264Context *const | h | ) | [inline, static] |
static void direct_ref_list_init | ( | H264Context *const | h | ) | [inline, static] |
static void execute_decode_slices | ( | H264Context * | h, | |
int | context_count | |||
) | [static] |
Call decode_slice() for each context.
h | h264 master context | |
context_count | number of contexts to execute |
Definition at line 7402 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] |
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] |
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] |
static void filter_mb_edgecv | ( | H264Context * | h, | |
uint8_t * | pix, | |||
int | stride, | |||
int16_t | bS[4], | |||
int | qp | |||
) | [static] |
static void filter_mb_edgeh | ( | H264Context * | h, | |
uint8_t * | pix, | |||
int | stride, | |||
int16_t | bS[4], | |||
int | qp | |||
) | [static] |
static void filter_mb_edgev | ( | H264Context * | h, | |
uint8_t * | pix, | |||
int | stride, | |||
int16_t | bS[4], | |||
int | qp | |||
) | [static] |
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] |
static void filter_mb_mbaff_edgecv | ( | H264Context * | h, | |
uint8_t * | pix, | |||
int | stride, | |||
int16_t | bS[8], | |||
int | qp[2] | |||
) | [static] |
static void filter_mb_mbaff_edgev | ( | H264Context * | h, | |
uint8_t * | pix, | |||
int | stride, | |||
int16_t | bS[8], | |||
int | qp[2] | |||
) | [static] |
static Picture* find_short | ( | H264Context * | h, | |
int | frame_num, | |||
int * | idx | |||
) | [static] |
Find a Picture in the short term reference list by frame number.
frame_num | frame number to search for | |
idx | the index into h->short_ref where returned picture is found undefined if no picture 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] |
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] |
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] |
static int get_dct8x8_allowed | ( | H264Context * | h | ) | [inline, static] |
static int get_level_prefix | ( | GetBitContext * | gb | ) | [inline, static] |
static void h264_luma_dc_dequant_idct_c | ( | DCTELEM * | block, | |
int | qp, | |||
int | qmul | |||
) | [static] |
idct tranforms the 16 dc values and dequantize them.
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] |
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] |
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] |
static void init_dequant4_coeff_table | ( | H264Context * | h | ) | [static] |
static void init_dequant8_coeff_table | ( | H264Context * | h | ) | [static] |
static void init_dequant_tables | ( | H264Context * | h | ) | [static] |
static int init_poc | ( | H264Context * | h | ) | [static] |
static void init_scan_tables | ( | H264Context * | h | ) | [static] |
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] |
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] |
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] |
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] |
static av_always_inline uint32_t pack16to32 | ( | int | a, | |
int | b | |||
) | [static] |
Definition at line 62 of file h264.c.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_mb_skip(), fill_caches(), pred_direct_motion(), and svq3_mc_dir().
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).
pic_num | picture number for which to extract structure information | |
structure | one of PICT_XXX describing structure of picture with 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.
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.
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.
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.
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] |
static int pred_weight_table | ( | H264Context * | h | ) | [static] |
static void predict_field_decoding_flag | ( | H264Context * | h | ) | [static] |
static void prefetch_motion | ( | H264Context * | h, | |
int | list | |||
) | [inline, static] |
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 Picture* remove_long | ( | H264Context * | h, | |
int | i | |||
) | [static] |
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.
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] |
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.
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_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.
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) |
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.
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().
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.
refmask | mask of fields to unreference; the mask is bitwise anded with the reference marking of pic |
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] |
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] |
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] |
VLC chroma_dc_coeff_token_vlc [static] |
VLC chroma_dc_total_zeros_vlc[3] [static] |
VLC coeff_token_vlc[4] [static] |
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().
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:
{ "h264", CODEC_TYPE_VIDEO, CODEC_ID_H264, sizeof(H264Context), decode_init, NULL, decode_end, decode_frame, CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY, .flush= flush_dpb, }
VLC total_zeros_vlc[15] [static] |