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
51extern "C" {
52#endif
53/*
54* Some basic enumeration types used throughout the codec and by end user ...//
55*/
56
59
61typedef 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 */
72
75typedef enum
76{
77 NO_PF = 0,
80 CWM
82
83static const int NUM_WLT_FILTERS = 8;
84
86typedef enum {
90
92typedef enum {
96
98typedef enum {
122
124typedef enum {
131
133typedef enum {
139
141typedef enum {
148
150typedef enum {
164
166typedef enum {
176
177
179typedef enum {
187
189typedef enum {
196
198typedef 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.