Dirac - A Video Codec

Created by the British Broadcasting Corporation.


common_types.h
Go to the documentation of this file.
1 /* ***** BEGIN LICENSE BLOCK *****
2 *
3 * $Id: common_types.h,v 1.21 2008/11/06 04:53:36 asuraparaju Exp $ $Name: Dirac_1_0_2 $
4 *
5 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 *
7 * The contents of this file are subject to the Mozilla Public License
8 * Version 1.1 (the "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 * http://www.mozilla.org/MPL/
11 *
12 * Software distributed under the License is distributed on an "AS IS" basis,
13 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
14 * the specific language governing rights and limitations under the License.
15 *
16 * The Original Code is BBC Research and Development code.
17 *
18 * The Initial Developer of the Original Code is the British Broadcasting
19 * Corporation.
20 * Portions created by the Initial Developer are Copyright (C) 2004.
21 * All Rights Reserved.
22 *
23 * Contributor(s): Thomas Davies (Original Author),
24 * Scott R Ladd,
25 * Tim Borer
26 * Andrew Kennedy,
27 * Anuradha Suraparaju
28 *
29 * Alternatively, the contents of this file may be used under the terms of
30 * the GNU General Public License Version 2 (the "GPL"), or the GNU Lesser
31 * Public License Version 2.1 (the "LGPL"), in which case the provisions of
32 * the GPL or the LGPL are applicable instead of those above. If you wish to
33 * allow use of your version of this file only under the terms of the either
34 * the GPL or LGPL and not to allow others to use your version of this file
35 * under the MPL, indicate your decision by deleting the provisions above
36 * and replace them with the notice and other provisions required by the GPL
37 * or LGPL. If you do not delete the provisions above, a recipient may use
38 * your version of this file under the terms of any one of the MPL, the GPL
39 * or the LGPL.
40 * ***** END LICENSE BLOCK ***** */
41 
42 #ifndef _COMMON_TYPES_H_
43 #define _COMMON_TYPES_H_
44 
45 
50 #ifdef __cplusplus
51 extern "C" {
52 #endif
53 /*
54 * Some basic enumeration types used throughout the codec and by end user ...//
55 */
56 
59 
61 typedef enum
62 {
63  DD9_7=0, /* Deslauriers-Dubuc (9,7) */
64  LEGALL5_3, /* LeGall (5,3) */
65  DD13_7, /* Deslauriers-Dubuc (13,7) */
66  HAAR0, /* Haar, no shift per level*/
67  HAAR1, /* Haar, one shift per level*/
68  FIDELITY, /* Fidelity wavelet */
69  DAUB9_7, /* Integer approximation to Daubechies 97 */
71 } WltFilter;
72 
75 typedef enum
76 {
77  NO_PF = 0,
82 
83 static const int NUM_WLT_FILTERS = 8;
84 
86 typedef enum {
89  } PictureType;
90 
92 typedef enum {
96 
98 typedef enum {
121 } VideoFormat;
122 
124 typedef enum {
131 
133 typedef enum {
138 }ColourMatrix;
139 
141 typedef enum {
142  TF_TV=0,
148 
150 typedef enum {
163 } FrameRateType;
164 
166 typedef enum {
176 
177 
179 typedef enum {
187 
189 typedef enum {
196 
198 typedef enum
199 {
203 } CodeBlockMode;
204 
205 #ifdef __cplusplus
206 }
207 #endif
208 
209 #endif
PIXEL_ASPECT_RATIO_12_11
@ PIXEL_ASPECT_RATIO_12_11
Definition: common_types.h:170
VIDEO_FORMAT_QCIF
@ VIDEO_FORMAT_QCIF
Definition: common_types.h:101
TF_UNDEF
@ TF_UNDEF
Definition: common_types.h:146
NON_REFERENCE_PICTURE
@ NON_REFERENCE_PICTURE
Definition: common_types.h:94
formatNK
@ formatNK
Definition: common_types.h:58
FIDELITY
@ FIDELITY
Definition: common_types.h:68
VIDEO_FORMAT_DIGI_CINEMA_2K24
@ VIDEO_FORMAT_DIGI_CINEMA_2K24
Definition: common_types.h:114
VIDEO_FORMAT_UHDTV_8K60
@ VIDEO_FORMAT_UHDTV_8K60
Definition: common_types.h:118
ColourMatrix
ColourMatrix
Definition: common_types.h:133
VIDEO_FORMAT_SD_480I60
@ VIDEO_FORMAT_SD_480I60
Definition: common_types.h:106
VIDEO_FORMAT_HD_1080I60
@ VIDEO_FORMAT_HD_1080I60
Definition: common_types.h:110
CP_SDTV_525
@ CP_SDTV_525
Definition: common_types.h:126
PIXEL_ASPECT_RATIO_1_1
@ PIXEL_ASPECT_RATIO_1_1
Definition: common_types.h:168
VIDEO_FORMAT_QSIF525
@ VIDEO_FORMAT_QSIF525
Definition: common_types.h:100
PIXEL_ASPECT_RATIO_16_11
@ PIXEL_ASPECT_RATIO_16_11
Definition: common_types.h:172
CM_HDTV_COMP_INTERNET
@ CM_HDTV_COMP_INTERNET
Definition: common_types.h:134
TF_EXT_GAMUT
@ TF_EXT_GAMUT
Definition: common_types.h:143
VIDEO_FORMAT_DIGI_CINEMA_4K24
@ VIDEO_FORMAT_DIGI_CINEMA_4K24
Definition: common_types.h:115
INTRA_PICTURE
@ INTRA_PICTURE
Definition: common_types.h:87
MV_PRECISION_PIXEL
@ MV_PRECISION_PIXEL
Definition: common_types.h:190
REFERENCE_PICTURE
@ REFERENCE_PICTURE
Definition: common_types.h:93
LEGALL5_3
@ LEGALL5_3
Definition: common_types.h:64
ChromaFormat
ChromaFormat
Definition: common_types.h:58
QUANT_SINGLE
@ QUANT_SINGLE
Definition: common_types.h:200
CodeBlockMode
CodeBlockMode
Definition: common_types.h:198
VIDEO_FORMAT_4CIF
@ VIDEO_FORMAT_4CIF
Definition: common_types.h:105
TF_TV
@ TF_TV
Definition: common_types.h:142
DD13_7
@ DD13_7
Definition: common_types.h:65
HAAR1
@ HAAR1
Definition: common_types.h:67
TransferFunction
TransferFunction
Definition: common_types.h:141
MV_PRECISION_QUARTER_PIXEL
@ MV_PRECISION_QUARTER_PIXEL
Definition: common_types.h:192
VIDEO_FORMAT_HD_1080P50
@ VIDEO_FORMAT_HD_1080P50
Definition: common_types.h:113
VIDEO_FORMAT_CUSTOM
@ VIDEO_FORMAT_CUSTOM
Definition: common_types.h:99
FRAMERATE_59p94_FPS
@ FRAMERATE_59p94_FPS
Definition: common_types.h:158
RECTLP
@ RECTLP
Definition: common_types.h:79
CM_REVERSIBLE
@ CM_REVERSIBLE
Definition: common_types.h:136
WltFilter
WltFilter
Definition: common_types.h:61
SignalRangeType
SignalRangeType
Definition: common_types.h:179
CP_HDTV_COMP_INTERNET
@ CP_HDTV_COMP_INTERNET
Definition: common_types.h:125
PrefilterType
PrefilterType
Definition: common_types.h:75
VIDEO_FORMAT_SIF525
@ VIDEO_FORMAT_SIF525
Definition: common_types.h:102
PIXEL_ASPECT_RATIO_UNDEFINED
@ PIXEL_ASPECT_RATIO_UNDEFINED
Definition: common_types.h:174
VIDEO_FORMAT_SD_576I50
@ VIDEO_FORMAT_SD_576I50
Definition: common_types.h:107
QUANT_MULTIPLE
@ QUANT_MULTIPLE
Definition: common_types.h:201
PictureType
PictureType
Definition: common_types.h:86
CM_UNDEF
@ CM_UNDEF
Definition: common_types.h:137
PIXEL_ASPECT_RATIO_10_11
@ PIXEL_ASPECT_RATIO_10_11
Definition: common_types.h:169
NO_PF
@ NO_PF
Definition: common_types.h:77
FRAMERATE_24_FPS
@ FRAMERATE_24_FPS
Definition: common_types.h:153
TF_DCINEMA
@ TF_DCINEMA
Definition: common_types.h:145
FRAMERATE_30_FPS
@ FRAMERATE_30_FPS
Definition: common_types.h:156
FRAMERATE_50_FPS
@ FRAMERATE_50_FPS
Definition: common_types.h:157
VIDEO_FORMAT_UHDTV_4K50
@ VIDEO_FORMAT_UHDTV_4K50
Definition: common_types.h:117
SIGNAL_RANGE_8BIT_FULL
@ SIGNAL_RANGE_8BIT_FULL
Definition: common_types.h:181
HAAR0
@ HAAR0
Definition: common_types.h:66
format422
@ format422
Definition: common_types.h:58
DIAGLP
@ DIAGLP
Definition: common_types.h:78
FRAMERATE_60_FPS
@ FRAMERATE_60_FPS
Definition: common_types.h:159
DAUB9_7
@ DAUB9_7
Definition: common_types.h:69
PIXEL_ASPECT_RATIO_4_3
@ PIXEL_ASPECT_RATIO_4_3
Definition: common_types.h:173
format444
@ format444
Definition: common_types.h:58
PIXEL_ASPECT_RATIO_CUSTOM
@ PIXEL_ASPECT_RATIO_CUSTOM
Definition: common_types.h:167
ReferenceType
ReferenceType
Definition: common_types.h:92
FRAMERATE_14p98_FPS
@ FRAMERATE_14p98_FPS
Definition: common_types.h:160
MVPrecisionType
MVPrecisionType
Definition: common_types.h:189
VIDEO_FORMAT_CIF
@ VIDEO_FORMAT_CIF
Definition: common_types.h:103
CP_DCINEMA
@ CP_DCINEMA
Definition: common_types.h:128
MV_PRECISION_HALF_PIXEL
@ MV_PRECISION_HALF_PIXEL
Definition: common_types.h:191
filterNK
@ filterNK
Definition: common_types.h:70
VIDEO_FORMAT_UHDTV_8K50
@ VIDEO_FORMAT_UHDTV_8K50
Definition: common_types.h:119
MV_PRECISION_UNDEFINED
@ MV_PRECISION_UNDEFINED
Definition: common_types.h:194
SIGNAL_RANGE_10BIT_VIDEO
@ SIGNAL_RANGE_10BIT_VIDEO
Definition: common_types.h:183
PixelAspectRatioType
PixelAspectRatioType
Definition: common_types.h:166
format420
@ format420
Definition: common_types.h:58
VIDEO_FORMAT_HD_720P50
@ VIDEO_FORMAT_HD_720P50
Definition: common_types.h:109
SIGNAL_RANGE_12BIT_VIDEO
@ SIGNAL_RANGE_12BIT_VIDEO
Definition: common_types.h:184
PIXEL_ASPECT_RATIO_40_33
@ PIXEL_ASPECT_RATIO_40_33
Definition: common_types.h:171
VIDEO_FORMAT_UNDEFINED
@ VIDEO_FORMAT_UNDEFINED
Definition: common_types.h:120
SIGNAL_RANGE_CUSTOM
@ SIGNAL_RANGE_CUSTOM
Definition: common_types.h:180
CWM
@ CWM
Definition: common_types.h:80
VIDEO_FORMAT_HD_720P60
@ VIDEO_FORMAT_HD_720P60
Definition: common_types.h:108
CM_SDTV
@ CM_SDTV
Definition: common_types.h:135
MV_PRECISION_EIGHTH_PIXEL
@ MV_PRECISION_EIGHTH_PIXEL
Definition: common_types.h:193
CP_SDTV_625
@ CP_SDTV_625
Definition: common_types.h:127
VIDEO_FORMAT_4SIF525
@ VIDEO_FORMAT_4SIF525
Definition: common_types.h:104
SIGNAL_RANGE_UNDEFINED
@ SIGNAL_RANGE_UNDEFINED
Definition: common_types.h:185
FRAMERATE_23p97_FPS
@ FRAMERATE_23p97_FPS
Definition: common_types.h:152
VIDEO_FORMAT_HD_1080I50
@ VIDEO_FORMAT_HD_1080I50
Definition: common_types.h:111
FRAMERATE_29p97_FPS
@ FRAMERATE_29p97_FPS
Definition: common_types.h:155
TF_LINEAR
@ TF_LINEAR
Definition: common_types.h:144
VIDEO_FORMAT_HD_1080P60
@ VIDEO_FORMAT_HD_1080P60
Definition: common_types.h:112
FRAMERATE_UNDEFINED
@ FRAMERATE_UNDEFINED
Definition: common_types.h:162
VideoFormat
VideoFormat
Definition: common_types.h:98
FRAMERATE_12p5_FPS
@ FRAMERATE_12p5_FPS
Definition: common_types.h:161
CP_UNDEF
@ CP_UNDEF
Definition: common_types.h:129
VIDEO_FORMAT_UHDTV_4K60
@ VIDEO_FORMAT_UHDTV_4K60
Definition: common_types.h:116
QUANT_UNDEF
@ QUANT_UNDEF
Definition: common_types.h:202
FrameRateType
FrameRateType
Definition: common_types.h:150
INTER_PICTURE
@ INTER_PICTURE
Definition: common_types.h:88
FRAMERATE_CUSTOM
@ FRAMERATE_CUSTOM
Definition: common_types.h:151
FRAMERATE_25_FPS
@ FRAMERATE_25_FPS
Definition: common_types.h:154
DD9_7
@ DD9_7
Definition: common_types.h:63
ColourPrimaries
ColourPrimaries
Definition: common_types.h:124
SIGNAL_RANGE_8BIT_VIDEO
@ SIGNAL_RANGE_8BIT_VIDEO
Definition: common_types.h:182

© 2004 British Broadcasting Corporation. Dirac code licensed under the Mozilla Public License (MPL) Version 1.1.
HTML documentation generated by Dimitri van Heesch's excellent Doxygen tool.