header.c File Reference

H.264 Slice headers. More...

#include "global.h"
#include "elements.h"
#include "defines.h"
#include "fmo.h"
#include "vlc.h"
#include "mbuffer.h"
#include "header.h"
#include "ctx_tables.h"

Include dependency graph for header.c:

Go to the source code of this file.

Defines

#define SYMTRACESTRING(s)

Functions

static void ref_pic_list_reordering (Slice *currSlice)
static void pred_weight_table (Slice *currSlice)
unsigned CeilLog2 (unsigned uiVal)
unsigned CeilLog2_sf (unsigned uiVal)
int FirstPartOfSliceHeader (Slice *currSlice)
int RestOfSliceHeader (Slice *currSlice)
static void reset_wp_params (Slice *currSlice)
void dec_ref_pic_marking (ImageParameters *p_Img, Bitstream *currStream)
void decode_poc (ImageParameters *p_Img)
int dumppoc (ImageParameters *p_Img)
int picture_order (ImageParameters *p_Img)


Detailed Description

H.264 Slice headers.

Definition in file header.c.


Function Documentation

unsigned CeilLog2 ( unsigned  uiVal  ) 

calculate Ceil(Log2(uiVal))

Definition at line 39 of file header.c.

Referenced by interpret_motion_constrained_slice_group_set_info(), and RestOfSliceHeader().

void dec_ref_pic_marking ( ImageParameters *  p_Img,
Bitstream currStream 
)

read the memory control operations

Definition at line 534 of file header.c.

References u_1(), and ue_v().

Referenced by interpret_dec_ref_pic_marking_repetition_info(), and RestOfSliceHeader().

Here is the call graph for this function:

void decode_poc ( ImageParameters *  p_Img  ) 

To calculate the poc values based upon JVT-F100d2 POC200301: Until Jan 2003, this function will calculate the correct POC values, but the management of POCs in buffered pictures may need more work.

Returns:
none

Definition at line 614 of file header.c.

References error().

Referenced by fill_frame_num_gap(), and init_picture().

Here is the call graph for this function:

int dumppoc ( ImageParameters *  p_Img  ) 

A little helper for the debugging of POC code.

Returns:
none

Definition at line 816 of file header.c.

int FirstPartOfSliceHeader ( Slice currSlice  ) 

read the first part of the header (only the pic_parameter_set_id)

Returns:
Length of the first part of the slice header (in bits)

Definition at line 73 of file header.c.

References assignSE2partition, slice::dp_mode, Bitstream::frame_bitoffset, slice::partArr, slice::pic_parameter_set_id, SE_HEADER, slice::slice_type, slice::start_mb_nr, u_v(), and ue_v().

Referenced by read_new_slice().

Here is the call graph for this function:

int picture_order ( ImageParameters *  p_Img  ) 

return the poc of p_Img as per (8-1) JVT-F100d2 POC200301

Definition at line 854 of file header.c.

static void pred_weight_table ( Slice currSlice  )  [static]

read the weighted prediction tables

Definition at line 429 of file header.c.

References assignSE2partition, slice::dp_mode, slice::num_ref_idx_l0_active, slice::num_ref_idx_l1_active, slice::partArr, SE_HEADER, se_v(), u_1(), and ue_v().

Referenced by RestOfSliceHeader().

Here is the call graph for this function:

static void ref_pic_list_reordering ( Slice currSlice  )  [static]

read the reference picture reordering information

Definition at line 335 of file header.c.

References alloc_ref_pic_list_reordering_buffer(), assignSE2partition, slice::dp_mode, slice::partArr, SE_HEADER, u_1(), and ue_v().

Referenced by RestOfSliceHeader().

Here is the call graph for this function:

int RestOfSliceHeader ( Slice currSlice  ) 

read the scond part of the header (without the pic_parameter_set_id

Returns:
Length of the second part of the Slice header in bits

redundant_pic_cnt is missing here

Definition at line 110 of file header.c.

References assignSE2partition, CeilLog2(), dec_ref_pic_marking(), slice::DFAlphaC0Offset, slice::DFBetaOffset, slice::DFDisableIdc, slice::direct_spatial_mv_pred_flag, slice::dp_mode, error(), slice::model_number, slice::num_ref_idx_l0_active, slice::num_ref_idx_l1_active, slice::partArr, pred_weight_table(), ref_pic_list_reordering(), SE_HEADER, se_v(), slice::slice_type, slice::structure, u_1(), u_v(), and ue_v().

Referenced by read_new_slice().

Here is the call graph for this function:


Documentation generated with DoxyGen