elements.h File Reference

Header file for elements in H.264 streams. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define SE_HEADER   0
#define SE_PTYPE   1
#define SE_MBTYPE   2
#define SE_REFFRAME   3
#define SE_INTRAPREDMODE   4
#define SE_MVD   5
#define SE_CBP_INTRA   6
#define SE_LUM_DC_INTRA   7
#define SE_CHR_DC_INTRA   8
#define SE_LUM_AC_INTRA   9
#define SE_CHR_AC_INTRA   10
#define SE_CBP_INTER   11
#define SE_LUM_DC_INTER   12
#define SE_CHR_DC_INTER   13
#define SE_LUM_AC_INTER   14
#define SE_CHR_AC_INTER   15
#define SE_DELTA_QUANT_INTER   16
#define SE_DELTA_QUANT_INTRA   17
#define SE_BFRAME   18
#define SE_EOS   19
#define SE_MAX_ELEMENTS   20
#define NO_EC   0
#define EC_REQ   1
#define EC_SYNC   2
#define MAXPARTITIONMODES   2

Variables

static const byte assignSE2partition [][SE_MAX_ELEMENTS]


Detailed Description

Header file for elements in H.264 streams.

Date:
6.10.2000
Version:
1.0
Author:
Sebastian Purreiter <sebastian.purreiter@mch.siemens.de>
Siemens AG, Information and Communication Mobile
P.O.Box 80 17 07
D-81617 Munich, Germany

Definition in file elements.h.


Define Documentation

#define EC_REQ   1

error concealment required

Definition at line 72 of file elements.h.

Referenced by get_concealed_element(), and set_ec_flag().

#define EC_SYNC   2

search and sync on next header element

Definition at line 73 of file elements.h.

#define MAXPARTITIONMODES   2

maximum possible partition modes as defined in assignSE2partition[][]

Definition at line 75 of file elements.h.

#define NO_EC   0

no error concealment necessary

Definition at line 71 of file elements.h.

Referenced by get_concealed_element(), and reset_ec_flags().

#define SE_HEADER   0

Assignment of old TYPE partition elements to new elements.

definition of H.264 syntax elements order of elements follow dependencies for picture reconstruction

old element | new elements ----------------+------------------------------------------------------------------- TYPE_HEADER | SE_HEADER, SE_PTYPE TYPE_MBHEADER | SE_MBTYPE, SE_REFFRAME, SE_INTRAPREDMODE TYPE_MVD | SE_MVD TYPE_CBP | SE_CBP_INTRA, SE_CBP_INTER SE_DELTA_QUANT_INTER SE_DELTA_QUANT_INTRA TYPE_COEFF_Y | SE_LUM_DC_INTRA, SE_LUM_AC_INTRA, SE_LUM_DC_INTER, SE_LUM_AC_INTER TYPE_2x2DC | SE_CHR_DC_INTRA, SE_CHR_DC_INTER TYPE_COEFF_C | SE_CHR_AC_INTRA, SE_CHR_AC_INTER TYPE_EOS | SE_EOS

Definition at line 48 of file elements.h.

Referenced by FirstPartOfSliceHeader(), get_concealed_element(), i_v(), pred_weight_table(), read_CBP_and_coeffs_from_NAL_CABAC(), read_CBP_and_coeffs_from_NAL_CAVLC(), read_one_macroblock_b_slice(), read_one_macroblock_i_slice(), read_one_macroblock_p_slice(), ref_pic_list_reordering(), RestOfSliceHeader(), se_v(), set_ec_flag(), u_v(), and ue_v().


Variable Documentation

const byte assignSE2partition[][SE_MAX_ELEMENTS] [static]

Initial value:

{
  
  {  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },   
  {  0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0 }    
}
lookup-table to assign different elements to partition

Note:
here we defined up to 6 different partitions similar to document Q15-k-18 described in the PROGFRAMEMODE. The Sliceheader contains the PSYNC information.
Elements inside a partition are not ordered. They are ordered by occurence in the stream. Assumption: Only partitionlosses are considered.
The texture elements luminance and chrominance are not ordered in the progressive form This may be changed in image.c
We also defined the proposed internet partition mode of Stephan Wenger here. To select the desired mode uncomment one of the two following lines.
-IMPORTANT: Picture- or Sliceheaders must be assigned to partition 0.
Furthermore partitions must follow syntax dependencies as outlined in document Q15-J-23.

Definition at line 103 of file elements.h.

Referenced by cabac_startcode_follows(), FirstPartOfSliceHeader(), pred_weight_table(), read_CBP_and_coeffs_from_NAL_CABAC(), read_CBP_and_coeffs_from_NAL_CAVLC(), read_ipred_modes(), read_motion_info_from_NAL_b_slice(), read_motion_info_from_NAL_p_slice(), read_one_macroblock_b_slice(), read_one_macroblock_i_slice(), read_one_macroblock_p_slice(), readCoeff4x4_CAVLC(), readCompCoeff4x4SMB_CABAC(), readCompCoeff8x8_CABAC(), ref_pic_list_reordering(), RestOfSliceHeader(), and uvlc_startcode_follows().


Documentation generated with DoxyGen