AOMedia AV1 Codec: aom/aom_image.h Source File

| AOMedia AV1 Codec

aom_image.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016, Alliance for Open Media. All rights reserved.
3 *
4 * This source code is subject to the terms of the BSD 2 Clause License and
5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6 * was not distributed with this source code in the LICENSE file, you can
7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
8 * Media Patent License 1.0 was not distributed with this source code in the
9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
10 */
11
16#ifndef AOM_AOM_AOM_IMAGE_H_
17#define AOM_AOM_AOM_IMAGE_H_
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#include "aom/aom_integer.h"
24
33#define AOM_IMAGE_ABI_VERSION (9)
34
35#define AOM_IMG_FMT_PLANAR 0x100
36#define AOM_IMG_FMT_UV_FLIP 0x200
38#define AOM_IMG_FMT_HIGHBITDEPTH 0x800
39
41 typedef enum aom_img_fmt {
42 AOM_IMG_FMT_NONE,
43 AOM_IMG_FMT_YV12 =
44 AOM_IMG_FMT_PLANAR | AOM_IMG_FMT_UV_FLIP | 1,
45 AOM_IMG_FMT_I420 = AOM_IMG_FMT_PLANAR | 2,
51 AOM_IMG_FMT_AOMYV12 = AOM_IMG_FMT_PLANAR | AOM_IMG_FMT_UV_FLIP | 3,
57 AOM_IMG_FMT_AOMI420 = AOM_IMG_FMT_PLANAR | 4,
58 AOM_IMG_FMT_I422 = AOM_IMG_FMT_PLANAR | 5,
59 AOM_IMG_FMT_I444 = AOM_IMG_FMT_PLANAR | 6,
62#define AOM_HAVE_IMG_FMT_NV12 1
63 AOM_IMG_FMT_NV12 =
64 AOM_IMG_FMT_PLANAR | 7,
65 AOM_IMG_FMT_I42016 = AOM_IMG_FMT_I420 | AOM_IMG_FMT_HIGHBITDEPTH,
66 AOM_IMG_FMT_YV1216 = AOM_IMG_FMT_YV12 | AOM_IMG_FMT_HIGHBITDEPTH,
67 AOM_IMG_FMT_I42216 = AOM_IMG_FMT_I422 | AOM_IMG_FMT_HIGHBITDEPTH,
68 AOM_IMG_FMT_I44416 = AOM_IMG_FMT_I444 | AOM_IMG_FMT_HIGHBITDEPTH,
69} aom_img_fmt_t;
70
72 typedef enum aom_color_primaries {
73 AOM_CICP_CP_RESERVED_0 = 0,
74 AOM_CICP_CP_BT_709 = 1,
75 AOM_CICP_CP_UNSPECIFIED = 2,
76 AOM_CICP_CP_RESERVED_3 = 3,
77 AOM_CICP_CP_BT_470_M = 4,
78 AOM_CICP_CP_BT_470_B_G = 5,
79 AOM_CICP_CP_BT_601 = 6,
80 AOM_CICP_CP_SMPTE_240 = 7,
81 AOM_CICP_CP_GENERIC_FILM =
82 8,
83 AOM_CICP_CP_BT_2020 = 9,
84 AOM_CICP_CP_XYZ = 10,
85 AOM_CICP_CP_SMPTE_431 = 11,
86 AOM_CICP_CP_SMPTE_432 = 12,
87 AOM_CICP_CP_RESERVED_13 = 13,
88 AOM_CICP_CP_EBU_3213 = 22,
89 AOM_CICP_CP_RESERVED_23 = 23
90} aom_color_primaries_t;
91
93 typedef enum aom_transfer_characteristics {
94 AOM_CICP_TC_RESERVED_0 = 0,
95 AOM_CICP_TC_BT_709 = 1,
96 AOM_CICP_TC_UNSPECIFIED = 2,
97 AOM_CICP_TC_RESERVED_3 = 3,
98 AOM_CICP_TC_BT_470_M = 4,
99 AOM_CICP_TC_BT_470_B_G = 5,
100 AOM_CICP_TC_BT_601 = 6,
101 AOM_CICP_TC_SMPTE_240 = 7,
102 AOM_CICP_TC_LINEAR = 8,
103 AOM_CICP_TC_LOG_100 = 9,
104 AOM_CICP_TC_LOG_100_SQRT10 =
105 10,
106 AOM_CICP_TC_IEC_61966 = 11,
107 AOM_CICP_TC_BT_1361 = 12,
108 AOM_CICP_TC_SRGB = 13,
109 AOM_CICP_TC_BT_2020_10_BIT = 14,
110 AOM_CICP_TC_BT_2020_12_BIT = 15,
111 AOM_CICP_TC_SMPTE_2084 = 16,
112 AOM_CICP_TC_SMPTE_428 = 17,
113 AOM_CICP_TC_HLG = 18,
114 AOM_CICP_TC_RESERVED_19 = 19
115} aom_transfer_characteristics_t;
116
117
119 typedef enum aom_matrix_coefficients {
120 AOM_CICP_MC_IDENTITY = 0,
121 AOM_CICP_MC_BT_709 = 1,
122 AOM_CICP_MC_UNSPECIFIED = 2,
123 AOM_CICP_MC_RESERVED_3 = 3,
124 AOM_CICP_MC_FCC = 4,
125 AOM_CICP_MC_BT_470_B_G = 5,
126 AOM_CICP_MC_BT_601 = 6,
127 AOM_CICP_MC_SMPTE_240 = 7,
128 AOM_CICP_MC_SMPTE_YCGCO = 8,
129 AOM_CICP_MC_BT_2020_NCL =
130 9,
131 AOM_CICP_MC_BT_2020_CL = 10,
132 AOM_CICP_MC_SMPTE_2085 = 11,
133 AOM_CICP_MC_CHROMAT_NCL =
134 12,
135 AOM_CICP_MC_CHROMAT_CL = 13,
136 AOM_CICP_MC_ICTCP = 14,
137 AOM_CICP_MC_RESERVED_15 = 15,
138 AOM_CICP_MC_IPT_C2 = 15,
139 AOM_CICP_MC_YCGCO_RE = 16,
140 AOM_CICP_MC_YCGCO_RO = 17,
142} aom_matrix_coefficients_t;
143
145 typedef enum aom_color_range {
146 AOM_CR_STUDIO_RANGE = 0,
149 AOM_CR_FULL_RANGE = 1
152} aom_color_range_t;
153
155 typedef enum aom_chroma_sample_position {
156 AOM_CSP_UNKNOWN = 0,
157 AOM_CSP_VERTICAL = 1,
159 AOM_CSP_COLOCATED = 2,
160 AOM_CSP_RESERVED = 3
161} aom_chroma_sample_position_t;
162
163
187 typedef enum aom_metadata_insert_flags {
188 AOM_MIF_NON_KEY_FRAME = 0,
189 AOM_MIF_KEY_FRAME = 1,
190 AOM_MIF_ANY_FRAME = 2,
192 AOM_MIF_NON_KEY_FRAME_LAYER_SPECIFIC = 16,
194 AOM_MIF_KEY_FRAME_LAYER_SPECIFIC = 17,
196 AOM_MIF_ANY_FRAME_LAYER_SPECIFIC = 18,
197} aom_metadata_insert_flags_t;
198
200 typedef struct aom_metadata_array aom_metadata_array_t;
201
203 typedef struct aom_metadata {
204 uint32_t type;
205 uint8_t *payload;
206 size_t sz;
207 aom_metadata_insert_flags_t insert_flag;
208} aom_metadata_t;
209
211 typedef struct aom_image {
212 aom_img_fmt_t fmt;
213 aom_color_primaries_t cp;
214 aom_transfer_characteristics_t tc;
215 aom_matrix_coefficients_t mc;
216 int monochrome;
217 aom_chroma_sample_position_t csp;
218 aom_color_range_t range;
219
220 /* Image storage dimensions */
221 unsigned int w;
222 unsigned int h;
223 unsigned int bit_depth;
224
225 /* Image display dimensions */
226 unsigned int d_w;
227 unsigned int d_h;
228
229 /* Image intended rendering dimensions */
230 unsigned int r_w;
231 unsigned int r_h;
232
233 /* Chroma subsampling info */
234 unsigned int x_chroma_shift;
235 unsigned int y_chroma_shift;
236
237/* Image data pointers. */
238#define AOM_PLANE_PACKED 0
239#define AOM_PLANE_Y 0
240#define AOM_PLANE_U 1
241#define AOM_PLANE_V 2
242 /* planes[AOM_PLANE_V] = NULL and stride[AOM_PLANE_V] = 0 when fmt ==
243 * AOM_IMG_FMT_NV12 */
244 unsigned char *planes[3];
250 int stride[3];
251 size_t sz;
252
253 int bps;
254
255 int temporal_id;
256 int spatial_id;
257
261 void *user_priv;
262
263 /* The following members should be treated as private. */
264 unsigned char *img_data;
265 int img_data_owner;
266 int self_allocd;
267
268 aom_metadata_array_t
269 *metadata;
270
271 void *fb_priv;
272} aom_image_t;
273
295 aom_image_t *aom_img_alloc(aom_image_t *img, aom_img_fmt_t fmt,
296 unsigned int d_w, unsigned int d_h,
297 unsigned int align);
298
352 aom_image_t *aom_img_wrap(aom_image_t *img, aom_img_fmt_t fmt, unsigned int d_w,
353 unsigned int d_h, unsigned int stride_align,
354 unsigned char *img_data);
355
382 aom_image_t *aom_img_alloc_with_border(aom_image_t *img, aom_img_fmt_t fmt,
383 unsigned int d_w, unsigned int d_h,
384 unsigned int align,
385 unsigned int size_align,
386 unsigned int border);
387
403 int aom_img_set_rect(aom_image_t *img, unsigned int x, unsigned int y,
404 unsigned int w, unsigned int h, unsigned int border);
405
413 void aom_img_flip(aom_image_t *img);
414
421 void aom_img_free(aom_image_t *img);
422
430 int aom_img_plane_width(const aom_image_t *img, int plane);
431
439 int aom_img_plane_height(const aom_image_t *img, int plane);
440
456 int aom_img_add_metadata(aom_image_t *img, uint32_t type, const uint8_t *data,
457 size_t sz, aom_metadata_insert_flags_t insert_flag);
458
470 const aom_metadata_t *aom_img_get_metadata(const aom_image_t *img,
471 size_t index);
472
484 size_t aom_img_num_metadata(const aom_image_t *img);
485
493 void aom_img_remove_metadata(aom_image_t *img);
494
509 aom_metadata_t *aom_img_metadata_alloc(uint32_t type, const uint8_t *data,
510 size_t sz,
511 aom_metadata_insert_flags_t insert_flag);
512
519 void aom_img_metadata_free(aom_metadata_t *metadata);
520
521#ifdef __cplusplus
522} // extern "C"
523#endif
524
525#endif // AOM_AOM_AOM_IMAGE_H_
aom_metadata_insert_flags
aom_metadata_insert_flags
List of insert flags for Metadata.
Definition aom_image.h:187
AOM_MIF_KEY_FRAME
@ AOM_MIF_KEY_FRAME
Definition aom_image.h:189
AOM_MIF_ANY_FRAME
@ AOM_MIF_ANY_FRAME
Definition aom_image.h:190
AOM_MIF_ANY_FRAME_LAYER_SPECIFIC
@ AOM_MIF_ANY_FRAME_LAYER_SPECIFIC
Definition aom_image.h:196
AOM_MIF_NON_KEY_FRAME
@ AOM_MIF_NON_KEY_FRAME
Definition aom_image.h:188
AOM_MIF_KEY_FRAME_LAYER_SPECIFIC
@ AOM_MIF_KEY_FRAME_LAYER_SPECIFIC
Definition aom_image.h:194
AOM_MIF_NON_KEY_FRAME_LAYER_SPECIFIC
@ AOM_MIF_NON_KEY_FRAME_LAYER_SPECIFIC
Definition aom_image.h:192
aom_img_set_rect
int aom_img_set_rect(aom_image_t *img, unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned int border)
Set the rectangle identifying the displayed portion of the image.
aom_metadata_insert_flags_t
enum aom_metadata_insert_flags aom_metadata_insert_flags_t
List of insert flags for Metadata.
aom_chroma_sample_position
aom_chroma_sample_position
List of chroma sample positions.
Definition aom_image.h:155
AOM_CSP_COLOCATED
@ AOM_CSP_COLOCATED
Definition aom_image.h:159
AOM_CSP_UNKNOWN
@ AOM_CSP_UNKNOWN
Definition aom_image.h:156
AOM_CSP_RESERVED
@ AOM_CSP_RESERVED
Definition aom_image.h:160
AOM_CSP_VERTICAL
@ AOM_CSP_VERTICAL
Definition aom_image.h:157
aom_img_alloc_with_border
aom_image_t * aom_img_alloc_with_border(aom_image_t *img, aom_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align, unsigned int size_align, unsigned int border)
Open a descriptor, allocating storage for the underlying image with a border.
aom_img_flip
void aom_img_flip(aom_image_t *img)
Flip the image vertically (top for bottom).
aom_chroma_sample_position_t
enum aom_chroma_sample_position aom_chroma_sample_position_t
List of chroma sample positions.
aom_transfer_characteristics
aom_transfer_characteristics
List of supported transfer functions.
Definition aom_image.h:93
AOM_CICP_TC_BT_2020_10_BIT
@ AOM_CICP_TC_BT_2020_10_BIT
Definition aom_image.h:109
AOM_CICP_TC_RESERVED_19
@ AOM_CICP_TC_RESERVED_19
Definition aom_image.h:114
AOM_CICP_TC_RESERVED_0
@ AOM_CICP_TC_RESERVED_0
Definition aom_image.h:94
AOM_CICP_TC_BT_470_M
@ AOM_CICP_TC_BT_470_M
Definition aom_image.h:98
AOM_CICP_TC_HLG
@ AOM_CICP_TC_HLG
Definition aom_image.h:113
AOM_CICP_TC_SMPTE_428
@ AOM_CICP_TC_SMPTE_428
Definition aom_image.h:112
AOM_CICP_TC_RESERVED_3
@ AOM_CICP_TC_RESERVED_3
Definition aom_image.h:97
AOM_CICP_TC_LOG_100
@ AOM_CICP_TC_LOG_100
Definition aom_image.h:103
AOM_CICP_TC_IEC_61966
@ AOM_CICP_TC_IEC_61966
Definition aom_image.h:106
AOM_CICP_TC_BT_601
@ AOM_CICP_TC_BT_601
Definition aom_image.h:100
AOM_CICP_TC_BT_470_B_G
@ AOM_CICP_TC_BT_470_B_G
Definition aom_image.h:99
AOM_CICP_TC_LOG_100_SQRT10
@ AOM_CICP_TC_LOG_100_SQRT10
Definition aom_image.h:104
AOM_CICP_TC_UNSPECIFIED
@ AOM_CICP_TC_UNSPECIFIED
Definition aom_image.h:96
AOM_CICP_TC_SRGB
@ AOM_CICP_TC_SRGB
Definition aom_image.h:108
AOM_CICP_TC_LINEAR
@ AOM_CICP_TC_LINEAR
Definition aom_image.h:102
AOM_CICP_TC_SMPTE_2084
@ AOM_CICP_TC_SMPTE_2084
Definition aom_image.h:111
AOM_CICP_TC_SMPTE_240
@ AOM_CICP_TC_SMPTE_240
Definition aom_image.h:101
AOM_CICP_TC_BT_1361
@ AOM_CICP_TC_BT_1361
Definition aom_image.h:107
AOM_CICP_TC_BT_2020_12_BIT
@ AOM_CICP_TC_BT_2020_12_BIT
Definition aom_image.h:110
AOM_CICP_TC_BT_709
@ AOM_CICP_TC_BT_709
Definition aom_image.h:95
aom_metadata_array_t
struct aom_metadata_array aom_metadata_array_t
Array of aom_metadata structs for an image.
Definition aom_image.h:200
aom_transfer_characteristics_t
enum aom_transfer_characteristics aom_transfer_characteristics_t
List of supported transfer functions.
aom_img_wrap
aom_image_t * aom_img_wrap(aom_image_t *img, aom_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int stride_align, unsigned char *img_data)
Open a descriptor, using existing storage for the underlying image.
aom_color_primaries
aom_color_primaries
List of supported color primaries.
Definition aom_image.h:72
AOM_CICP_CP_UNSPECIFIED
@ AOM_CICP_CP_UNSPECIFIED
Definition aom_image.h:75
AOM_CICP_CP_SMPTE_240
@ AOM_CICP_CP_SMPTE_240
Definition aom_image.h:80
AOM_CICP_CP_SMPTE_432
@ AOM_CICP_CP_SMPTE_432
Definition aom_image.h:86
AOM_CICP_CP_RESERVED_23
@ AOM_CICP_CP_RESERVED_23
Definition aom_image.h:89
AOM_CICP_CP_BT_601
@ AOM_CICP_CP_BT_601
Definition aom_image.h:79
AOM_CICP_CP_RESERVED_13
@ AOM_CICP_CP_RESERVED_13
Definition aom_image.h:87
AOM_CICP_CP_SMPTE_431
@ AOM_CICP_CP_SMPTE_431
Definition aom_image.h:85
AOM_CICP_CP_BT_470_M
@ AOM_CICP_CP_BT_470_M
Definition aom_image.h:77
AOM_CICP_CP_XYZ
@ AOM_CICP_CP_XYZ
Definition aom_image.h:84
AOM_CICP_CP_BT_2020
@ AOM_CICP_CP_BT_2020
Definition aom_image.h:83
AOM_CICP_CP_RESERVED_0
@ AOM_CICP_CP_RESERVED_0
Definition aom_image.h:73
AOM_CICP_CP_BT_470_B_G
@ AOM_CICP_CP_BT_470_B_G
Definition aom_image.h:78
AOM_CICP_CP_GENERIC_FILM
@ AOM_CICP_CP_GENERIC_FILM
Definition aom_image.h:81
AOM_CICP_CP_BT_709
@ AOM_CICP_CP_BT_709
Definition aom_image.h:74
AOM_CICP_CP_EBU_3213
@ AOM_CICP_CP_EBU_3213
Definition aom_image.h:88
AOM_CICP_CP_RESERVED_3
@ AOM_CICP_CP_RESERVED_3
Definition aom_image.h:76
aom_color_range_t
enum aom_color_range aom_color_range_t
List of supported color range.
AOM_IMG_FMT_HIGHBITDEPTH
#define AOM_IMG_FMT_HIGHBITDEPTH
Definition aom_image.h:38
aom_img_alloc
aom_image_t * aom_img_alloc(aom_image_t *img, aom_img_fmt_t fmt, unsigned int d_w, unsigned int d_h, unsigned int align)
Open a descriptor, allocating storage for the underlying image.
aom_matrix_coefficients
aom_matrix_coefficients
List of supported matrix coefficients.
Definition aom_image.h:119
AOM_CICP_MC_IPT_C2
@ AOM_CICP_MC_IPT_C2
Definition aom_image.h:138
AOM_CICP_MC_UNSPECIFIED
@ AOM_CICP_MC_UNSPECIFIED
Definition aom_image.h:122
AOM_CICP_MC_BT_601
@ AOM_CICP_MC_BT_601
Definition aom_image.h:126
AOM_CICP_MC_IDENTITY
@ AOM_CICP_MC_IDENTITY
Definition aom_image.h:120
AOM_CICP_MC_RESERVED_15
@ AOM_CICP_MC_RESERVED_15
Definition aom_image.h:137
AOM_CICP_MC_CHROMAT_NCL
@ AOM_CICP_MC_CHROMAT_NCL
Definition aom_image.h:133
AOM_CICP_MC_BT_2020_CL
@ AOM_CICP_MC_BT_2020_CL
Definition aom_image.h:131
AOM_CICP_MC_SMPTE_2085
@ AOM_CICP_MC_SMPTE_2085
Definition aom_image.h:132
AOM_CICP_MC_SMPTE_240
@ AOM_CICP_MC_SMPTE_240
Definition aom_image.h:127
AOM_CICP_MC_YCGCO_RE
@ AOM_CICP_MC_YCGCO_RE
Definition aom_image.h:139
AOM_CICP_MC_RESERVED_3
@ AOM_CICP_MC_RESERVED_3
Definition aom_image.h:123
AOM_CICP_MC_ICTCP
@ AOM_CICP_MC_ICTCP
Definition aom_image.h:136
AOM_CICP_MC_SMPTE_YCGCO
@ AOM_CICP_MC_SMPTE_YCGCO
Definition aom_image.h:128
AOM_CICP_MC_CHROMAT_CL
@ AOM_CICP_MC_CHROMAT_CL
Definition aom_image.h:135
AOM_CICP_MC_BT_709
@ AOM_CICP_MC_BT_709
Definition aom_image.h:121
AOM_CICP_MC_YCGCO_RO
@ AOM_CICP_MC_YCGCO_RO
Definition aom_image.h:140
AOM_CICP_MC_BT_2020_NCL
@ AOM_CICP_MC_BT_2020_NCL
Definition aom_image.h:129
AOM_CICP_MC_FCC
@ AOM_CICP_MC_FCC
Definition aom_image.h:124
AOM_CICP_MC_BT_470_B_G
@ AOM_CICP_MC_BT_470_B_G
Definition aom_image.h:125
aom_img_num_metadata
size_t aom_img_num_metadata(const aom_image_t *img)
Return the number of metadata blocks within the image.
AOM_IMG_FMT_PLANAR
#define AOM_IMG_FMT_PLANAR
Definition aom_image.h:35
aom_img_remove_metadata
void aom_img_remove_metadata(aom_image_t *img)
Remove metadata from image.
aom_color_primaries_t
enum aom_color_primaries aom_color_primaries_t
List of supported color primaries.
aom_img_fmt
aom_img_fmt
List of supported image formats.
Definition aom_image.h:41
AOM_IMG_FMT_I42216
@ AOM_IMG_FMT_I42216
Definition aom_image.h:67
AOM_IMG_FMT_I42016
@ AOM_IMG_FMT_I42016
Definition aom_image.h:65
AOM_IMG_FMT_AOMI420
@ AOM_IMG_FMT_AOMI420
Definition aom_image.h:57
AOM_IMG_FMT_YV1216
@ AOM_IMG_FMT_YV1216
Definition aom_image.h:66
AOM_IMG_FMT_I444
@ AOM_IMG_FMT_I444
Definition aom_image.h:59
AOM_IMG_FMT_I422
@ AOM_IMG_FMT_I422
Definition aom_image.h:58
AOM_IMG_FMT_I44416
@ AOM_IMG_FMT_I44416
Definition aom_image.h:68
AOM_IMG_FMT_I420
@ AOM_IMG_FMT_I420
Definition aom_image.h:45
AOM_IMG_FMT_NV12
@ AOM_IMG_FMT_NV12
Definition aom_image.h:63
AOM_IMG_FMT_YV12
@ AOM_IMG_FMT_YV12
Definition aom_image.h:43
AOM_IMG_FMT_AOMYV12
@ AOM_IMG_FMT_AOMYV12
Definition aom_image.h:51
aom_img_get_metadata
const aom_metadata_t * aom_img_get_metadata(const aom_image_t *img, size_t index)
Return a metadata payload stored within the image metadata array.
aom_matrix_coefficients_t
enum aom_matrix_coefficients aom_matrix_coefficients_t
List of supported matrix coefficients.
aom_img_fmt_t
enum aom_img_fmt aom_img_fmt_t
List of supported image formats.
aom_metadata_t
struct aom_metadata aom_metadata_t
Metadata payload.
aom_img_plane_height
int aom_img_plane_height(const aom_image_t *img, int plane)
Get the height of a plane.
aom_img_metadata_free
void aom_img_metadata_free(aom_metadata_t *metadata)
Free metadata struct.
aom_img_metadata_alloc
aom_metadata_t * aom_img_metadata_alloc(uint32_t type, const uint8_t *data, size_t sz, aom_metadata_insert_flags_t insert_flag)
Allocate memory for aom_metadata struct.
aom_img_add_metadata
int aom_img_add_metadata(aom_image_t *img, uint32_t type, const uint8_t *data, size_t sz, aom_metadata_insert_flags_t insert_flag)
Add metadata to image.
aom_color_range
aom_color_range
List of supported color range.
Definition aom_image.h:145
AOM_CR_STUDIO_RANGE
@ AOM_CR_STUDIO_RANGE
Definition aom_image.h:146
AOM_CR_FULL_RANGE
@ AOM_CR_FULL_RANGE
Definition aom_image.h:149
aom_img_plane_width
int aom_img_plane_width(const aom_image_t *img, int plane)
Get the width of a plane.
AOM_IMG_FMT_UV_FLIP
#define AOM_IMG_FMT_UV_FLIP
Definition aom_image.h:36
aom_image_t
struct aom_image aom_image_t
Image Descriptor.
aom_img_free
void aom_img_free(aom_image_t *img)
Close an image descriptor.
aom_image
Image Descriptor.
Definition aom_image.h:211
aom_image::temporal_id
int temporal_id
Definition aom_image.h:255
aom_image::spatial_id
int spatial_id
Definition aom_image.h:256
aom_image::h
unsigned int h
Definition aom_image.h:222
aom_image::bit_depth
unsigned int bit_depth
Definition aom_image.h:223
aom_image::mc
aom_matrix_coefficients_t mc
Definition aom_image.h:215
aom_image::csp
aom_chroma_sample_position_t csp
Definition aom_image.h:217
aom_image::user_priv
void * user_priv
The following member may be set by the application to associate data with this image.
Definition aom_image.h:261
aom_image::y_chroma_shift
unsigned int y_chroma_shift
Definition aom_image.h:235
aom_image::w
unsigned int w
Definition aom_image.h:221
aom_image::fmt
aom_img_fmt_t fmt
Definition aom_image.h:212
aom_image::stride
int stride[3]
Definition aom_image.h:250
aom_image::img_data
unsigned char * img_data
Definition aom_image.h:264
aom_image::x_chroma_shift
unsigned int x_chroma_shift
Definition aom_image.h:234
aom_image::d_w
unsigned int d_w
Definition aom_image.h:226
aom_image::bps
int bps
Definition aom_image.h:253
aom_image::r_w
unsigned int r_w
Definition aom_image.h:230
aom_image::tc
aom_transfer_characteristics_t tc
Definition aom_image.h:214
aom_image::r_h
unsigned int r_h
Definition aom_image.h:231
aom_image::fb_priv
void * fb_priv
Definition aom_image.h:271
aom_image::monochrome
int monochrome
Definition aom_image.h:216
aom_image::d_h
unsigned int d_h
Definition aom_image.h:227
aom_image::range
aom_color_range_t range
Definition aom_image.h:218
aom_image::planes
unsigned char * planes[3]
Definition aom_image.h:244
aom_image::img_data_owner
int img_data_owner
Definition aom_image.h:265
aom_image::self_allocd
int self_allocd
Definition aom_image.h:266
aom_image::cp
aom_color_primaries_t cp
Definition aom_image.h:213
aom_image::sz
size_t sz
Definition aom_image.h:251
aom_image::metadata
aom_metadata_array_t * metadata
Definition aom_image.h:269
aom_metadata
Metadata payload.
Definition aom_image.h:203
aom_metadata::type
uint32_t type
Definition aom_image.h:204
aom_metadata::payload
uint8_t * payload
Definition aom_image.h:205
aom_metadata::insert_flag
aom_metadata_insert_flags_t insert_flag
Definition aom_image.h:207
aom_metadata::sz
size_t sz
Definition aom_image.h:206