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

Go to the source code of this file.
Data Structures | |
| struct | SPS |
| struct | PPS |
| struct | MMCO |
| struct | H264Context |
Defines | |
| #define | interlaced_dct interlaced_dct_is_a_bad_name |
| #define | mb_intra mb_intra_isnt_initalized_see_mb_type |
| #define | LUMA_DC_BLOCK_INDEX 25 |
| #define | CHROMA_DC_BLOCK_INDEX 26 |
| #define | CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
| #define | COEFF_TOKEN_VLC_BITS 8 |
| #define | TOTAL_ZEROS_VLC_BITS 9 |
| #define | CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
| #define | RUN_VLC_BITS 3 |
| #define | RUN7_VLC_BITS 6 |
| #define | MAX_SPS_COUNT 32 |
| #define | MAX_PPS_COUNT 256 |
| #define | MAX_MMCO_COUNT 66 |
| #define | NAL_SLICE 1 |
| #define | NAL_DPA 2 |
| #define | NAL_DPB 3 |
| #define | NAL_DPC 4 |
| #define | NAL_IDR_SLICE 5 |
| #define | NAL_SEI 6 |
| #define | NAL_SPS 7 |
| #define | NAL_PPS 8 |
| #define | NAL_PICTURE_DELIMITER 9 |
| #define | NAL_FILTER_DATA 10 |
| #define | LIST_NOT_USED -1 |
| #define | PART_NOT_AVAILABLE -2 |
| #define | stride 16 |
| #define | LOAD_TOP_RIGHT_EDGE |
| #define | LOAD_LEFT_EDGE |
| #define | LOAD_TOP_EDGE |
| #define | SRC(x, y) src[(x)+(y)*stride] |
| #define | PL(y) const int l##y = (SRC(-1,y-1) + 2*SRC(-1,y) + SRC(-1,y+1) + 2) >> 2; |
| #define | PREDICT_8x8_LOAD_LEFT |
| #define | PT(x) const int t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2; |
| #define | PREDICT_8x8_LOAD_TOP |
| #define | PTR(x) t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2; |
| #define | PREDICT_8x8_LOAD_TOPRIGHT |
| #define | PREDICT_8x8_LOAD_TOPLEFT const int lt = (SRC(-1,0) + 2*SRC(-1,-1) + SRC(0,-1) + 2) >> 2 |
| #define | PREDICT_8x8_DC(v) |
| #define | ROW(y) |
| #define | XCHG(a, b, t, xchg) |
| #define | XCHG(a, b, t, xchg) |
| #define | T(x) (x>>2) | ((x<<2) & 0xF) |
Enumerations | |
| enum | MMCOOpcode { MMCO_END = 0, MMCO_SHORT2UNUSED, MMCO_LONG2UNUSED, MMCO_SHORT2LONG, MMCO_SET_MAX_LONG, MMCO_RESET, MMCO_LONG } |
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 uint32_t | pack16to32 (int a, int b) |
| static void | fill_rectangle (void *vp, int w, int h, int stride, uint32_t val, int size) |
| 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) |
| static int | check_intra_pred_mode (H264Context *h, int mode) |
| static int | pred_intra_mode (H264Context *h, int n) |
| static void | write_back_non_zero_count (H264Context *h) |
| static int | pred_non_zero_count (H264Context *h, int n) |
| 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) |
| static void | pred_16x8_motion (H264Context *const h, int n, int list, int ref, int *const mx, int *const my) |
| static void | pred_8x16_motion (H264Context *const h, int n, int list, int ref, int *const mx, int *const my) |
| 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 uint8_t * | decode_nal (H264Context *h, uint8_t *src, int *dst_length, int *consumed, int length) |
| static int | decode_rbsp_trailing (uint8_t *src) |
| static void | h264_luma_dc_dequant_idct_c (DCTELEM *block, int qp) |
| static void | chroma_dc_dequant_idct_c (DCTELEM *block, int qp) |
| static int | get_chroma_qp (int chroma_qp_index_offset, int qscale) |
| static int | quantize_c (DCTELEM *block, uint8_t *scantable, int qscale, int intra, int seperate_dc) |
| static void | pred4x4_vertical_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_horizontal_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_dc_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_left_dc_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_top_dc_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_128_dc_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_down_right_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_down_left_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_vertical_right_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_vertical_left_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_horizontal_up_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred4x4_horizontal_down_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred16x16_vertical_c (uint8_t *src, int stride) |
| static void | pred16x16_horizontal_c (uint8_t *src, int stride) |
| static void | pred16x16_dc_c (uint8_t *src, int stride) |
| static void | pred16x16_left_dc_c (uint8_t *src, int stride) |
| static void | pred16x16_top_dc_c (uint8_t *src, int stride) |
| static void | pred16x16_128_dc_c (uint8_t *src, int stride) |
| static void | pred16x16_plane_compat_c (uint8_t *src, int stride, const int svq3) |
| static void | pred16x16_plane_c (uint8_t *src, int stride) |
| static void | pred8x8_vertical_c (uint8_t *src, int stride) |
| static void | pred8x8_horizontal_c (uint8_t *src, int stride) |
| static void | pred8x8_128_dc_c (uint8_t *src, int stride) |
| static void | pred8x8_left_dc_c (uint8_t *src, int stride) |
| static void | pred8x8_top_dc_c (uint8_t *src, int stride) |
| static void | pred8x8_dc_c (uint8_t *src, int stride) |
| static void | pred8x8_plane_c (uint8_t *src, int stride) |
| static void | pred8x8l_128_dc_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_left_dc_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_top_dc_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_dc_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_horizontal_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_vertical_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_down_left_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_down_right_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_vertical_right_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_horizontal_down_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_vertical_left_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| static void | pred8x8l_horizontal_up_c (uint8_t *src, int has_topleft, int has_topright, int stride) |
| 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 | 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 (H264Context *h) |
| static void | init_pred_ptrs (H264Context *h) |
| static void | free_tables (H264Context *h) |
| static int | alloc_tables (H264Context *h) |
| static void | common_init (H264Context *h) |
| static int | decode_init (AVCodecContext *avctx) |
| static void | 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) |
| 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) |
| 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 void | hl_decode_mb (H264Context *h) |
| static int | fill_default_ref_list (H264Context *h) |
| static void | print_short_term (H264Context *h) |
| static void | print_long_term (H264Context *h) |
| static int | decode_ref_pic_list_reordering (H264Context *h) |
| static int | pred_weight_table (H264Context *h) |
| static void | implicit_weight_table (H264Context *h) |
| static void | unreference_pic (H264Context *h, Picture *pic) |
| static void | idr (H264Context *h) |
| static void | flush_dpb (AVCodecContext *avctx) |
| static Picture * | remove_short (H264Context *h, int frame_num) |
| static Picture * | remove_long (H264Context *h, int i) |
| static int | execute_ref_pic_marking (H264Context *h, MMCO *mmco, int mmco_count) |
| static int | decode_ref_pic_marking (H264Context *h) |
| static int | init_poc (H264Context *h) |
| static int | decode_slice_header (H264Context *h) |
| 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 uint16_t *qmul, int max_coeff) |
| static void | decode_mb_skip (H264Context *h) |
| static int | decode_mb_cavlc (H264Context *h) |
| 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) |
| 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) |
| static int | decode_cabac_residual (H264Context *h, DCTELEM *block, int cat, int n, const uint8_t *scantable, const uint16_t *qmul, int max_coeff) |
| void | compute_mb_neighboors (H264Context *h) |
| static int | decode_mb_cabac (H264Context *h) |
| static void | filter_mb_edgev (H264Context *h, uint8_t *pix, int stride, int bS[4], int qp) |
| static void | filter_mb_edgecv (H264Context *h, uint8_t *pix, int stride, int bS[4], int qp) |
| static void | filter_mb_mbaff_edgev (H264Context *h, uint8_t *pix, int stride, int bS[8], int qp[2]) |
| static void | filter_mb_mbaff_edgecv (H264Context *h, uint8_t *pix, int stride, int bS[4], int qp[2]) |
| static void | filter_mb_edgeh (H264Context *h, uint8_t *pix, int stride, int bS[4], int qp) |
| static void | filter_mb_edgech (H264Context *h, uint8_t *pix, int stride, int bS[4], int qp) |
| static int | decode_slice (H264Context *h) |
| static void | decode_hrd_parameters (H264Context *h, SPS *sps) |
| static int | decode_vui_parameters (H264Context *h, SPS *sps) |
| static int | decode_seq_parameter_set (H264Context *h) |
| static int | decode_picture_parameter_set (H264Context *h, int bit_length) |
| static int | find_frame_end (H264Context *h, const uint8_t *buf, int buf_size) |
| static int | h264_parse (AVCodecParserContext *s, AVCodecContext *avctx, uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size) |
| static int | h264_split (AVCodecContext *avctx, const uint8_t *buf, int buf_size) |
| static int | decode_nal_units (H264Context *h, uint8_t *buf, int buf_size) |
| static int | get_consumed_bytes (MpegEncContext *s, int pos, int buf_size) |
| static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, 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 |
| static const uint8_t | block_idx_x [16] |
| static const uint8_t | block_idx_y [16] |
| static const uint8_t | block_idx_xy [4][4] |
| AVCodec | h264_decoder |
| AVCodecParser | h264_parser |
Definition in file h264.c.
| #define CHROMA_DC_BLOCK_INDEX 26 |
| #define CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
| #define CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
| #define COEFF_TOKEN_VLC_BITS 8 |
| #define LIST_NOT_USED -1 |
Definition at line 201 of file h264.c.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), fill_caches(), and write_back_motion().
| #define LOAD_LEFT_EDGE |
Value:
const int l0= src[-1+0*stride];\ const int l1= src[-1+1*stride];\ const int l2= src[-1+2*stride];\ const int l3= src[-1+3*stride];\
Definition at line 1899 of file h264.c.
Referenced by pred4x4_down_left_svq3_c(), pred4x4_down_right_c(), pred4x4_horizontal_down_c(), pred4x4_horizontal_up_c(), and pred4x4_vertical_right_c().
| #define LOAD_TOP_EDGE |
Value:
const int t0= src[ 0-1*stride];\ const int t1= src[ 1-1*stride];\ const int t2= src[ 2-1*stride];\ const int t3= src[ 3-1*stride];\
Definition at line 1905 of file h264.c.
Referenced by pred4x4_down_left_c(), pred4x4_down_left_svq3_c(), pred4x4_down_right_c(), pred4x4_horizontal_down_c(), pred4x4_vertical_left_c(), and pred4x4_vertical_right_c().
| #define LOAD_TOP_RIGHT_EDGE |
Value:
const int t4= topright[0];\ const int t5= topright[1];\ const int t6= topright[2];\ const int t7= topright[3];\
Definition at line 1893 of file h264.c.
Referenced by pred4x4_down_left_c(), and pred4x4_vertical_left_c().
| #define LUMA_DC_BLOCK_INDEX 25 |
| #define MAX_MMCO_COUNT 66 |
| #define NAL_DPA 2 |
| #define NAL_DPB 3 |
| #define NAL_DPC 4 |
| #define NAL_FILTER_DATA 10 |
| #define NAL_IDR_SLICE 5 |
Definition at line 149 of file h264.c.
Referenced by decode_nal_units(), decode_ref_pic_marking(), decode_slice_header(), and init_poc().
| #define NAL_PICTURE_DELIMITER 9 |
| #define NAL_PPS 8 |
| #define NAL_SEI 6 |
| #define NAL_SLICE 1 |
| #define NAL_SPS 7 |
| #define PART_NOT_AVAILABLE -2 |
Definition at line 202 of file h264.c.
Referenced by direct_ref_list_init(), fetch_diagonal_mv(), fill_caches(), pred_motion(), pred_pskip_motion(), svq3_decode_frame(), and svq3_decode_mb().
| #define PL | ( | y | ) | const int l##y = (SRC(-1,y-1) + 2*SRC(-1,y) + SRC(-1,y+1) + 2) >> 2; |
| #define PREDICT_8x8_DC | ( | v | ) |
Value:
int y; \ for( y = 0; y < 8; y++ ) { \ ((uint32_t*)src)[0] = \ ((uint32_t*)src)[1] = v; \ src += stride; \ }
Definition at line 2346 of file h264.c.
Referenced by pred8x8l_128_dc_c(), pred8x8l_dc_c(), pred8x8l_left_dc_c(), and pred8x8l_top_dc_c().
| #define PREDICT_8x8_LOAD_LEFT |
Value:
const int l0 = ((has_topleft ? SRC(-1,-1) : SRC(-1,0)) \ + 2*SRC(-1,0) + SRC(-1,1) + 2) >> 2; \ PL(1) PL(2) PL(3) PL(4) PL(5) PL(6) \ const int l7 = (SRC(-1,6) + 3*SRC(-1,7) + 2) >> 2
Definition at line 2319 of file h264.c.
Referenced by pred8x8l_dc_c(), pred8x8l_down_right_c(), pred8x8l_horizontal_c(), pred8x8l_horizontal_down_c(), pred8x8l_horizontal_up_c(), pred8x8l_left_dc_c(), and pred8x8l_vertical_right_c().
| #define PREDICT_8x8_LOAD_TOP |
Value:
const int t0 = ((has_topleft ? SRC(-1,-1) : SRC(0,-1)) \ + 2*SRC(0,-1) + SRC(1,-1) + 2) >> 2; \ PT(1) PT(2) PT(3) PT(4) PT(5) PT(6) \ const int t7 = ((has_topright ? SRC(8,-1) : SRC(7,-1)) \ + 2*SRC(7,-1) + SRC(6,-1) + 2) >> 2
Definition at line 2327 of file h264.c.
Referenced by pred8x8l_dc_c(), pred8x8l_down_left_c(), pred8x8l_down_right_c(), pred8x8l_horizontal_down_c(), pred8x8l_top_dc_c(), pred8x8l_vertical_c(), pred8x8l_vertical_left_c(), and pred8x8l_vertical_right_c().
| #define PREDICT_8x8_LOAD_TOPLEFT const int lt = (SRC(-1,0) + 2*SRC(-1,-1) + SRC(0,-1) + 2) >> 2 |
Definition at line 2343 of file h264.c.
Referenced by pred8x8l_down_right_c(), pred8x8l_horizontal_down_c(), and pred8x8l_vertical_right_c().
| #define PREDICT_8x8_LOAD_TOPRIGHT |
Value:
int t8, t9, t10, t11, t12, t13, t14, t15; \ if(has_topright) { \ PTR(8) PTR(9) PTR(10) PTR(11) PTR(12) PTR(13) PTR(14) \ t15 = (SRC(14,-1) + 3*SRC(15,-1) + 2) >> 2; \ } else t8=t9=t10=t11=t12=t13=t14=t15= SRC(7,-1);
Definition at line 2336 of file h264.c.
Referenced by pred8x8l_down_left_c(), and pred8x8l_vertical_left_c().
| #define PT | ( | x | ) | const int t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2; |
| #define PTR | ( | x | ) | t##x = (SRC(x-1,-1) + 2*SRC(x,-1) + SRC(x+1,-1) + 2) >> 2; |
| #define ROW | ( | y | ) |
Value:
Referenced by pred8x8l_horizontal_c().
| #define RUN7_VLC_BITS 6 |
| #define RUN_VLC_BITS 3 |
| #define SRC | ( | x, | |||
| y | ) | src[(x)+(y)*stride] |
Definition at line 2316 of file h264.c.
Referenced by pred8x8l_down_left_c(), pred8x8l_down_right_c(), pred8x8l_horizontal_down_c(), pred8x8l_horizontal_up_c(), pred8x8l_vertical_left_c(), and pred8x8l_vertical_right_c().
| #define stride 16 |
Referenced by apply_loop_filter(), check_bidir_mv(), chroma_dc_dequant_idct_c(), cmp(), copy_picture_attributes(), decode_frame(), decode_i_frame(), decode_p_frame(), doVertLowPass(), encode_frame(), encode_q_branch(), ff_h263_decode_mb(), h263_mv4_search(), h264_luma_dc_dequant_idct_c(), idct_put(), init_mv4_ref(), init_ref(), interlaced_search(), mpeg4_decode_partition_a(), msvideo1_decode_16bit(), msvideo1_decode_8bit(), pp_get_context(), preview_obmc(), render_fragments(), render_slice(), rpza_decode_stream(), sad_hpel_motion_search(), smc_decode_stream(), svq3_luma_dc_dequant_idct_c(), tempNoiseReducer(), vertX1Filter(), w_c(), xan_wc3_copy_pixel_run(), and xan_wc3_output_pixel_run().
| #define T | ( | x | ) | (x>>2) | ((x<<2) & 0xF) |
Referenced by decode_slice_header(), get_context(), BurnMain::HSItoRGB(), interpolate(), and predict().
| #define TOTAL_ZEROS_VLC_BITS 9 |
| enum MMCOOpcode |
| static int alloc_tables | ( | H264Context * | h | ) | [static] |
allocates tables. needs width/height
Definition at line 2925 of file h264.c.
References H264Context::b8_stride, H264Context::b_stride, PPS::cabac, H264Context::cbp_table, H264Context::chroma_pred_mode_table, H264Context::dequant4_coeff, H264Context::dequant8_coeff, dequant8_coeff_init, dequant8_coeff_init_scan, dequant_coeff, H264Context::direct_table, div6, free_tables(), H264Context::intra4x4_pred_mode, H264Context::mb2b8_xy, H264Context::mb2b_xy, MpegEncContext::mb_height, MpegEncContext::mb_stride, MpegEncContext::mb_width, memcpy, H264Context::mvd_table, H264Context::non_zero_count, NULL, MpegEncContext::obmc_scratchpad, H264Context::pps, rem6, H264Context::s, s, shift(), H264Context::slice_table, H264Context::slice_table_base, H264Context::sps, H264Context::top_borders, and SPS::transform_bypass.

