libavcodec/h264.h File Reference

H.264 / AVC / MPEG4 part10 codec. More...

#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]


Detailed Description

H.264 / AVC / MPEG4 part10 codec.

Author:
Michael Niedermayer <michaelni@gmx.at>

Definition in file h264.h.


Define Documentation

#define ALLOW_INTERLACE

Definition at line 60 of file h264.h.

#define CABAC   h->pps.cabac

#define CHROMA444   (h->sps.chroma_format_idc == 3)

#define CHROMA_DC_BLOCK_INDEX   49

#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

Definition at line 91 of file h264.h.

Referenced by decode_vui_parameters().

#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)

#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

#define interlaced_dct   interlaced_dct_is_a_bad_name

Definition at line 39 of file h264.h.

#define IS_8x8DCT (  )     ((a) & MB_TYPE_8x8DCT)

#define IS_REF0 (  )     ((a) & MB_TYPE_REF0)

Definition at line 95 of file h264.h.

Referenced by ff_h264_decode_mb_cavlc().

#define LIST_NOT_USED   -1

#define LUMA_DC_BLOCK_INDEX   48

#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)

Definition at line 56 of file h264.h.

Referenced by ff_h264_decode_nal().

#define MAX_MMCO_COUNT   66

Definition at line 52 of file h264.h.

Referenced by ff_h264_decode_ref_pic_marking().

#define MAX_PPS_COUNT   256

#define MAX_SLICES   16

The maximum number of slices supported by the decoder.

must be a power of 2

Definition at line 68 of file h264.h.

#define MAX_SPS_COUNT   32

#define MB_FIELD   h->mb_field_decoding_flag

#define mb_intra   mb_intra_is_not_initialized_see_mb_type

Definition at line 40 of file h264.h.

#define MB_MBAFF   h->mb_mbaff

#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 MB_TYPE_REF0   MB_TYPE_ACPRED

Definition at line 93 of file h264.h.

#define PART_NOT_AVAILABLE   -2

#define QP_MAX_NUM   (51 + 4*6)

Definition at line 104 of file h264.h.

#define RUN7_VLC_BITS   6

Definition at line 47 of file h264.h.

Referenced by ff_h264_decode_init_vlc().

#define RUN_VLC_BITS   3

Definition at line 46 of file h264.h.

Referenced by ff_h264_decode_init_vlc().

#define TOTAL_ZEROS_VLC_BITS   9

Definition at line 44 of file h264.h.

Referenced by decode_residual(), and ff_h264_decode_init_vlc().


Enumeration Type Documentation

anonymous enum

Enumerator:
NAL_SLICE 
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 

Definition at line 107 of file h264.h.

enum MMCOOpcode

Memory management control operation opcode.

Enumerator:
MMCO_END 
MMCO_SHORT2UNUSED 
MMCO_LONG2UNUSED 
MMCO_SHORT2LONG 
MMCO_SET_MAX_LONG 
MMCO_RESET 
MMCO_LONG 

Definition at line 237 of file h264.h.

pic_struct in picture timing SEI message

Enumerator:
SEI_PIC_STRUCT_FRAME  0: frame
SEI_PIC_STRUCT_TOP_FIELD  1: top field
SEI_PIC_STRUCT_BOTTOM_FIELD  2: bottom field
SEI_PIC_STRUCT_TOP_BOTTOM  3: top field, bottom field, in that order
SEI_PIC_STRUCT_BOTTOM_TOP  4: bottom field, top field, in that order
SEI_PIC_STRUCT_TOP_BOTTOM_TOP  5: top field, bottom field, top field repeated, in that order
SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM  6: bottom field, top field, bottom field repeated, in that order
SEI_PIC_STRUCT_FRAME_DOUBLING  7: frame doubling
SEI_PIC_STRUCT_FRAME_TRIPLING  8: frame tripling

Definition at line 137 of file h264.h.

enum SEI_Type

SEI message types.

Enumerator:
SEI_BUFFERING_PERIOD  buffering period (H.264, D.1.1)
SEI_TYPE_PIC_TIMING  picture timing
SEI_TYPE_USER_DATA_UNREGISTERED  unregistered user data
SEI_TYPE_RECOVERY_POINT  recovery point (frame # to decoder sync)

Definition at line 127 of file h264.h.


Function Documentation

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  ) 

Definition at line 4218 of file h264.c.

int ff_h264_decode_extradata ( H264Context h,
const uint8_t *  buf,
int  size 
)

Definition at line 1025 of file h264.c.

Referenced by ff_h264_decode_init(), and h264_parse().

av_cold int ff_h264_decode_init ( AVCodecContext avctx  ) 

Definition at line 1080 of file h264.c.

Referenced by svq3_decode_init().

av_cold void ff_h264_decode_init_vlc ( void   ) 

Definition at line 266 of file h264_cavlc.c.

Referenced by ff_h264_decode_init().

int ff_h264_decode_mb_cabac ( H264Context h  ) 

Decode a CABAC coded macroblock.

Returns:
0 if OK, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed
Decode a CABAC coded macroblock.

Returns:
0 if OK, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed

Definition at line 1833 of file h264_cabac.c.

Referenced by decode_slice().

int ff_h264_decode_mb_cavlc ( H264Context h  ) 

Decode a macroblock.

Returns:
0 if OK, AC_ERROR / DC_ERROR / MV_ERROR if an error is noticed

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.

Parameters:
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?
Returns:
decoded bytes, might be src+1 if no escapes

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  ) 

Definition at line 188 of file h264_refs.c.

Referenced by decode_slice_header().

int ff_h264_decode_ref_pic_marking ( H264Context h,
GetBitContext gb 
)

Definition at line 654 of file h264_refs.c.

Referenced by decode_slice_header().

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  ) 

Definition at line 52 of file h264_direct.c.

Referenced by decode_slice_header().

void ff_h264_direct_ref_list_init ( H264Context *const   h  ) 

Definition at line 103 of file h264_direct.c.

Referenced by decode_slice_header().

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  ) 

Definition at line 302 of file h264_refs.c.

Referenced by decode_slice_header().

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 
)

Definition at line 215 of file h264_loopfilter.c.

Referenced by loop_filter().

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 4205 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

Parameters:
sps SPS
Returns:
profile as defined by FF_PROFILE_H264_*

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 3111 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  ) 

Definition at line 1260 of file h264_cabac.c.

Referenced by decode_slice().

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  ) 

Definition at line 433 of file h264_refs.c.

Referenced by idr().

void ff_h264_reset_sei ( H264Context h  ) 

Reset SEI values at the beginning of the frame.

Parameters:
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]

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]

static av_always_inline uint16_t pack8to16 ( int  a,
int  b 
) [static]

Definition at line 758 of file h264.h.

Referenced by ff_h264_decode_mb_cabac().

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


Variable Documentation

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


Generated on Fri Oct 26 02:39:44 2012 for FFmpeg by  doxygen 1.5.8