#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