| static void backup_mb_border | ( | H264Context * | h, | |
| uint8_t * | src_y, | |||
| uint8_t * | src_cb, | |||
| uint8_t * | src_cr, | |||
| int | linesize, | |||
| int | uvlinesize | |||
| ) | [inline, static] |
Definition at line 3059 of file h264.c.
References CODEC_FLAG_GRAY, MpegEncContext::flags, H264Context::left_border, MpegEncContext::mb_x, H264Context::s, s, and H264Context::top_borders.
Referenced by hl_decode_mb().
| 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 3134 of file h264.c.
References CODEC_FLAG_GRAY, MpegEncContext::flags, H264Context::left_border, MpegEncContext::mb_x, H264Context::s, s, and H264Context::top_borders.
Referenced by hl_decode_mb().
| 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 877 of file h264.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, DC_128_PRED, H264Context::intra4x4_pred_mode_cache, LEFT_DC_PRED, H264Context::left_samples_available, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, s, scan8, TOP_DC_PRED, and H264Context::top_samples_available.
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 913 of file h264.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, DC_128_PRED8x8, LEFT_DC_PRED8x8, H264Context::left_samples_available, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, s, TOP_DC_PRED8x8, and H264Context::top_samples_available.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), and svq3_decode_mb().

| static void chroma_dc_dequant_idct_c | ( | DCTELEM * | block, | |
| int | qp | |||
| ) | [static] |
Definition at line 1674 of file h264.c.
References a, b, c, dequant_coeff, e, and stride.
Referenced by hl_decode_mb().
| static void common_init | ( | H264Context * | h | ) | [static] |
Definition at line 2988 of file h264.c.
References MpegEncContext::avctx, AVCodecContext::codec, MpegEncContext::codec_id, MpegEncContext::decode, AVCodecContext::height, MpegEncContext::height, AVCodec::id, init_pred_ptrs(), H264Context::s, s, MpegEncContext::unrestricted_mv, AVCodecContext::width, and MpegEncContext::width.

