OpenCores
URL https://opencores.org/ocsvn/bluespec-h264/bluespec-h264/trunk

Subversion Repositories bluespec-h264

[/] [bluespec-h264/] [trunk/] [test/] [decoder/] [ldecod/] [inc/] [elements.h] - Blame information for rev 100

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 jamey.hick
 
2
/*!
3
 *************************************************************************************
4
 * \file elements.h
5
 *
6
 * \brief
7
 *    Header file for elements in H.264 streams
8
 *
9
 * \date
10
 *    6.10.2000
11
 *
12
 * \version
13
 *    1.0
14
 *
15
 *  \author
16
 *     Sebastian Purreiter     <sebastian.purreiter@mch.siemens.de>  \n
17
 *     Siemens AG, Information and Communication Mobile              \n
18
 *     P.O.Box 80 17 07                                              \n
19
 *     D-81617 Munich, Germany                                       \n
20
 *************************************************************************************
21
 */
22
 
23
#ifndef _ELEMENTS_H_
24
#define _ELEMENTS_H_
25
 
26
/*!
27
 *  definition of H.264 syntax elements
28
 *  order of elements follow dependencies for picture reconstruction
29
 */
30
/*!
31
 * \brief   Assignment of old TYPE partition elements to new
32
 *          elements
33
 *
34
 *  old element     | new elements
35
 *  ----------------+-------------------------------------------------------------------
36
 *  TYPE_HEADER     | SE_HEADER, SE_PTYPE
37
 *  TYPE_MBHEADER   | SE_MBTYPE, SE_REFFRAME, SE_INTRAPREDMODE
38
 *  TYPE_MVD        | SE_MVD
39
 *  TYPE_CBP        | SE_CBP_INTRA, SE_CBP_INTER
40
 *  SE_DELTA_QUANT_INTER
41
 *  SE_DELTA_QUANT_INTRA
42
 *  TYPE_COEFF_Y    | SE_LUM_DC_INTRA, SE_LUM_AC_INTRA, SE_LUM_DC_INTER, SE_LUM_AC_INTER
43
 *  TYPE_2x2DC      | SE_CHR_DC_INTRA, SE_CHR_DC_INTER
44
 *  TYPE_COEFF_C    | SE_CHR_AC_INTRA, SE_CHR_AC_INTER
45
 *  TYPE_EOS        | SE_EOS
46
*/
47
 
48
#define SE_HEADER           0
49
#define SE_PTYPE            1
50
#define SE_MBTYPE           2
51
#define SE_REFFRAME         3
52
#define SE_INTRAPREDMODE    4
53
#define SE_MVD              5
54
#define SE_CBP_INTRA        6
55
#define SE_LUM_DC_INTRA     7
56
#define SE_CHR_DC_INTRA     8
57
#define SE_LUM_AC_INTRA     9
58
#define SE_CHR_AC_INTRA     10
59
#define SE_CBP_INTER        11
60
#define SE_LUM_DC_INTER     12
61
#define SE_CHR_DC_INTER     13
62
#define SE_LUM_AC_INTER     14
63
#define SE_CHR_AC_INTER     15
64
#define SE_DELTA_QUANT_INTER      16
65
#define SE_DELTA_QUANT_INTRA      17
66
#define SE_BFRAME           18
67
#define SE_EOS              19
68
#define SE_MAX_ELEMENTS     20
69
 
70
 
71
#define NO_EC               0   //!< no error concealment necessary
72
#define EC_REQ              1   //!< error concealment required
73
#define EC_SYNC             2   //!< search and sync on next header element
74
 
75
#define MAXPARTITIONMODES   2   //!< maximum possible partition modes as defined in assignSE2partition[][]
76
 
77
/*!
78
 *  \brief  lookup-table to assign different elements to partition
79
 *
80
 *  \note   here we defined up to 6 different partitions similar to
81
 *          document Q15-k-18 described in the PROGFRAMEMODE.
82
 *          The Sliceheader contains the PSYNC information. \par
83
 *
84
 *          Elements inside a partition are not ordered. They are
85
 *          ordered by occurence in the stream.
86
 *          Assumption: Only partitionlosses are considered. \par
87
 *
88
 *          The texture elements luminance and chrominance are
89
 *          not ordered in the progressive form
90
 *          This may be changed in image.c \par
91
 *
92
 *          We also defined the proposed internet partition mode
93
 *          of Stephan Wenger here. To select the desired mode
94
 *          uncomment one of the two following lines. \par
95
 *
96
 *  -IMPORTANT:
97
 *          Picture- or Sliceheaders must be assigned to partition 0. \par
98
 *          Furthermore partitions must follow syntax dependencies as
99
 *          outlined in document Q15-J-23.
100
 */
101
 
102
 
103
extern int assignSE2partition[][SE_MAX_ELEMENTS];
104
extern int PartitionMode;
105
 
106
#endif
107
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.