#include "libavutil/intreadwrite.h"
#include "dsputil.h"
#include "cabac.h"
#include "mpegvideo.h"
#include "h264dsp.h"
#include "h264pred.h"
#include "rectangle.h"
#include "h264_mvpred.h"
Go to the source code of this file.
Data Structures | |
struct | SPS |
Sequence parameter set. More... | |
struct | PPS |
Picture parameter set. More... | |
struct | MMCO |
Memory management control operation. More... | |
struct | H264Context |
H264Context. More... | |
Defines | |
#define | interlaced_dct interlaced_dct_is_a_bad_name |
#define | mb_intra mb_intra_is_not_initialized_see_mb_type |
#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 | MAX_DELAYED_PIC_COUNT 16 |
#define | MAX_MBPAIR_SIZE (256*1024) |
#define | ALLOW_INTERLACE |
#define | FMO 0 |
#define | MAX_SLICES 16 |
The maximum number of slices supported by the decoder. | |
#define | MB_MBAFF h->mb_mbaff |
#define | MB_FIELD h->mb_field_decoding_flag |
#define | FRAME_MBAFF h->mb_aff_frame |
#define | FIELD_PICTURE (s->picture_structure != PICT_FRAME) |
#define | FIELD_OR_MBAFF_PICTURE (FRAME_MBAFF || FIELD_PICTURE) |
#define | CABAC h->pps.cabac |
#define | CHROMA444 (h->sps.chroma_format_idc == 3) |
#define | EXTENDED_SAR 255 |
#define | MB_TYPE_REF0 MB_TYPE_ACPRED |
#define | MB_TYPE_8x8DCT 0x01000000 |
#define | IS_REF0(a) ((a) & MB_TYPE_REF0) |
#define | IS_8x8DCT(a) ((a) & MB_TYPE_8x8DCT) |
#define | DELAYED_PIC_REF 4 |
Value of Picture.reference when Picture is not a reference picture, but is held for delayed output. | |
#define | QP_MAX_NUM (51 + 4*6) |
#define | LIST_NOT_USED -1 |
#define | PART_NOT_AVAILABLE -2 |
#define | LUMA_DC_BLOCK_INDEX 48 |
#define | CHROMA_DC_BLOCK_INDEX 49 |
#define | MAP_MVS |
#define | MAP_F2F(idx, mb_type) |
#define | MAP_F2F(idx, mb_type) |
Enumerations | |
enum | { NAL_SLICE = 1, NAL_DPA, NAL_DPB, NAL_DPC, NAL_IDR_SLICE, NAL_SEI, NAL_SPS, NAL_PPS, NAL_AUD, NAL_END_SEQUENCE, NAL_END_STREAM, NAL_FILLER_DATA, NAL_SPS_EXT, NAL_AUXILIARY_SLICE = 19 } |
enum | SEI_Type { SEI_BUFFERING_PERIOD = 0, SEI_TYPE_PIC_TIMING = 1, SEI_TYPE_USER_DATA_UNREGISTERED = 5, SEI_TYPE_RECOVERY_POINT = 6 } |
SEI message types. More... | |
enum | SEI_PicStructType { SEI_PIC_STRUCT_FRAME = 0, SEI_PIC_STRUCT_TOP_FIELD = 1, SEI_PIC_STRUCT_BOTTOM_FIELD = 2, SEI_PIC_STRUCT_TOP_BOTTOM = 3, SEI_PIC_STRUCT_BOTTOM_TOP = 4, SEI_PIC_STRUCT_TOP_BOTTOM_TOP = 5, SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM = 6, SEI_PIC_STRUCT_FRAME_DOUBLING = 7, SEI_PIC_STRUCT_FRAME_TRIPLING = 8 } |
pic_struct in picture timing SEI message More... | |
enum | MMCOOpcode { MMCO_END = 0, MMCO_SHORT2UNUSED, MMCO_LONG2UNUSED, MMCO_SHORT2LONG, MMCO_SET_MAX_LONG, MMCO_RESET, MMCO_LONG } |
Memory management control operation opcode. More... | |
Functions | |
int | ff_h264_decode_sei (H264Context *h) |
Decode SEI. | |
int | ff_h264_decode_seq_parameter_set (H264Context *h) |
Decode SPS. | |
int | ff_h264_get_profile (SPS *sps) |
compute profile from sps | |
int | ff_h264_decode_picture_parameter_set (H264Context *h, int bit_length) |
Decode PPS. | |
const uint8_t * | ff_h264_decode_nal (H264Context *h, const uint8_t *src, int *dst_length, int *consumed, int length) |
Decode a network abstraction layer unit. | |
av_cold void | ff_h264_free_context (H264Context *h) |
Free any data that may have been allocated in the H264 context like SPS, PPS etc. | |
int | ff_h264_get_slice_type (const H264Context *h) |
Reconstruct bitstream slice_type. | |
int | ff_h264_alloc_tables (H264Context *h) |
Allocate tables. | |
int | ff_h264_fill_default_ref_list (H264Context *h) |
Fill the default_ref_list. | |
int | ff_h264_decode_ref_pic_list_reordering (H264Context *h) |
void | ff_h264_fill_mbaff_ref_list (H264Context *h) |
void | ff_h264_remove_all_refs (H264Context *h) |
int | ff_h264_execute_ref_pic_marking (H264Context *h, MMCO *mmco, int mmco_count) |
Execute the reference picture marking (memory management control operations). | |
int | ff_h264_decode_ref_pic_marking (H264Context *h, GetBitContext *gb) |
void | ff_generate_sliding_window_mmcos (H264Context *h) |
int | ff_h264_check_intra4x4_pred_mode (H264Context *h) |
Check if the top & left blocks are available if needed & change the dc mode so it only uses the available blocks. | |
int | ff_h264_check_intra_pred_mode (H264Context *h, int mode, int is_chroma) |
Check if the top & left blocks are available if needed & change the dc mode so it only uses the available blocks. | |
void | ff_h264_write_back_intra_pred_mode (H264Context *h) |
void | ff_h264_hl_decode_mb (H264Context *h) |
int | ff_h264_frame_start (H264Context *h) |
int | ff_h264_decode_extradata (H264Context *h, const uint8_t *buf, int size) |
av_cold int | ff_h264_decode_init (AVCodecContext *avctx) |
av_cold int | ff_h264_decode_end (AVCodecContext *avctx) |
av_cold void | ff_h264_decode_init_vlc (void) |
int | ff_h264_decode_mb_cavlc (H264Context *h) |
Decode a macroblock. | |
int | ff_h264_decode_mb_cabac (H264Context *h) |
Decode a CABAC coded macroblock. | |
void | ff_h264_init_cabac_states (H264Context *h) |
void | ff_h264_direct_dist_scale_factor (H264Context *const h) |
void | ff_h264_direct_ref_list_init (H264Context *const h) |
void | ff_h264_pred_direct_motion (H264Context *const h, int *mb_type) |
void | ff_h264_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) |
void | ff_h264_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) |
void | ff_h264_reset_sei (H264Context *h) |
Reset SEI values at the beginning of the frame. | |
static av_always_inline uint32_t | pack16to32 (int a, int b) |
static av_always_inline uint16_t | pack8to16 (int a, int b) |
static int | get_chroma_qp (H264Context *h, int t, int qscale) |
gets the chroma qp. | |
static void | pred_pskip_motion (H264Context *const h, int *const mx, int *const my) |
static void | fill_decode_neighbors (H264Context *h, int mb_type) |
static void | fill_decode_caches (H264Context *h, int mb_type) |
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 void | write_back_motion (H264Context *h, int mb_type) |
static int | get_dct8x8_allowed (H264Context *h) |
static void av_unused | decode_mb_skip (H264Context *h) |
decodes a P_SKIP or B_SKIP macroblock | |
Variables | |
const uint8_t | ff_h264_chroma_qp [5][QP_MAX_NUM+1] |
One chroma qp table for each possible bit depth (8-12). | |
static const uint8_t | scan8 [16 *3+3] |
Definition in file h264.h.
#define CABAC h->pps.cabac |
Definition at line 86 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), fill_decode_caches(), fill_filter_caches(), filter_mb_dir(), and write_back_motion().
#define CHROMA444 (h->sps.chroma_format_idc == 3) |
Definition at line 89 of file h264.h.
Referenced by decode_cabac_residual_nondc(), decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), ff_h264_hl_decode_mb(), fill_decode_caches(), loop_filter(), and write_back_non_zero_count().
#define CHROMA_DC_BLOCK_INDEX 49 |
Definition at line 731 of file h264.h.
Referenced by decode_cabac_residual_internal(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), get_cabac_cbf_ctx(), and hl_decode_mb_internal().
#define CHROMA_DC_COEFF_TOKEN_VLC_BITS 8 |
Definition at line 42 of file h264.h.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
#define CHROMA_DC_TOTAL_ZEROS_VLC_BITS 3 |
Definition at line 45 of file h264.h.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
#define COEFF_TOKEN_VLC_BITS 8 |
Definition at line 43 of file h264.h.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
#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 102 of file h264.h.
Referenced by decode_postinit(), decode_slice_header(), and unreference_pic().
#define EXTENDED_SAR 255 |
#define FIELD_OR_MBAFF_PICTURE (FRAME_MBAFF || FIELD_PICTURE) |
Definition at line 83 of file h264.h.
Referenced by decode_postinit(), decode_slice(), decode_slice_header(), and fill_slice_long().
#define FIELD_PICTURE (s->picture_structure != PICT_FRAME) |
Definition at line 74 of file h264.h.
Referenced by await_references(), decode_cabac_mb_skip(), decode_finish_row(), decode_slice_header(), ff_generate_sliding_window_mmcos(), ff_h264_decode_ref_pic_list_reordering(), ff_h264_decode_ref_pic_marking(), ff_h264_fill_default_ref_list(), ff_h264_filter_mb_fast(), field_end(), and pic_num_extract().
#define FMO 0 |
Definition at line 62 of file h264.h.
Referenced by ff_h264_alloc_tables(), fill_decode_neighbors(), and write_back_motion().
#define FRAME_MBAFF h->mb_aff_frame |
Definition at line 73 of file h264.h.
Referenced by backup_mb_border(), decode_cabac_mb_skip(), decode_finish_row(), decode_mb(), decode_slice(), decode_slice_header(), fetch_diagonal_mv(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_direct_ref_list_init(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), filter_mb_dir(), hl_decode_mb_444_internal(), hl_decode_mb_internal(), implicit_weight_table(), loop_filter(), pred_temp_direct_motion(), and xchg_mb_border().
#define IS_8x8DCT | ( | a | ) | ((a) & MB_TYPE_8x8DCT) |
Definition at line 96 of file h264.h.
Referenced by decode_cabac_luma_residual(), decode_luma_residual(), ff_h264_decode_mb_cabac(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), fill_decode_caches(), fill_filter_caches(), filter_mb_dir(), hl_decode_mb_idct_luma(), and hl_decode_mb_predict_luma().
#define IS_REF0 | ( | a | ) | ((a) & MB_TYPE_REF0) |
#define LIST_NOT_USED -1 |
Definition at line 309 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), fill_decode_caches(), fill_filter_caches(), and write_back_motion().
#define LUMA_DC_BLOCK_INDEX 48 |
Definition at line 730 of file h264.h.
Referenced by decode_cabac_luma_residual(), decode_cabac_residual_internal(), decode_luma_residual(), decode_residual(), get_cabac_cbf_ctx(), and hl_decode_mb_predict_luma().
#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] >>=1;\ }
#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_decode_caches().
#define MAX_DELAYED_PIC_COUNT 16 |
Definition at line 54 of file h264.h.
Referenced by decode_postinit(), decode_update_thread_context(), and flush_dpb().
#define MAX_MBPAIR_SIZE (256*1024) |
#define MAX_MMCO_COUNT 66 |
#define MAX_PPS_COUNT 256 |
Definition at line 50 of file h264.h.
Referenced by decode_slice_header(), decode_update_thread_context(), ff_h264_decode_picture_parameter_set(), ff_h264_free_context(), and parse_nal_units().
#define MAX_SLICES 16 |
#define MAX_SPS_COUNT 32 |
Definition at line 49 of file h264.h.
Referenced by decode_update_thread_context(), ff_h264_decode_picture_parameter_set(), ff_h264_decode_seq_parameter_set(), and ff_h264_free_context().
#define MB_FIELD h->mb_field_decoding_flag |
Definition at line 72 of file h264.h.
Referenced by decode_cabac_mb_skip(), decode_cabac_residual_internal(), decode_mb_skip(), fetch_diagonal_mv(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), fill_decode_caches(), fill_decode_neighbors(), fill_filter_caches(), get_lowest_part_y(), hl_decode_mb_444_internal(), hl_decode_mb_internal(), loop_filter(), mc_dir_part(), mc_part_std(), mc_part_weighted(), and xchg_mb_border().
#define MB_MBAFF h->mb_mbaff |
Definition at line 71 of file h264.h.
Referenced by await_references(), backup_mb_border(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), fill_filter_caches(), and xchg_mb_border().
#define MB_TYPE_8x8DCT 0x01000000 |
Definition at line 94 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
#define PART_NOT_AVAILABLE -2 |
Definition at line 310 of file h264.h.
Referenced by context_init(), fetch_diagonal_mv(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), fill_decode_caches(), pred_motion(), pred_pskip_motion(), pred_spatial_direct_motion(), svq3_decode_frame(), and svq3_decode_mb().
#define RUN7_VLC_BITS 6 |
#define RUN_VLC_BITS 3 |
#define TOTAL_ZEROS_VLC_BITS 9 |
Definition at line 44 of file h264.h.
Referenced by decode_residual(), and ff_h264_decode_init_vlc().
anonymous enum |
enum MMCOOpcode |
enum SEI_PicStructType |
pic_struct in picture timing SEI message
enum SEI_Type |
static void av_unused decode_mb_skip | ( | H264Context * | h | ) | [static] |
decodes a P_SKIP or B_SKIP macroblock
Definition at line 1287 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
void ff_generate_sliding_window_mmcos | ( | H264Context * | h | ) |
Definition at line 478 of file h264_refs.c.
Referenced by decode_slice_header(), and ff_h264_decode_ref_pic_marking().
int ff_h264_alloc_tables | ( | H264Context * | h | ) |
Allocate tables.
needs width/height
Definition at line 918 of file h264.c.
Referenced by decode_slice_header(), decode_update_thread_context(), and svq3_decode_init().
int ff_h264_check_intra4x4_pred_mode | ( | H264Context * | h | ) |
Check if the top & left blocks are available if needed & change the dc mode so it only uses the available blocks.
Definition at line 75 of file h264.c.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and svq3_decode_mb().
int ff_h264_check_intra_pred_mode | ( | H264Context * | h, | |
int | mode, | |||
int | is_chroma | |||
) |
Check if the top & left blocks are available if needed & change the dc mode so it only uses the available blocks.
Definition at line 114 of file h264.c.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and svq3_decode_mb().
av_cold int ff_h264_decode_end | ( | AVCodecContext * | avctx | ) |
int ff_h264_decode_extradata | ( | H264Context * | h, | |
const uint8_t * | buf, | |||
int | size | |||
) |
av_cold int ff_h264_decode_init | ( | AVCodecContext * | avctx | ) |
av_cold void ff_h264_decode_init_vlc | ( | void | ) |
int ff_h264_decode_mb_cabac | ( | H264Context * | h | ) |
Decode a CABAC coded macroblock.
Definition at line 1833 of file h264_cabac.c.
Referenced by decode_slice().
int ff_h264_decode_mb_cavlc | ( | H264Context * | h | ) |
Decode a macroblock.
Definition at line 608 of file h264_cavlc.c.
Referenced by decode_slice().
const uint8_t* ff_h264_decode_nal | ( | H264Context * | h, | |
const uint8_t * | src, | |||
int * | dst_length, | |||
int * | consumed, | |||
int | length | |||
) |
Decode 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 146 of file h264.c.
Referenced by decode_nal_units(), and parse_nal_units().
int ff_h264_decode_picture_parameter_set | ( | H264Context * | h, | |
int | bit_length | |||
) |
Decode PPS.
Definition at line 483 of file h264_ps.c.
Referenced by decode_nal_units(), and parse_nal_units().
int ff_h264_decode_ref_pic_list_reordering | ( | H264Context * | h | ) |
int ff_h264_decode_ref_pic_marking | ( | H264Context * | h, | |
GetBitContext * | gb | |||
) |
int ff_h264_decode_sei | ( | H264Context * | h | ) |
Decode SEI.
Definition at line 164 of file h264_sei.c.
Referenced by decode_nal_units(), and parse_nal_units().
int ff_h264_decode_seq_parameter_set | ( | H264Context * | h | ) |
Decode SPS.
Definition at line 310 of file h264_ps.c.
Referenced by decode_nal_units(), and parse_nal_units().
void ff_h264_direct_dist_scale_factor | ( | H264Context *const | h | ) |
void ff_h264_direct_ref_list_init | ( | H264Context *const | h | ) |
int ff_h264_execute_ref_pic_marking | ( | H264Context * | h, | |
MMCO * | mmco, | |||
int | mmco_count | |||
) |
Execute the reference picture marking (memory management control operations).
Definition at line 497 of file h264_refs.c.
Referenced by decode_slice_header(), decode_update_thread_context(), and field_end().
int ff_h264_fill_default_ref_list | ( | H264Context * | h | ) |
Fill the default_ref_list.
Definition at line 109 of file h264_refs.c.
Referenced by decode_slice_header().
void ff_h264_fill_mbaff_ref_list | ( | H264Context * | h | ) |
void ff_h264_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 | |||
) |
Definition at line 589 of file h264_loopfilter.c.
Referenced by ff_h264_filter_mb_fast(), and loop_filter().
void ff_h264_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 | |||
) |
int ff_h264_frame_start | ( | H264Context * | h | ) |
Definition at line 1257 of file h264.c.
Referenced by decode_slice_header(), and svq3_decode_frame().
av_cold void ff_h264_free_context | ( | H264Context * | h | ) |
Free any data that may have been allocated in the H264 context like SPS, PPS etc.
Definition at line 4213 of file h264.c.
Referenced by close(), ff_h264_decode_end(), and svq3_decode_end().
int ff_h264_get_profile | ( | SPS * | sps | ) |
compute profile from sps
compute profile from sps
sps | SPS |
Definition at line 2500 of file h264.c.
Referenced by decode_slice_header(), and parse_nal_units().
int ff_h264_get_slice_type | ( | const H264Context * | h | ) |
Reconstruct bitstream slice_type.
Definition at line 3105 of file h264.c.
Referenced by decode_slice(), and fill_slice_long().
void ff_h264_hl_decode_mb | ( | H264Context * | h | ) |
Definition at line 2125 of file h264.c.
Referenced by decode_mb(), decode_slice(), and svq3_decode_frame().
void ff_h264_init_cabac_states | ( | H264Context * | h | ) |
void ff_h264_pred_direct_motion | ( | H264Context *const | h, | |
int * | mb_type | |||
) |
Definition at line 620 of file h264_direct.c.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
void ff_h264_remove_all_refs | ( | H264Context * | h | ) |
void ff_h264_reset_sei | ( | H264Context * | h | ) |
Reset SEI values at the beginning of the frame.
h | H.264 context. |
Definition at line 40 of file h264_sei.c.
Referenced by decode_nal_units(), ff_h264_decode_init(), and flush_dpb().
void ff_h264_write_back_intra_pred_mode | ( | H264Context * | h | ) |
Definition at line 63 of file h264.c.
Referenced by ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), and svq3_decode_mb().
static void fill_decode_caches | ( | H264Context * | h, | |
int | mb_type | |||
) | [static] |
Definition at line 857 of file h264.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
static void fill_decode_neighbors | ( | H264Context * | h, | |
int | mb_type | |||
) | [static] |
Definition at line 775 of file h264.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
static int get_chroma_qp | ( | H264Context * | h, | |
int | t, | |||
int | qscale | |||
) | [inline, static] |
gets the chroma qp.
Definition at line 769 of file h264.h.
Referenced by decode_slice_header(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_filter_mb(), ff_h264_filter_mb_fast(), filter_mb_dir(), and loop_filter().
static int get_dct8x8_allowed | ( | H264Context * | h | ) | [inline, static] |
Definition at line 1277 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
static av_always_inline uint32_t pack16to32 | ( | int | a, | |
int | b | |||
) | [static] |
Definition at line 750 of file h264.h.
Referenced by decode_mb(), decode_mb_skip(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), fill_filter_caches(), pred_spatial_direct_motion(), pred_temp_direct_motion(), and svq3_mc_dir().
static av_always_inline uint16_t pack8to16 | ( | int | a, | |
int | b | |||
) | [static] |
static int pred_intra_mode | ( | H264Context * | h, | |
int | n | |||
) | [inline, static] |
gets the predicted intra4x4 prediction mode.
Definition at line 1190 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
static void pred_pskip_motion | ( | H264Context *const | h, | |
int *const | mx, | |||
int *const | my | |||
) | [inline, static] |
Referenced by decode_mb_skip().
static void write_back_motion | ( | H264Context * | h, | |
int | mb_type | |||
) | [inline, static] |
Definition at line 1222 of file h264.h.
Referenced by decode_mb_skip(), ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
static void write_back_non_zero_count | ( | H264Context * | h | ) | [inline, static] |
Definition at line 1202 of file h264.h.
Referenced by ff_h264_decode_mb_cabac(), and ff_h264_decode_mb_cavlc().
const uint8_t ff_h264_chroma_qp[5][QP_MAX_NUM+1] |
One chroma qp table for each possible bit depth (8-12).
Definition at line 73 of file h264_ps.c.
Referenced by build_qp_table(), and hl_decode_mb_internal().
const uint8_t scan8[16 *3+3] [static] |
Initial value:
{ 4+ 1*8, 5+ 1*8, 4+ 2*8, 5+ 2*8, 6+ 1*8, 7+ 1*8, 6+ 2*8, 7+ 2*8, 4+ 3*8, 5+ 3*8, 4+ 4*8, 5+ 4*8, 6+ 3*8, 7+ 3*8, 6+ 4*8, 7+ 4*8, 4+ 6*8, 5+ 6*8, 4+ 7*8, 5+ 7*8, 6+ 6*8, 7+ 6*8, 6+ 7*8, 7+ 7*8, 4+ 8*8, 5+ 8*8, 4+ 9*8, 5+ 9*8, 6+ 8*8, 7+ 8*8, 6+ 9*8, 7+ 9*8, 4+11*8, 5+11*8, 4+12*8, 5+12*8, 6+11*8, 7+11*8, 6+12*8, 7+12*8, 4+13*8, 5+13*8, 4+14*8, 5+14*8, 6+13*8, 7+13*8, 6+14*8, 7+14*8, 0+ 0*8, 0+ 5*8, 0+10*8 }
Definition at line 734 of file h264.h.
Referenced by context_init(), decode_cabac_luma_residual(), decode_cabac_mb_ref(), decode_cabac_residual_dc(), decode_cabac_residual_internal(), decode_cabac_residual_nondc(), decode_luma_residual(), decode_mb(), decode_mb_skip(), decode_residual(), fetch_diagonal_mv(), ff_h264_check_intra4x4_pred_mode(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_frame_start(), ff_h264_idct8_add4(), ff_h264_idct8_add4_altivec(), ff_h264_idct_add16(), ff_h264_idct_add16_altivec(), ff_h264_idct_add16intra(), ff_h264_idct_add16intra_altivec(), ff_h264_idct_add8(), ff_h264_idct_add8_altivec(), fill_decode_caches(), fill_filter_caches(), filter_mb_dir(), get_cabac_cbf_ctx(), get_lowest_part_list_y(), get_lowest_part_y(), hl_decode_mb_444_internal(), hl_decode_mb_idct_luma(), hl_decode_mb_internal(), hl_decode_mb_predict_luma(), mc_dir_part(), mc_part(), mc_part_std(), mc_part_weighted(), pred_16x8_motion(), pred_8x16_motion(), pred_intra_mode(), pred_motion(), pred_non_zero_count(), pred_pskip_motion(), pred_spatial_direct_motion(), pred_temp_direct_motion(), prefetch_motion(), svq3_decode_frame(), svq3_decode_mb(), svq3_mc_dir(), and write_back_motion().