| void compute_mb_neighboors | ( | H264Context * | h | ) | [inline] |
Definition at line 5632 of file h264.c.
References MpegEncContext::current_picture, IS_INTERLACED, H264Context::left_mb_xy, H264Context::mb_aff_frame, H264Context::mb_field_decoding_flag, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, s, and H264Context::top_mb_xy.
Referenced by decode_mb_cabac().
| static int decode_cabac_b_mb_sub_type | ( | H264Context * | h | ) | [static] |
Definition at line 5375 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, and get_cabac().
Referenced by decode_mb_cabac().

| static int decode_cabac_field_decoding_flag | ( | H264Context * | h | ) | [static] |
Definition at line 5076 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, MpegEncContext::current_picture, get_cabac(), IS_INTERLACED, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, s, H264Context::slice_num, and H264Context::slice_table.
Referenced by decode_mb_cabac().

| static int decode_cabac_intra_mb_type | ( | H264Context * | h, | |
| int | ctx_base, | |||
| int | intra_slice | |||
| ) | [static] |
Definition at line 5095 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, MpegEncContext::current_picture, get_cabac(), get_cabac_terminate(), IS_INTRA4x4, H264Context::left_mb_xy, H264Context::s, s, H264Context::slice_num, H264Context::slice_table, and H264Context::top_mb_xy.
Referenced by decode_cabac_mb_type().

| static int decode_cabac_mb_cbp_chroma | ( | H264Context * | h | ) | [static] |
Definition at line 5321 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, get_cabac(), and H264Context::left_cbp.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_cbp_luma | ( | H264Context * | h | ) | [static] |
Definition at line 5272 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, get_cabac(), H264Context::left_cbp, H264Context::left_mb_xy, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, s, H264Context::slice_num, H264Context::slice_table, H264Context::top_cbp, H264Context::top_mb_xy, and tprintf.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_chroma_pre_mode | ( | H264Context * | h | ) | [static] |
Definition at line 5235 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, H264Context::chroma_pred_mode_table, get_cabac(), H264Context::left_mb_xy, H264Context::slice_num, H264Context::slice_table, and H264Context::top_mb_xy.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_dqp | ( | H264Context * | h | ) | [static] |
Definition at line 5339 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, H264Context::cbp_table, MpegEncContext::current_picture, get_cabac(), IS_INTRA16x16, H264Context::last_qscale_diff, MpegEncContext::mb_stride, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, and s.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_intra4x4_pred_mode | ( | H264Context * | h, | |
| int | pred_mode | |||
| ) | [static] |
Definition at line 5217 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, and get_cabac().
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_mvd | ( | H264Context * | h, | |
| int | list, | |||
| int | n, | |||
| int | l | |||
| ) | [static] |
Definition at line 5424 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, get_cabac(), get_cabac_bypass(), and scan8.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_ref | ( | H264Context * | h, | |
| int | list, | |||
| int | n | |||
| ) | [static] |
Definition at line 5396 of file h264.c.
References B_TYPE, H264Context::cabac, H264Context::cabac_state, H264Context::direct_cache, get_cabac(), scan8, and H264Context::slice_type.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_skip | ( | H264Context * | h | ) | [static] |
Definition at line 5199 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, MpegEncContext::current_picture, get_cabac(), IS_SKIP, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, P_TYPE, H264Context::s, s, H264Context::slice_num, H264Context::slice_table, H264Context::slice_type, and SP_TYPE.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_transform_size | ( | H264Context * | h | ) | [inline, static] |
Definition at line 5392 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, get_cabac(), and H264Context::neighbor_transform_size.
Referenced by decode_mb_cabac().

| static int decode_cabac_mb_type | ( | H264Context * | h | ) | [static] |
Definition at line 5136 of file h264.c.
References B_TYPE, bits, H264Context::cabac, H264Context::cabac_state, MpegEncContext::current_picture, decode_cabac_intra_mb_type(), get_cabac(), I_TYPE, IS_DIRECT, IS_SKIP, H264Context::left_mb_xy, P_TYPE, H264Context::s, s, H264Context::slice_num, H264Context::slice_table, H264Context::slice_type, and H264Context::top_mb_xy.
Referenced by decode_mb_cabac().

| static int decode_cabac_p_mb_sub_type | ( | H264Context * | h | ) | [static] |
Definition at line 5366 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, and get_cabac().
Referenced by decode_mb_cabac().

| static int decode_cabac_residual | ( | H264Context * | h, | |
| DCTELEM * | block, | |||
| int | cat, | |||
| int | n, | |||
| const uint8_t * | scantable, | |||
| const uint16_t * | qmul, | |||
| int | max_coeff | |||
| ) | [inline, static] |
Definition at line 5491 of file h264.c.
References H264Context::cabac, H264Context::cabac_state, H264Context::cbp_table, fill_rectangle(), get_cabac(), get_cabac_bypass(), get_cabac_cbf_ctx(), H264Context::mb_field_decoding_flag, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::s, and scan8.
Referenced by decode_mb_cabac().

| static int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 7730 of file h264.c.
References free_tables(), MPV_common_end(), AVCodecContext::priv_data, and H264Context::s.

| static int decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 7372 of file h264.c.
References av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, B_TYPE, BE_16, SPS::bitstream_restriction_flag, CODEC_FLAG_TRUNCATED, MpegEncContext::current_picture_ptr, decode_nal_units(), H264Context::delayed_output_pic, H264Context::delayed_pic, AVCodecContext::extradata, AVCodecContext::extradata_size, ff_combine_frame(), ff_print_debug_info(), find_frame_end(), AVCodecContext::flags, MpegEncContext::flags, AVCodecContext::flags2, MpegEncContext::flags2, AVCodecContext::frame_number, get_consumed_bytes(), H264Context::got_avcC, AVCodecContext::has_b_frames, H264Context::is_avc, MpegEncContext::low_delay, H264Context::nal_length_size, SPS::num_reorder_frames, MpegEncContext::parse_context, MpegEncContext::picture_number, Picture::poc, AVCodecContext::priv_data, H264Context::s, s, and H264Context::sps.

| static void decode_hrd_parameters | ( | H264Context * | h, | |
| SPS * | sps | |||
| ) | [inline, static] |
Definition at line 6830 of file h264.c.
References MpegEncContext::gb, get_bits(), get_bits1(), get_ue_golomb(), H264Context::s, and s.
Referenced by decode_vui_parameters().

| static int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 3001 of file h264.c.
References MpegEncContext::avctx, common_init(), decode_init_vlc(), AVCodecContext::extradata, AVCodecContext::extradata_size, FMT_H264, H264Context::got_avcC, H264Context::is_avc, MpegEncContext::low_delay, MPV_decode_defaults(), MpegEncContext::out_format, AVCodecContext::pix_fmt, PIX_FMT_YUV420P, AVCodecContext::priv_data, H264Context::s, s, AVCodecContext::workaround_bugs, and MpegEncContext::workaround_bugs.

| static void decode_init_vlc | ( | H264Context * | h | ) | [static] |
Definition at line 2811 of file h264.c.
References chroma_dc_coeff_token_bits, chroma_dc_coeff_token_len, CHROMA_DC_COEFF_TOKEN_VLC_BITS, chroma_dc_total_zeros_bits, chroma_dc_total_zeros_len, CHROMA_DC_TOTAL_ZEROS_VLC_BITS, coeff_token_bits, coeff_token_len, COEFF_TOKEN_VLC_BITS, init_vlc(), RUN7_VLC_BITS, run_bits, run_len, RUN_VLC_BITS, total_zeros_bits, total_zeros_len, and TOTAL_ZEROS_VLC_BITS.
Referenced by decode_init().

