#include "dsputil.h"
#include "cabac.h"
#include "mpegvideo.h"
#include "h264pred.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 | 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 | MAX_DELAYED_PIC_COUNT 16 |
#define | ALLOW_INTERLACE |
#define | ALLOW_NOCHROMA |
#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 | CHROMA h->sps.chroma_format_idc |
#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 | LIST_NOT_USED -1 |
#define | PART_NOT_AVAILABLE -2 |
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_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) |
Decodes a network abstraction layer unit. | |
int | ff_h264_decode_rbsp_trailing (H264Context *h, const uint8_t *src) |
identifies the exact end of the bitstream |
Definition in file h264.h.
#define CHROMA h->sps.chroma_format_idc |
Definition at line 84 of file h264.h.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), and pred_weight_table().
#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 EXTENDED_SAR 255 |
#define FIELD_OR_MBAFF_PICTURE (FRAME_MBAFF || FIELD_PICTURE) |
Definition at line 81 of file h264.h.
Referenced by decode_frame(), decode_slice(), and decode_slice_header().
#define FIELD_PICTURE (s->picture_structure != PICT_FRAME) |
Definition at line 72 of file h264.h.
Referenced by compute_mb_neighbors(), decode_cabac_mb_skip(), decode_frame(), decode_ref_pic_list_reordering(), decode_ref_pic_marking(), decode_slice_header(), fill_caches(), fill_default_ref_list(), filter_mb_fast(), and pic_num_extract().
#define FRAME_MBAFF h->mb_aff_frame |
Definition at line 71 of file h264.h.
Referenced by backup_mb_border(), compute_mb_neighbors(), decode_cabac_mb_skip(), decode_mb_cabac(), decode_mb_cavlc(), decode_slice(), decode_slice_header(), direct_ref_list_init(), fetch_diagonal_mv(), fill_caches(), filter_mb(), filter_mb_dir(), filter_mb_fast(), frame_start(), hl_decode_mb_internal(), pred_direct_motion(), and xchg_mb_border().
#define IS_8x8DCT | ( | a | ) | ((a) & MB_TYPE_8x8DCT) |
Definition at line 94 of file h264.h.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), fill_caches(), filter_mb(), filter_mb_dir(), filter_mb_fast(), and hl_decode_mb_internal().
#define IS_REF0 | ( | a | ) | ((a) & MB_TYPE_REF0) |
#define LIST_NOT_USED -1 |
Definition at line 290 of file h264.h.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), fill_caches(), and write_back_motion().
#define LUMA_DC_BLOCK_INDEX 25 |
#define MAX_DELAYED_PIC_COUNT 16 |
#define MAX_MMCO_COUNT 66 |
#define MAX_PPS_COUNT 256 |
Definition at line 50 of file h264.h.
Referenced by decode_end(), decode_slice_header(), ff_h264_decode_picture_parameter_set(), and parse_nal_units().
#define MAX_SLICES 16 |
The maximum number of slices supported by the decoder.
must be a power of 2
Definition at line 66 of file h264.h.
Referenced by decode_slice_header(), and filter_mb_dir().
#define MAX_SPS_COUNT 32 |
Definition at line 49 of file h264.h.
Referenced by decode_end(), ff_h264_decode_picture_parameter_set(), and ff_h264_decode_seq_parameter_set().
#define MB_FIELD h->mb_field_decoding_flag |
Definition at line 70 of file h264.h.
Referenced by compute_mb_neighbors(), decode_cabac_mb_skip(), decode_cabac_residual_internal(), decode_mb_cabac(), decode_mb_cavlc(), decode_mb_skip(), fetch_diagonal_mv(), fill_caches(), filter_mb(), filter_mb_mbaff_edgecv(), filter_mb_mbaff_edgev(), hl_decode_mb_internal(), mc_dir_part(), mc_part_std(), mc_part_weighted(), and xchg_mb_border().
#define MB_MBAFF h->mb_mbaff |
Definition at line 69 of file h264.h.
Referenced by backup_mb_border(), decode_mb_cabac(), decode_mb_cavlc(), fill_caches(), filter_mb_dir(), and xchg_mb_border().
#define MB_TYPE_8x8DCT 0x01000000 |
#define PART_NOT_AVAILABLE -2 |
Definition at line 291 of file h264.h.
Referenced by decode_mb_cabac(), decode_mb_cavlc(), fetch_diagonal_mv(), fill_caches(), pred_direct_motion(), pred_motion(), pred_pskip_motion(), svq3_decode_frame(), and svq3_decode_mb().
#define RUN7_VLC_BITS 6 |
#define RUN_VLC_BITS 3 |
#define TOTAL_ZEROS_VLC_BITS 9 |
anonymous enum |
enum MMCOOpcode |
enum SEI_PicStructType |
pic_struct in picture timing SEI message
enum SEI_Type |
const uint8_t* ff_h264_decode_nal | ( | H264Context * | h, | |
const uint8_t * | src, | |||
int * | dst_length, | |||
int * | consumed, | |||
int | length | |||
) |
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 1363 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 7255 of file h264.c.
Referenced by decode_nal_units(), and parse_nal_units().
int ff_h264_decode_rbsp_trailing | ( | H264Context * | h, | |
const uint8_t * | src | |||
) |
identifies the exact end of the bitstream
Definition at line 1453 of file h264.c.
Referenced by decode_nal_units().
int ff_h264_decode_sei | ( | H264Context * | h | ) |
Decode SEI.
Definition at line 6906 of file h264.c.
Referenced by decode_nal_units(), and parse_nal_units().
int ff_h264_decode_seq_parameter_set | ( | H264Context * | h | ) |
Decode SPS.
Definition at line 7104 of file h264.c.
Referenced by decode_nal_units(), and parse_nal_units().