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 */
70  filterNK
72 
75 typedef enum
76 {
77  NO_PF = 0,
80  CWM
82 
83 static const int NUM_WLT_FILTERS = 8;
84 
86 typedef enum {
90 
92 typedef enum {
96 
98 typedef enum {
122 
124 typedef enum {
129  CP_UNDEF
131 
133 typedef enum {
137  CM_UNDEF
139 
141 typedef enum {
142  TF_TV=0,
146  TF_UNDEF
148 
150 typedef enum {
164 
166 typedef enum {
176 
177 
179 typedef enum {
187 
189 typedef enum {
196 
198 typedef enum
199 {
204 
205 #ifdef __cplusplus
206 }
207 #endif
208 
209 #endif
TransferFunction
Definition: common_types.h:141
@ TF_LINEAR
Definition: common_types.h:144
@ TF_UNDEF
Definition: common_types.h:146
@ TF_TV
Definition: common_types.h:142
@ TF_EXT_GAMUT
Definition: common_types.h:143
@ TF_DCINEMA
Definition: common_types.h:145
VideoFormat
Definition: common_types.h:98
@ VIDEO_FORMAT_HD_720P50
Definition: common_types.h:109
@ VIDEO_FORMAT_CIF
Definition: common_types.h:103
@ VIDEO_FORMAT_DIGI_CINEMA_4K24
Definition: common_types.h:115
@ VIDEO_FORMAT_HD_1080I60
Definition: common_types.h:110
@ VIDEO_FORMAT_HD_720P60
Definition: common_types.h:108
@ VIDEO_FORMAT_CUSTOM
Definition: common_types.h:99
@ VIDEO_FORMAT_UHDTV_4K50
Definition: common_types.h:117
@ VIDEO_FORMAT_UHDTV_8K50
Definition: common_types.h:119
@ VIDEO_FORMAT_SD_480I60
Definition: common_types.h:106
@ VIDEO_FORMAT_DIGI_CINEMA_2K24
Definition: common_types.h:114
@ VIDEO_FORMAT_HD_1080I50
Definition: common_types.h:111
@ VIDEO_FORMAT_QSIF525
Definition: common_types.h:100
@ VIDEO_FORMAT_UHDTV_8K60
Definition: common_types.h:118
@ VIDEO_FORMAT_UNDEFINED
Definition: common_types.h:120
@ VIDEO_FORMAT_UHDTV_4K60
Definition: common_types.h:116
@ VIDEO_FORMAT_HD_1080P60
Definition: common_types.h:112
@ VIDEO_FORMAT_SD_576I50
Definition: common_types.h:107
@ VIDEO_FORMAT_SIF525
Definition: common_types.h:102
@ VIDEO_FORMAT_4CIF
Definition: common_types.h:105
@ VIDEO_FORMAT_QCIF
Definition: common_types.h:101
@ VIDEO_FORMAT_4SIF525
Definition: common_types.h:104
@ VIDEO_FORMAT_HD_1080P50
Definition: common_types.h:113
ChromaFormat
Definition: common_types.h:58
@ format444
Definition: common_types.h:58
@ format420
Definition: common_types.h:58
@ format422
Definition: common_types.h:58
@ formatNK
Definition: common_types.h:58
PictureType
Definition: common_types.h:86
@ INTER_PICTURE
Definition: common_types.h:88
@ INTRA_PICTURE
Definition: common_types.h:87
PrefilterType
Definition: common_types.h:76
@ RECTLP
Definition: common_types.h:79
@ CWM
Definition: common_types.h:80
@ DIAGLP
Definition: common_types.h:78
@ NO_PF
Definition: common_types.h:77
MVPrecisionType
Definition: common_types.h:189
@ MV_PRECISION_QUARTER_PIXEL
Definition: common_types.h:192
@ MV_PRECISION_HALF_PIXEL
Definition: common_types.h:191
@ MV_PRECISION_EIGHTH_PIXEL
Definition: common_types.h:193
@ MV_PRECISION_PIXEL
Definition: common_types.h:190
@ MV_PRECISION_UNDEFINED
Definition: common_types.h:194
ReferenceType
Definition: common_types.h:92
@ NON_REFERENCE_PICTURE
Definition: common_types.h:94
@ REFERENCE_PICTURE
Definition: common_types.h:93
PixelAspectRatioType
Definition: common_types.h:166
@ PIXEL_ASPECT_RATIO_40_33
Definition: common_types.h:171
@ PIXEL_ASPECT_RATIO_10_11
Definition: common_types.h:169
@ PIXEL_ASPECT_RATIO_16_11
Definition: common_types.h:172
@ PIXEL_ASPECT_RATIO_1_1
Definition: common_types.h:168
@ PIXEL_ASPECT_RATIO_12_11
Definition: common_types.h:170
@ PIXEL_ASPECT_RATIO_CUSTOM
Definition: common_types.h:167
@ PIXEL_ASPECT_RATIO_4_3
Definition: common_types.h:173
@ PIXEL_ASPECT_RATIO_UNDEFINED
Definition: common_types.h:174
ColourPrimaries
Definition: common_types.h:124
@ CP_SDTV_525
Definition: common_types.h:126
@ CP_UNDEF
Definition: common_types.h:129
@ CP_DCINEMA
Definition: common_types.h:128
@ CP_HDTV_COMP_INTERNET
Definition: common_types.h:125
@ CP_SDTV_625
Definition: common_types.h:127
CodeBlockMode
Definition: common_types.h:199
@ QUANT_SINGLE
Definition: common_types.h:200
@ QUANT_MULTIPLE
Definition: common_types.h:201
@ QUANT_UNDEF
Definition: common_types.h:202
FrameRateType
Definition: common_types.h:150
@ FRAMERATE_29p97_FPS
Definition: common_types.h:155
@ FRAMERATE_25_FPS
Definition: common_types.h:154
@ FRAMERATE_24_FPS
Definition: common_types.h:153
@ FRAMERATE_14p98_FPS
Definition: common_types.h:160
@ FRAMERATE_23p97_FPS
Definition: common_types.h:152
@ FRAMERATE_50_FPS
Definition: common_types.h:157
@ FRAMERATE_60_FPS
Definition: common_types.h:159
@ FRAMERATE_59p94_FPS
Definition: common_types.h:158
@ FRAMERATE_CUSTOM
Definition: common_types.h:151
@ FRAMERATE_UNDEFINED
Definition: common_types.h:162
@ FRAMERATE_30_FPS
Definition: common_types.h:156
@ FRAMERATE_12p5_FPS
Definition: common_types.h:161
WltFilter
Definition: common_types.h:62
@ DD9_7
Definition: common_types.h:63
@ HAAR0
Definition: common_types.h:66
@ LEGALL5_3
Definition: common_types.h:64
@ FIDELITY
Definition: common_types.h:68
@ HAAR1
Definition: common_types.h:67
@ DD13_7
Definition: common_types.h:65
@ filterNK
Definition: common_types.h:70
@ DAUB9_7
Definition: common_types.h:69
SignalRangeType
Definition: common_types.h:179
@ SIGNAL_RANGE_8BIT_FULL
Definition: common_types.h:181
@ SIGNAL_RANGE_12BIT_VIDEO
Definition: common_types.h:184
@ SIGNAL_RANGE_10BIT_VIDEO
Definition: common_types.h:183
@ SIGNAL_RANGE_CUSTOM
Definition: common_types.h:180
@ SIGNAL_RANGE_UNDEFINED
Definition: common_types.h:185
@ SIGNAL_RANGE_8BIT_VIDEO
Definition: common_types.h:182
ColourMatrix
Definition: common_types.h:133
@ CM_SDTV
Definition: common_types.h:135
@ CM_HDTV_COMP_INTERNET
Definition: common_types.h:134
@ CM_UNDEF
Definition: common_types.h:137
@ CM_REVERSIBLE
Definition: common_types.h:136

© 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.