| AOMedia AV1 Codec

aom.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
31#ifndef AOM_AOM_AOM_H_
32#define AOM_AOM_AOM_H_
33
34#include "aom/aom_codec.h"
35#include "aom/aom_image.h"
36
37#ifdef __cplusplus
38 extern "C" {
39#endif
40
46 enum aom_com_control_id {
51 AV1_GET_REFERENCE = 230,
52
57 AV1_SET_REFERENCE = 231,
58
64 AV1_COPY_REFERENCE = 232,
65
70 AV1_GET_NEW_FRAME_IMAGE = 233,
71
76 AV1_COPY_NEW_FRAME_IMAGE = 234,
77
81 AOM_DECODER_CTRL_ID_START = 256
82 // No common control IDs should be added after AOM_DECODER_CTRL_ID_START.
83};
84
89 typedef struct av1_ref_frame {
90 int idx;
91 int use_external_ref;
92 aom_image_t img;
93} av1_ref_frame_t;
94
105 AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, av1_ref_frame_t *)
106#define AOM_CTRL_AV1_GET_REFERENCE
107
108 AOM_CTRL_USE_TYPE(AV1_SET_REFERENCE, av1_ref_frame_t *)
109#define AOM_CTRL_AV1_SET_REFERENCE
110
111 AOM_CTRL_USE_TYPE(AV1_COPY_REFERENCE, av1_ref_frame_t *)
112#define AOM_CTRL_AV1_COPY_REFERENCE
113
114 AOM_CTRL_USE_TYPE(AV1_GET_NEW_FRAME_IMAGE, aom_image_t *)
115#define AOM_CTRL_AV1_GET_NEW_FRAME_IMAGE
116
117 AOM_CTRL_USE_TYPE(AV1_COPY_NEW_FRAME_IMAGE, aom_image_t *)
118#define AOM_CTRL_AV1_COPY_NEW_FRAME_IMAGE
119
123#ifdef __cplusplus
124} // extern "C"
125#endif
126
127#endif // AOM_AOM_AOM_H_
aom_codec.h
Describes the codec algorithm interface to applications.
aom_image.h
Describes the aom image descriptor and associated operations.
av1_ref_frame_t
struct av1_ref_frame av1_ref_frame_t
AV1 specific reference frame data struct.
aom_com_control_id
aom_com_control_id
Control functions.
Definition aom.h:46
AOM_DECODER_CTRL_ID_START
@ AOM_DECODER_CTRL_ID_START
Start point of control IDs for aom_dec_control_id. Any new common control IDs should be added above.
Definition aom.h:81
AV1_GET_NEW_FRAME_IMAGE
@ AV1_GET_NEW_FRAME_IMAGE
Codec control function to get a pointer to the new frame.
Definition aom.h:70
AV1_GET_REFERENCE
@ AV1_GET_REFERENCE
Codec control function to get a pointer to a reference frame.
Definition aom.h:51
AV1_SET_REFERENCE
@ AV1_SET_REFERENCE
Codec control function to write a frame into a reference buffer.
Definition aom.h:57
AV1_COPY_NEW_FRAME_IMAGE
@ AV1_COPY_NEW_FRAME_IMAGE
Codec control function to copy the new frame to an external buffer.
Definition aom.h:76
AV1_COPY_REFERENCE
@ AV1_COPY_REFERENCE
Codec control function to get a copy of reference frame from the decoder.
Definition aom.h:64
AOM_CTRL_USE_TYPE
#define AOM_CTRL_USE_TYPE(id, typ)
Creates type checking mechanisms for aom_codec_control.
Definition aom_codec.h:551
aom_image
Image Descriptor.
Definition aom_image.h:182
av1_ref_frame
AV1 specific reference frame data struct.
Definition aom.h:89
av1_ref_frame::use_external_ref
int use_external_ref
Definition aom.h:91
av1_ref_frame::img
aom_image_t img
Definition aom.h:92
av1_ref_frame::idx
int idx
Definition aom.h:90