| static int decode_mb_cabac | ( | H264Context * | h | ) | [static] |
decodes a macroblock
Definition at line 5662 of file h264.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, b_mb_type_info, b_sub_mb_type_info, B_TYPE, CABACContext::bytestream, CABACContext::bytestream_end, c, H264Context::cabac, CABAC_BITS, IMbInfo::cbp, H264Context::cbp_table, check_intra4x4_pred_mode(), check_intra_pred_mode(), chroma_dc_scan, H264Context::chroma_pred_mode, H264Context::chroma_pred_mode_table, H264Context::chroma_qp, PPS::chroma_qp_index_offset, DSPContext::clear_blocks, compute_mb_neighboors(), MpegEncContext::current_picture, decode_cabac_b_mb_sub_type(), decode_cabac_field_decoding_flag(), decode_cabac_mb_cbp_chroma(), decode_cabac_mb_cbp_luma(), decode_cabac_mb_chroma_pre_mode(), decode_cabac_mb_dqp(), decode_cabac_mb_intra4x4_pred_mode(), decode_cabac_mb_mvd(), decode_cabac_mb_ref(), decode_cabac_mb_skip(), decode_cabac_mb_transform_size(), decode_cabac_mb_type(), decode_cabac_p_mb_sub_type(), decode_cabac_residual(), decode_mb_skip(), H264Context::dequant4_coeff, H264Context::dequant8_coeff, SPS::direct_8x8_inference_flag, H264Context::direct_cache, MpegEncContext::dsp, ff_init_cabac_decoder(), H264Context::field_scan, H264Context::field_scan_q0, fill_caches(), fill_rectangle(), H264Context::frame_num, get_chroma_qp(), get_dct8x8_allowed(), i_mb_type_info, I_TYPE, H264Context::intra16x16_pred_mode, H264Context::intra4x4_pred_mode_cache, IS_16X16, IS_16X8, IS_8X16, IS_8x8DCT, IS_DIR, IS_DIRECT, IS_INTER, IS_INTERLACED, IS_INTRA, IS_INTRA16x16, IS_INTRA4x4, IS_INTRA_PCM, IS_SUB_4X4, IS_SUB_4X8, IS_SUB_8X4, IS_SUB_8X8, H264Context::last_qscale_diff, LIST_NOT_USED, CABACContext::low, luma_dc_field_scan, luma_dc_zigzag_scan, H264Context::mb_aff_frame, H264Context::mb_field_decoding_flag, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_16x8, MB_TYPE_8x8DCT, MB_TYPE_INTERLACED, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::non_zero_count, p_mb_type_info, p_sub_mb_type_info, P_TYPE, pack16to32(), PMbInfo::partition_count, PICT_FRAME, MpegEncContext::picture_structure, H264Context::pps, pred(), pred_16x8_motion(), pred_8x16_motion(), pred_direct_motion(), pred_intra_mode(), IMbInfo::pred_mode, pred_motion(), H264Context::prev_mb_skipped, MpegEncContext::qscale, H264Context::ref_count, H264Context::s, s, scan8, SI_TYPE, H264Context::slice_num, H264Context::slice_table, H264Context::slice_type, H264Context::sps, H264Context::sub_mb_type, tprintf, PPS::transform_8x8_mode, IMbInfo::type, PMbInfo::type, write_back_intra_pred_mode(), write_back_motion(), write_back_non_zero_count(), H264Context::zigzag_scan, zigzag_scan8x8, and H264Context::zigzag_scan_q0.
Referenced by decode_slice().

| static int decode_mb_cavlc | ( | H264Context * | h | ) | [static] |
decodes a macroblock
Definition at line 4613 of file h264.c.
References align_get_bits(), av_get_pict_type_char(), av_log(), AV_LOG_ERROR, MpegEncContext::avctx, b_mb_type_info, b_sub_mb_type_info, B_TYPE, buf, IMbInfo::cbp, check_intra4x4_pred_mode(), check_intra_pred_mode(), CHROMA_DC_BLOCK_INDEX, chroma_dc_scan, H264Context::chroma_pred_mode, chroma_qp, H264Context::chroma_qp, PPS::chroma_qp_index_offset, DSPContext::clear_blocks, MpegEncContext::current_picture, decode_mb_skip(), decode_residual(), H264Context::dequant4_coeff, H264Context::dequant8_coeff, SPS::direct_8x8_inference_flag, MpegEncContext::dsp, H264Context::field_scan, H264Context::field_scan_q0, fill_caches(), fill_rectangle(), H264Context::frame_num, MpegEncContext::gb, get_bits(), get_bits1(), get_chroma_qp(), get_dct8x8_allowed(), get_se_golomb(), get_te0_golomb(), get_ue_golomb(), golomb_to_inter_cbp, golomb_to_intra4x4_cbp, i_mb_type_info, I_TYPE, H264Context::inter_gb_ptr, H264Context::intra16x16_pred_mode, H264Context::intra4x4_pred_mode_cache, H264Context::intra_gb_ptr, IS_16X16, IS_16X8, IS_8X16, IS_8x8DCT, IS_DIR, IS_DIRECT, IS_INTER, IS_INTERLACED, IS_INTRA, IS_INTRA16x16, IS_INTRA4x4, IS_INTRA_PCM, IS_REF0, IS_SUB_4X4, IS_SUB_4X8, IS_SUB_8X4, IS_SUB_8X8, LIST_NOT_USED, LUMA_DC_BLOCK_INDEX, luma_dc_field_scan, luma_dc_zigzag_scan, H264Context::mb_aff_frame, H264Context::mb_field_decoding_flag, MpegEncContext::mb_skip_run, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_16x8, MB_TYPE_8x8DCT, MB_TYPE_INTERLACED, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::non_zero_count, p_mb_type_info, p_sub_mb_type_info, P_TYPE, pack16to32(), PMbInfo::partition_count, PICT_FRAME, MpegEncContext::picture_structure, H264Context::pps, pred_16x8_motion(), pred_8x16_motion(), pred_direct_motion(), pred_intra_mode(), IMbInfo::pred_mode, pred_motion(), H264Context::prev_mb_skipped, MpegEncContext::qscale, H264Context::ref_count, H264Context::s, s, scan8, show_bits(), SI_TYPE, H264Context::slice_num, H264Context::slice_table, H264Context::slice_type, SP_TYPE, H264Context::sps, H264Context::sub_mb_type, tprintf, PPS::transform_8x8_mode, IMbInfo::type, PMbInfo::type, write_back_intra_pred_mode(), write_back_motion(), write_back_non_zero_count(), H264Context::zigzag_scan, zigzag_scan8x8_cavlc, and H264Context::zigzag_scan_q0.
Referenced by decode_slice().

| static void decode_mb_skip | ( | H264Context * | h | ) | [static] |
decodes a P_SKIP or B_SKIP macroblock
Definition at line 4563 of file h264.c.
References B_TYPE, PPS::cabac, MpegEncContext::current_picture, fill_caches(), fill_rectangle(), MpegEncContext::gb, get_bits1(), H264Context::mb_aff_frame, H264Context::mb_field_decoding_flag, MpegEncContext::mb_skip_run, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_DIRECT2, MB_TYPE_INTERLACED, MB_TYPE_P0L0, MB_TYPE_P0L1, MB_TYPE_P1L0, MB_TYPE_SKIP, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::non_zero_count, pack16to32(), H264Context::pps, pred_direct_motion(), pred_pskip_motion(), H264Context::prev_mb_skipped, MpegEncContext::qscale, H264Context::s, s, scan8, H264Context::slice_num, H264Context::slice_table, H264Context::slice_type, and write_back_motion().
Referenced by decode_mb_cabac(), and decode_mb_cavlc().

