#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().
 1.5.8