| static uint8_t* decode_nal | ( | H264Context * | h, | |
| 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 1441 of file h264.c.
References av_fast_realloc(), H264Context::nal_ref_idc, H264Context::nal_unit_type, H264Context::rbsp_buffer, and H264Context::rbsp_buffer_size.
Referenced by decode_nal_units().

| static int decode_nal_units | ( | H264Context * | h, | |
| uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 7207 of file h264.c.
References av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, AVDISCARD_ALL, AVDISCARD_BIDIR, AVDISCARD_NONKEY, AVDISCARD_NONREF, B_TYPE, CODEC_FLAG_LOW_DELAY, MpegEncContext::current_picture_ptr, MpegEncContext::data_partitioning, AVCodecContext::debug, decode_nal(), decode_picture_parameter_set(), decode_rbsp_trailing(), decode_seq_parameter_set(), decode_slice(), decode_slice_header(), execute_ref_pic_marking(), FF_DEBUG_STARTCODE, ff_er_frame_end(), MpegEncContext::flags, H264Context::frame_num, H264Context::frame_num_offset, MpegEncContext::gb, AVCodecContext::has_b_frames, MpegEncContext::hurry_up, I_TYPE, idr(), init_get_bits(), H264Context::inter_gb, H264Context::inter_gb_ptr, H264Context::intra_gb, H264Context::intra_gb_ptr, H264Context::is_avc, MpegEncContext::low_delay, H264Context::mmco, H264Context::mmco_index, MPV_frame_end(), NAL_DPA, NAL_DPB, NAL_DPC, NAL_FILTER_DATA, NAL_IDR_SLICE, H264Context::nal_length_size, NAL_PICTURE_DELIMITER, NAL_PPS, H264Context::nal_ref_idc, NAL_SEI, NAL_SLICE, NAL_SPS, H264Context::nal_unit_type, NULL, MpegEncContext::pict_type, H264Context::poc_lsb, H264Context::poc_msb, H264Context::prev_frame_num, H264Context::prev_frame_num_offset, H264Context::prev_poc_lsb, H264Context::prev_poc_msb, H264Context::redundant_pic_count, H264Context::s, s, AVCodecContext::skip_frame, H264Context::slice_num, and H264Context::slice_type.
Referenced by decode_frame().

| static int decode_picture_parameter_set | ( | H264Context * | h, | |
| int | bit_length | |||
| ) | [inline, static] |
Definition at line 7026 of file h264.c.
References av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, PPS::cabac, PPS::chroma_qp_index_offset, PPS::constrained_intra_pred, PPS::deblocking_filter_parameters_present, AVCodecContext::debug, FF_DEBUG_PICT_INFO, MpegEncContext::gb, get_bits(), get_bits1(), get_bits_count(), get_se_golomb(), get_ue_golomb(), PPS::init_qp, PPS::init_qs, PPS::mb_slice_group_map_type, PPS::pic_order_present, H264Context::pps_buffer, PPS::redundant_pic_cnt_present, PPS::ref_count, H264Context::s, s, PPS::slice_group_count, PPS::sps_id, PPS::transform_8x8_mode, PPS::weighted_bipred_idc, and PPS::weighted_pred.
Referenced by decode_nal_units().

| static int decode_rbsp_trailing | ( | uint8_t * | src | ) | [static] |
identifies the exact end of the bitstream
Definition at line 1577 of file h264.c.
Referenced by decode_nal_units().
| static int decode_ref_pic_list_reordering | ( | H264Context * | h | ) | [static] |
Definition at line 3582 of file h264.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, B_TYPE, H264Context::curr_pic_num, MpegEncContext::current_picture, H264Context::default_ref_list, direct_dist_scale_factor(), direct_ref_list_init(), H264Context::direct_spatial_mv_pred, Picture::frame_num, MpegEncContext::gb, get_bits1(), get_ue_golomb(), I_TYPE, H264Context::long_ref, Picture::long_ref, H264Context::max_pic_num, memcpy, NULL, Picture::pic_id, pred(), print_long_term(), print_short_term(), H264Context::ref_count, H264Context::ref_list, H264Context::s, s, H264Context::short_ref, H264Context::short_ref_count, SI_TYPE, and H264Context::slice_type.
Referenced by decode_slice_header().

| static int decode_ref_pic_marking | ( | H264Context * | h | ) | [static] |
Definition at line 3973 of file h264.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::broken_link, Picture::frame_num, H264Context::frame_num, MpegEncContext::gb, get_bits1(), get_ue_golomb(), SPS::log2_max_frame_num, MMCO::long_index, H264Context::long_ref_count, MAX_MMCO_COUNT, H264Context::mmco, MMCO_END, H264Context::mmco_index, MMCO_LONG, MMCO_LONG2UNUSED, MMCO_SET_MAX_LONG, MMCO_SHORT2LONG, MMCO_SHORT2UNUSED, NAL_IDR_SLICE, H264Context::nal_unit_type, MMCO::opcode, SPS::ref_frame_count, H264Context::s, s, MMCO::short_frame_num, H264Context::short_ref, H264Context::short_ref_count, and H264Context::sps.
Referenced by decode_slice_header().

| static int decode_residual | ( | H264Context * | h, | |
| GetBitContext * | gb, | |||
| DCTELEM * | block, | |||
| int | n, | |||
| const uint8_t * | scantable, | |||
| const uint16_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 4428 of file h264.c.
References ABS, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, CHROMA_DC_BLOCK_INDEX, CHROMA_DC_COEFF_TOKEN_VLC_BITS, CHROMA_DC_TOTAL_ZEROS_VLC_BITS, COEFF_TOKEN_VLC_BITS, get_bits(), get_bits1(), get_level_prefix(), get_vlc2(), level, LUMA_DC_BLOCK_INDEX, MpegEncContext::mb_x, MpegEncContext::mb_y, pred_non_zero_count(), run, RUN7_VLC_BITS, RUN_VLC_BITS, H264Context::s, s, scan8, VLC::table, TOTAL_ZEROS_VLC_BITS, and tprintf.
Referenced by decode_mb_cavlc().

| static int decode_seq_parameter_set | ( | H264Context * | h | ) | [inline, static] |
Definition at line 6921 of file h264.c.
References av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, avcodec_check_dimensions(), MpegEncContext::avctx, SPS::crop, SPS::crop_bottom, SPS::crop_left, SPS::crop_right, SPS::crop_top, AVCodecContext::debug, decode_vui_parameters(), SPS::delta_pic_order_always_zero_flag, SPS::direct_8x8_inference_flag, FF_DEBUG_PICT_INFO, SPS::frame_mbs_only_flag, SPS::gaps_in_frame_num_allowed_flag, MpegEncContext::gb, get_bits(), get_bits1(), get_se_golomb(), get_ue_golomb(), SPS::level_idc, SPS::log2_max_frame_num, SPS::log2_max_poc_lsb, MAX_PICTURE_COUNT, SPS::mb_aff, SPS::mb_height, SPS::mb_width, NULL, SPS::offset_for_non_ref_pic, SPS::offset_for_ref_frame, SPS::offset_for_top_to_bottom_field, SPS::poc_cycle_length, SPS::poc_type, SPS::profile_idc, SPS::ref_frame_count, H264Context::s, s, H264Context::sps_buffer, SPS::transform_bypass, and SPS::vui_parameters_present_flag.
Referenced by decode_nal_units().

| static int decode_slice | ( | H264Context * | h | ) | [static] |
Definition at line 6654 of file h264.c.
References AC_END, AC_ERROR, align_get_bits(), av_log(), AV_LOG_ERROR, MpegEncContext::avctx, GetBitContext::buffer, CABACContext::bytestream_end, H264Context::cabac, PPS::cabac, cabac_context_init_I, cabac_context_init_PB, H264Context::cabac_init_idc, H264Context::cabac_state, DC_END, DC_ERROR, decode_mb(), decode_mb_cabac(), decode_mb_cavlc(), ff_draw_horiz_band(), ff_er_add_slice(), ff_h264_lps_range, ff_h264_lps_state, ff_h264_mps_state, ff_init_cabac_decoder(), ff_init_cabac_states(), fprintf, MpegEncContext::gb, get_bits_count(), get_cabac_terminate(), hl_decode_mb(), I_TYPE, H264Context::mb_aff_frame, MpegEncContext::mb_height, MpegEncContext::mb_skip_run, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, MV_END, MV_ERROR, MpegEncContext::partitioned_frame, H264Context::pps, MpegEncContext::qscale, MpegEncContext::resync_mb_x, MpegEncContext::resync_mb_y, H264Context::s, s, GetBitContext::size_in_bits, H264Context::slice_type, and tprintf.

| static int decode_slice_header | ( | H264Context * | h | ) | [static] |
decodes a slice header. this will allso call MPV_common_init() and frame_start() as needed
Definition at line 4123 of file h264.c.
References alloc_tables, av_get_pict_type_char(), av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, AVDISCARD_ALL, AVDISCARD_BIDIR, AVDISCARD_NONKEY, AVDISCARD_NONREF, H264Context::b8_stride, H264Context::b_stride, B_TYPE, PPS::cabac, H264Context::cabac_init_idc, H264Context::chroma_qp, PPS::chroma_qp_index_offset, MpegEncContext::context_initialized, SPS::crop_bottom, SPS::crop_left, SPS::crop_right, SPS::crop_top, H264Context::curr_pic_num, MpegEncContext::current_picture, MpegEncContext::current_picture_ptr, H264Context::deblocking_filter, PPS::deblocking_filter_parameters_present, AVCodecContext::debug, decode_ref_pic_list_reordering(), decode_ref_pic_marking(), SPS::delta_pic_order_always_zero_flag, H264Context::delta_poc, H264Context::delta_poc_bottom, AVRational::den, H264Context::direct_spatial_mv_pred, MpegEncContext::dropable, MpegEncContext::dsp, FF_DEBUG_PICT_INFO, ff_h264_idct_add_c(), Picture::field_poc, H264Context::field_scan, field_scan, H264Context::field_scan_q0, fill_default_ref_list(), SPS::frame_mbs_only_flag, H264Context::frame_num, Picture::frame_num, frame_start(), free_tables(), MpegEncContext::gb, get_bits(), get_bits1(), get_chroma_qp(), get_se_golomb(), get_ue_golomb(), DSPContext::h264_idct_add, AVCodecContext::height, MpegEncContext::height, I_TYPE, implicit_weight_table(), init_poc(), PPS::init_qp, H264Context::last_qscale_diff, SPS::log2_max_frame_num, SPS::log2_max_poc_lsb, H264Context::max_pic_num, SPS::mb_aff, H264Context::mb_aff_frame, SPS::mb_height, MpegEncContext::mb_height, PPS::mb_slice_group_map_type, SPS::mb_width, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, memcpy, MPV_common_end(), MPV_common_init(), NAL_IDR_SLICE, H264Context::nal_ref_idc, H264Context::nal_unit_type, SPS::num_units_in_tick, P_TYPE, PPS::pic_order_present, PICT_FRAME, PICT_TOP_FIELD, MpegEncContext::pict_type, MpegEncContext::picture_structure, H264Context::poc_lsb, SPS::poc_type, H264Context::pps, H264Context::pps_buffer, pred_weight_table(), MpegEncContext::qscale, PPS::redundant_pic_cnt_present, H264Context::redundant_pic_count, PPS::ref_count, H264Context::ref_count, MpegEncContext::resync_mb_x, MpegEncContext::resync_mb_y, H264Context::s, s, AVCodecContext::sample_aspect_ratio, SPS::sar, SI_TYPE, AVCodecContext::skip_loop_filter, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, PPS::slice_group_count, H264Context::slice_num, H264Context::slice_type, H264Context::slice_type_fixed, SP_TYPE, H264Context::sps, H264Context::sps_buffer, PPS::sps_id, T, AVCodecContext::time_base, SPS::time_scale, SPS::timing_info_present_flag, SPS::transform_bypass, H264Context::use_weight, H264Context::use_weight_chroma, PPS::weighted_bipred_idc, PPS::weighted_pred, AVCodecContext::width, MpegEncContext::width, zigzag_scan, H264Context::zigzag_scan, and H264Context::zigzag_scan_q0.
Referenced by decode_nal_units().

| static int decode_vui_parameters | ( | H264Context * | h, | |
| SPS * | sps | |||
| ) | [inline, static] |
Definition at line 6847 of file h264.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, SPS::bitstream_restriction_flag, decode_hrd_parameters(), AVRational::den, EXTENDED_SAR, SPS::fixed_frame_rate_flag, MpegEncContext::gb, get_bits(), get_bits1(), get_bits_long(), get_ue_golomb(), AVRational::num, SPS::num_reorder_frames, SPS::num_units_in_tick, pixel_aspect, H264Context::s, s, SPS::sar, SPS::time_scale, and SPS::timing_info_present_flag.
Referenced by decode_seq_parameter_set().

| static void direct_dist_scale_factor | ( | H264Context *const | h | ) | [inline, static] |
Definition at line 1156 of file h264.c.
References ABS, MpegEncContext::current_picture_ptr, H264Context::dist_scale_factor, Picture::poc, H264Context::ref_count, H264Context::ref_list, H264Context::s, and tb.
Referenced by decode_ref_pic_list_reordering().
| static void direct_ref_list_init | ( | H264Context *const | h | ) | [inline, static] |
Definition at line 1172 of file h264.c.
References B_TYPE, MpegEncContext::current_picture_ptr, H264Context::direct_spatial_mv_pred, I_TYPE, H264Context::map_col_to_list0, PART_NOT_AVAILABLE, Picture::poc, H264Context::ref_count, Picture::ref_count, H264Context::ref_list, Picture::ref_poc, H264Context::s, and s.
Referenced by decode_ref_pic_list_reordering().
| 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 3885 of file h264.c.
References av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, MpegEncContext::current_picture_ptr, AVCodecContext::debug, FF_DEBUG_MMCO, Picture::frame_num, MMCO::long_index, Picture::long_ref, H264Context::long_ref, H264Context::long_ref_count, H264Context::mmco, MMCO_LONG, MMCO_LONG2UNUSED, MMCO_RESET, MMCO_SET_MAX_LONG, MMCO_SHORT2LONG, MMCO_SHORT2UNUSED, MMCO::opcode, print_long_term(), print_short_term(), remove_long(), remove_short(), H264Context::s, s, MMCO::short_frame_num, H264Context::short_ref, H264Context::short_ref_count, and unreference_pic().
Referenced by decode_nal_units().

| static int fetch_diagonal_mv | ( | H264Context * | h, | |
| const int16_t ** | C, | |||
| int | i, | |||
| int | list, | |||
| int | part_width | |||
| ) | [inline, static] |
Definition at line 995 of file h264.c.
References PART_NOT_AVAILABLE, and tprintf.
Referenced by pred_8x16_motion(), and pred_motion().
| static void fill_caches | ( | H264Context * | h, | |
| int | mb_type, | |||
| int | for_deblock | |||
| ) | [inline, static] |
Definition at line 439 of file h264.c.
References H264Context::b8_stride, H264Context::b_stride, B_TYPE, PPS::cabac, H264Context::cbp_table, PPS::constrained_intra_pred, MpegEncContext::current_picture, H264Context::deblocking_filter, H264Context::direct_cache, H264Context::direct_spatial_mv_pred, H264Context::direct_table, fill_rectangle(), H264Context::intra4x4_pred_mode, H264Context::intra4x4_pred_mode_cache, IS_8X8, IS_8x8DCT, IS_DIRECT, IS_INTER, IS_INTERLACED, IS_INTRA, IS_INTRA4x4, H264Context::left_cbp, H264Context::left_mb_xy, H264Context::left_samples_available, LIST_NOT_USED, H264Context::mb2b8_xy, H264Context::mb2b_xy, H264Context::mb_aff_frame, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, H264Context::mv_cache_clean, H264Context::mvd_table, H264Context::neighbor_transform_size, H264Context::non_zero_count, PART_NOT_AVAILABLE, H264Context::pps, pred(), H264Context::s, s, scan8, H264Context::slice_num, H264Context::slice_table, H264Context::slice_type, H264Context::top_cbp, H264Context::top_mb_xy, H264Context::top_samples_available, H264Context::topleft_samples_available, H264Context::topright_samples_available, tprintf, and USES_LIST.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_mb_skip(), and hl_decode_mb().

| static int fill_default_ref_list | ( | H264Context * | h | ) | [static] |
fills the default_ref_list.
Definition at line 3466 of file h264.c.
References B_TYPE, MpegEncContext::current_picture_ptr, H264Context::default_ref_list, Picture::frame_num, Picture::long_ref, H264Context::long_ref, NULL, Picture::pic_id, PICT_FRAME, MpegEncContext::picture_structure, Picture::poc, H264Context::ref_count, H264Context::s, s, H264Context::short_ref, H264Context::short_ref_count, H264Context::slice_type, step, and tprintf.
Referenced by decode_slice_header().
| static void fill_rectangle | ( | void * | vp, | |
| int | w, | |||
| int | h, | |||
| int | stride, | |||
| uint32_t | val, | |||
| int | size | |||
| ) | [inline, static] |
fill a rectangle.
| h | height of the rectangle, should be a constant | |
| w | width of the rectangle, should be a constant | |
| size | the size of val (1 or 4), should be a constant |
Definition at line 380 of file h264.c.
References STRIDE_ALIGN.
| 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 6429 of file h264.c.
References ABS, B_TYPE, H264Context::chroma_qp, chroma_qp, PPS::chroma_qp_index_offset, MpegEncContext::current_picture, H264Context::deblocking_filter, filter_mb_edgech(), filter_mb_edgecv(), filter_mb_edgeh(), filter_mb_edgev(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), get_chroma_qp(), IS_8x8DCT, IS_INTERLACED, IS_INTRA, H264Context::left_mb_xy, H264Context::mb_aff_frame, H264Context::mb_field_decoding_flag, MpegEncContext::mb_stride, PICT_FRAME, MpegEncContext::picture_structure, H264Context::pps, H264Context::s, s, H264Context::slice_table, H264Context::slice_type, H264Context::top_mb_xy, and tprintf.
Referenced by hl_decode_mb().

| static void filter_mb_edgech | ( | H264Context * | h, | |
| uint8_t * | pix, | |||
| int | stride, | |||
| int | bS[4], | |||
| int | qp | |||
| ) | [static] |
Definition at line 6413 of file h264.c.
References alpha_table, beta_table, MpegEncContext::dsp, DSPContext::h264_v_loop_filter_chroma, DSPContext::h264_v_loop_filter_chroma_intra, H264Context::s, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, and tc0_table.
Referenced by filter_mb().
| static void filter_mb_edgecv | ( | H264Context * | h, | |
| uint8_t * | pix, | |||
| int | stride, | |||
| int | bS[4], | |||
| int | qp | |||
| ) | [static] |
Definition at line 6183 of file h264.c.
References alpha_table, beta_table, MpegEncContext::dsp, DSPContext::h264_h_loop_filter_chroma, DSPContext::h264_h_loop_filter_chroma_intra, H264Context::s, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, and tc0_table.
Referenced by filter_mb().
| static void filter_mb_edgeh | ( | H264Context * | h, | |
| uint8_t * | pix, | |||
| int | stride, | |||
| int | bS[4], | |||
| int | qp | |||
| ) | [static] |
Definition at line 6353 of file h264.c.
References ABS, alpha_table, beta_table, MpegEncContext::dsp, DSPContext::h264_v_loop_filter_luma, H264Context::s, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, tc0_table, and tprintf.
Referenced by filter_mb().
| static void filter_mb_edgev | ( | H264Context * | h, | |
| uint8_t * | pix, | |||
| int | stride, | |||
| int | bS[4], | |||
| int | qp | |||
| ) | [static] |
Definition at line 6122 of file h264.c.
References ABS, alpha_table, beta_table, MpegEncContext::dsp, DSPContext::h264_h_loop_filter_luma, H264Context::s, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, tc0_table, and tprintf.
Referenced by filter_mb().
| static void filter_mb_mbaff_edgecv | ( | H264Context * | h, | |
| uint8_t * | pix, | |||
| int | stride, | |||
| int | bS[4], | |||
| int | qp[2] | |||
| ) | [static] |
Definition at line 6300 of file h264.c.
References ABS, alpha_table, beta_table, H264Context::mb_field_decoding_flag, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, tc0_table, and tprintf.
Referenced by filter_mb().
| static void filter_mb_mbaff_edgev | ( | H264Context * | h, | |
| uint8_t * | pix, | |||
| int | stride, | |||
| int | bS[8], | |||
| int | qp[2] | |||
| ) | [static] |
Definition at line 6199 of file h264.c.
References ABS, alpha_table, beta_table, H264Context::mb_field_decoding_flag, H264Context::slice_alpha_c0_offset, H264Context::slice_beta_offset, tc0, tc0_table, and tprintf.
Referenced by filter_mb().
| static int find_frame_end | ( | H264Context * | h, | |
| const uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
finds the end of the current frame in the bitstream.
Definition at line 7119 of file h264.c.
References END_NOT_FOUND, ParseContext::frame_start_found, MpegEncContext::parse_context, H264Context::s, ParseContext::state, and tprintf.
Referenced by decode_frame(), h264_parse(), and jpeg_parse().
| static void flush_dpb | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 3802 of file h264.c.
References MpegEncContext::current_picture_ptr, H264Context::delayed_output_pic, H264Context::delayed_pic, idr(), NULL, AVCodecContext::priv_data, and H264Context::s.

| static void frame_start | ( | H264Context * | h | ) | [static] |
Definition at line 3031 of file h264.c.
References av_malloc(), MpegEncContext::avctx, H264Context::block_offset, ff_er_frame_start(), MpegEncContext::linesize, MPV_frame_start(), MpegEncContext::obmc_scratchpad, H264Context::s, s, scan8, and MpegEncContext::uvlinesize.
Referenced by decode_frame(), decode_slice_header(), encode_frame(), and svq3_decode_frame().

| static void free_tables | ( | H264Context * | h | ) | [static] |
Definition at line 2899 of file h264.c.
References av_freep(), H264Context::cbp_table, H264Context::chroma_pred_mode_table, H264Context::dequant4_coeff, H264Context::dequant8_coeff, H264Context::direct_table, H264Context::intra4x4_pred_mode, H264Context::mb2b8_xy, H264Context::mb2b_xy, H264Context::mvd_table, H264Context::non_zero_count, NULL, MpegEncContext::obmc_scratchpad, H264Context::s, H264Context::slice_table, H264Context::slice_table_base, and H264Context::top_borders.
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 5463 of file h264.c.
References H264Context::left_cbp, and scan8.
Referenced by decode_cabac_residual().
| static int get_chroma_qp | ( | int | chroma_qp_index_offset, | |
| int | qscale | |||
| ) | [inline, static] |
gets the chroma qp.
Definition at line 1722 of file h264.c.
References chroma_qp.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_slice_header(), and filter_mb().
| 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 7358 of file h264.c.
References CODEC_FLAG_TRUNCATED, MpegEncContext::flags, ParseContext::last_index, and MpegEncContext::parse_context.
| static int get_dct8x8_allowed | ( | H264Context * | h | ) | [inline, static] |
Definition at line 4411 of file h264.c.
References SPS::direct_8x8_inference_flag, IS_DIRECT, IS_SUB_8X8, H264Context::sps, and H264Context::sub_mb_type.
Referenced by decode_mb_cabac(), and decode_mb_cavlc().
| static int get_level_prefix | ( | GetBitContext * | gb | ) | [inline, static] |
Definition at line 4391 of file h264.c.
References av_log(), AV_LOG_DEBUG, buf, CLOSE_READER, get_bits_count(), GET_CACHE, LAST_SKIP_BITS, NULL, OPEN_READER, and UPDATE_CACHE.
Referenced by decode_residual().

| static void h264_luma_dc_dequant_idct_c | ( | DCTELEM * | block, | |
| int | qp | |||
| ) | [static] |
idct tranforms the 16 dc values and dequantize them.
| qp | quantization parameter |
Definition at line 1594 of file h264.c.
References dequant_coeff, offset, and stride.
Referenced by hl_decode_mb().
| static int h264_parse | ( | AVCodecParserContext * | s, | |
| AVCodecContext * | avctx, | |||
| uint8_t ** | poutbuf, | |||
| int * | poutbuf_size, | |||
| const uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 7160 of file h264.c.
References ff_combine_frame(), find_frame_end(), NULL, MpegEncContext::parse_context, AVCodecParserContext::priv_data, and H264Context::s.

| static int h264_split | ( | AVCodecContext * | avctx, | |
| const uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
| static void hl_decode_mb | ( | H264Context * | h | ) | [static] |
Definition at line 3219 of file h264.c.
References DSPContext::add_pixels4, DSPContext::add_pixels8, DSPContext::avg_h264_chroma_pixels_tab, DSPContext::avg_h264_qpel_pixels_tab, backup_mb_border(), backup_pair_border(), DSPContext::biweight_h264_pixels_tab, H264Context::block_offset, chroma_dc_dequant_idct_c(), H264Context::chroma_pred_mode, chroma_qp, H264Context::chroma_qp, CODEC_FLAG_GRAY, MpegEncContext::codec_id, CODEC_ID_H264, MpegEncContext::current_picture, H264Context::deblocking_filter, MpegEncContext::decode, DIAG_DOWN_LEFT_PRED, MpegEncContext::dsp, MpegEncContext::encoding, fill_caches(), filter_mb(), MpegEncContext::flags, DSPContext::h264_idct8_add, DSPContext::h264_idct_add, h264_luma_dc_dequant_idct_c(), hl_motion(), idct_add(), H264Context::intra16x16_pred_mode, H264Context::intra4x4_pred_mode_cache, IS_8x8DCT, IS_INTRA, IS_INTRA4x4, IS_INTRA_PCM, MpegEncContext::linesize, H264Context::mb_aff_frame, H264Context::mb_field_decoding_flag, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, NULL, H264Context::pred16x16, H264Context::pred4x4, H264Context::pred8x8, H264Context::pred8x8l, DSPContext::put_h264_chroma_pixels_tab, DSPContext::put_h264_qpel_pixels_tab, MpegEncContext::qscale, H264Context::s, s, scan8, H264Context::sps, svq3_add_idct_c(), svq3_luma_dc_dequant_idct_c(), H264Context::topleft_samples_available, H264Context::topright_samples_available, tprintf, SPS::transform_bypass, MpegEncContext::uvlinesize, VERT_LEFT_PRED, DSPContext::weight_h264_pixels_tab, xchg_mb_border(), and xchg_pair_border().
Referenced by decode_slice(), and svq3_decode_frame().

| 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 2728 of file h264.c.
References MpegEncContext::current_picture, IS_16X16, IS_16X8, IS_8X16, IS_8X8, IS_DIR, IS_INTER, IS_SUB_4X4, IS_SUB_4X8, IS_SUB_8X4, IS_SUB_8X8, MpegEncContext::linesize, MpegEncContext::mb_stride, MpegEncContext::mb_x, MpegEncContext::mb_y, mc_part(), H264Context::s, s, and H264Context::sub_mb_type.
Referenced by hl_decode_mb().

| static void idr | ( | H264Context * | h | ) | [static] |
instantaneous decoder refresh.
Definition at line 3783 of file h264.c.
References H264Context::long_ref, H264Context::long_ref_count, NULL, H264Context::short_ref, H264Context::short_ref_count, and unreference_pic().
Referenced by decode_nal_units(), and flush_dpb().

| static void implicit_weight_table | ( | H264Context * | h | ) | [static] |
Definition at line 3729 of file h264.c.
References ABS, H264Context::chroma_log2_weight_denom, MpegEncContext::current_picture_ptr, H264Context::implicit_weight, H264Context::luma_log2_weight_denom, Picture::poc, H264Context::ref_count, H264Context::ref_list, H264Context::s, s, tb, H264Context::use_weight, and H264Context::use_weight_chroma.
Referenced by decode_slice_header().
| static int init_poc | ( | H264Context * | h | ) | [static] |
Definition at line 4030 of file h264.c.
References MpegEncContext::current_picture_ptr, H264Context::delta_poc, H264Context::delta_poc_bottom, Picture::field_poc, H264Context::frame_num, H264Context::frame_num_offset, SPS::log2_max_frame_num, SPS::log2_max_poc_lsb, NAL_IDR_SLICE, H264Context::nal_ref_idc, H264Context::nal_unit_type, SPS::offset_for_non_ref_pic, SPS::offset_for_ref_frame, SPS::offset_for_top_to_bottom_field, PICT_BOTTOM_FIELD, PICT_FRAME, PICT_TOP_FIELD, MpegEncContext::picture_structure, Picture::poc, SPS::poc_cycle_length, H264Context::poc_lsb, H264Context::poc_msb, SPS::poc_type, H264Context::prev_frame_num, H264Context::prev_frame_num_offset, H264Context::prev_poc_lsb, H264Context::prev_poc_msb, H264Context::s, s, and H264Context::sps.
Referenced by decode_slice_header().
| static void init_pred_ptrs | ( | H264Context * | h | ) | [static] |
Sets the intra prediction function pointers.
Definition at line 2853 of file h264.c.
References DC_128_PRED, DC_128_PRED8x8, DC_PRED, DC_PRED8x8, DIAG_DOWN_LEFT_PRED, DIAG_DOWN_RIGHT_PRED, HOR_DOWN_PRED, HOR_PRED, HOR_PRED8x8, HOR_UP_PRED, LEFT_DC_PRED, LEFT_DC_PRED8x8, PLANE_PRED8x8, H264Context::pred16x16, pred16x16_128_dc_c(), pred16x16_dc_c(), pred16x16_horizontal_c(), pred16x16_left_dc_c(), pred16x16_plane_c(), pred16x16_top_dc_c(), pred16x16_vertical_c(), H264Context::pred4x4, pred4x4_128_dc_c(), pred4x4_dc_c(), pred4x4_down_left_c(), pred4x4_down_right_c(), pred4x4_horizontal_c(), pred4x4_horizontal_down_c(), pred4x4_horizontal_up_c(), pred4x4_left_dc_c(), pred4x4_top_dc_c(), pred4x4_vertical_c(), pred4x4_vertical_left_c(), pred4x4_vertical_right_c(), H264Context::pred8x8, pred8x8_128_dc_c(), pred8x8_dc_c(), pred8x8_horizontal_c(), pred8x8_left_dc_c(), pred8x8_plane_c(), pred8x8_top_dc_c(), pred8x8_vertical_c(), H264Context::pred8x8l, pred8x8l_128_dc_c(), pred8x8l_dc_c(), pred8x8l_down_left_c(), pred8x8l_down_right_c(), pred8x8l_horizontal_c(), pred8x8l_horizontal_down_c(), pred8x8l_horizontal_up_c(), pred8x8l_left_dc_c(), pred8x8l_top_dc_c(), pred8x8l_vertical_c(), pred8x8l_vertical_left_c(), pred8x8l_vertical_right_c(), TOP_DC_PRED, TOP_DC_PRED8x8, VERT_LEFT_PRED, VERT_PRED, VERT_PRED8x8, and VERT_RIGHT_PRED.
Referenced by common_init().

| 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 2558 of file h264.c.
References CODEC_FLAG_EMU_EDGE, CODEC_FLAG_GRAY, MpegEncContext::edge_emu_buffer, ff_emulated_edge_mc(), MpegEncContext::flags, MpegEncContext::height, MpegEncContext::linesize, H264Context::s, s, scan8, MpegEncContext::uvlinesize, and MpegEncContext::width.
Referenced by mc_part_std(), and mc_part_weighted().

| 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 2710 of file h264.c.
References H264Context::implicit_weight, mc_part_std(), mc_part_weighted(), scan8, and H264Context::use_weight.
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 2609 of file h264.c.
References MpegEncContext::mb_x, MpegEncContext::mb_y, mc_dir_part(), H264Context::ref_list, H264Context::s, s, scan8, and MpegEncContext::uvlinesize.
Referenced by mc_part().

| 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 2643 of file h264.c.
References H264Context::chroma_log2_weight_denom, H264Context::chroma_offset, H264Context::chroma_weight, H264Context::implicit_weight, MpegEncContext::linesize, H264Context::luma_log2_weight_denom, H264Context::luma_offset, H264Context::luma_weight, MpegEncContext::mb_x, MpegEncContext::mb_y, mc_dir_part(), MpegEncContext::obmc_scratchpad, H264Context::ref_list, H264Context::s, s, scan8, H264Context::use_weight, H264Context::use_weight_chroma, and MpegEncContext::uvlinesize.
Referenced by mc_part().

| static uint32_t pack16to32 | ( | int | a, | |
| int | b | |||
| ) | [inline, static] |
Definition at line 366 of file h264.c.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), decode_mb_skip(), pred_direct_motion(), and svq3_mc_dir().
| static void pred16x16_128_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred16x16_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred16x16_horizontal_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred16x16_left_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred16x16_plane_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
Definition at line 2180 of file h264.c.
References pred16x16_plane_compat_c().
Referenced by init_pred_ptrs().

| static void pred16x16_plane_compat_c | ( | uint8_t * | src, | |
| int | stride, | |||
| const int | svq3 | |||
| ) | [inline, static] |
Definition at line 2140 of file h264.c.
References a, b, cm, cropTbl, and MAX_NEG_CROP.
Referenced by pred16x16_plane_c(), and pred16x16_plane_svq3_c().
| static void pred16x16_top_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred16x16_vertical_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred4x4_128_dc_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_dc_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_down_left_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 1934 of file h264.c.
References LOAD_TOP_EDGE, LOAD_TOP_RIGHT_EDGE, t0, t1, t2, t3, t4, t5, t6, and t7.
Referenced by init_pred_ptrs().
| static void pred4x4_down_right_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 1911 of file h264.c.
References LOAD_LEFT_EDGE, LOAD_TOP_EDGE, t0, t1, t2, and t3.
Referenced by init_pred_ptrs().
| static void pred4x4_horizontal_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_horizontal_down_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2025 of file h264.c.
References __attribute__(), LOAD_LEFT_EDGE, LOAD_TOP_EDGE, t0, t1, t2, and t3.
Referenced by init_pred_ptrs().

| static void pred4x4_horizontal_up_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_left_dc_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_top_dc_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_vertical_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred4x4_vertical_left_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 1981 of file h264.c.
References __attribute__(), LOAD_TOP_EDGE, LOAD_TOP_RIGHT_EDGE, t0, t1, t2, t3, t4, t5, t6, and t7.
Referenced by init_pred_ptrs().

| static void pred4x4_vertical_right_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 1957 of file h264.c.
References __attribute__(), LOAD_LEFT_EDGE, LOAD_TOP_EDGE, t0, t1, t2, and t3.
Referenced by init_pred_ptrs().

| static void pred8x8_128_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred8x8_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred8x8_horizontal_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred8x8_left_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred8x8_plane_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
Definition at line 2283 of file h264.c.
References a, b, cm, cropTbl, and MAX_NEG_CROP.
Referenced by init_pred_ptrs().
| static void pred8x8_top_dc_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred8x8_vertical_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
| static void pred8x8l_128_dc_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred8x8l_dc_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2370 of file h264.c.
References PREDICT_8x8_DC, PREDICT_8x8_LOAD_LEFT, PREDICT_8x8_LOAD_TOP, t0, t1, t2, t3, t4, t5, t6, and t7.
Referenced by init_pred_ptrs().
| static void pred8x8l_down_left_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred8x8l_down_right_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2421 of file h264.c.
References PREDICT_8x8_LOAD_LEFT, PREDICT_8x8_LOAD_TOP, PREDICT_8x8_LOAD_TOPLEFT, SRC, t0, t1, t2, t3, t4, t5, t6, and t7.
Referenced by init_pred_ptrs().
| static void pred8x8l_horizontal_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2378 of file h264.c.
References PREDICT_8x8_LOAD_LEFT, and ROW.
Referenced by init_pred_ptrs().
| static void pred8x8l_horizontal_down_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2471 of file h264.c.
References PREDICT_8x8_LOAD_LEFT, PREDICT_8x8_LOAD_TOP, PREDICT_8x8_LOAD_TOPLEFT, SRC, t0, t1, t2, t3, t4, t5, and t6.
Referenced by init_pred_ptrs().
| static void pred8x8l_horizontal_up_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2526 of file h264.c.
References PREDICT_8x8_LOAD_LEFT, and SRC.
Referenced by init_pred_ptrs().
| static void pred8x8l_left_dc_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2358 of file h264.c.
References PREDICT_8x8_DC, and PREDICT_8x8_LOAD_LEFT.
Referenced by init_pred_ptrs().
| static void pred8x8l_top_dc_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 2364 of file h264.c.
References PREDICT_8x8_DC, PREDICT_8x8_LOAD_TOP, t0, t1, t2, t3, t4, t5, t6, and t7.
Referenced by init_pred_ptrs().
| static void pred8x8l_vertical_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred8x8l_vertical_left_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |
| static void pred8x8l_vertical_right_c | ( | uint8_t * | src, | |
| int | has_topleft, | |||
| int | has_topright, | |||
| int | stride | |||
| ) | [static] |