aom.h
Go to the documentation of this file.
/*
* Copyright (c) 2016, Alliance for Open Media. All rights reserved.
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file, you can
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
* Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
#ifndef AOM_AOM_AOM_H_
#define AOM_AOM_AOM_H_
#include "aom/aom_codec.h"
#include "aom/aom_image.h"
#ifdef __cplusplus
extern "C" {
#endif
enum aom_com_control_id {
AV1_GET_REFERENCE = 230,
AV1_SET_REFERENCE = 231,
AV1_COPY_REFERENCE = 232,
AV1_GET_NEW_FRAME_IMAGE = 233,
AV1_COPY_NEW_FRAME_IMAGE = 234,
AOM_DECODER_CTRL_ID_START = 256
// No common control IDs should be added after AOM_DECODER_CTRL_ID_START.
};
typedef struct av1_ref_frame {
int idx;
int use_external_ref;
aom_image_t img;
} av1_ref_frame_t;
AOM_CTRL_USE_TYPE(AV1_GET_REFERENCE, av1_ref_frame_t *)
#define AOM_CTRL_AV1_GET_REFERENCE
AOM_CTRL_USE_TYPE(AV1_SET_REFERENCE, av1_ref_frame_t *)
#define AOM_CTRL_AV1_SET_REFERENCE
AOM_CTRL_USE_TYPE(AV1_COPY_REFERENCE, av1_ref_frame_t *)
#define AOM_CTRL_AV1_COPY_REFERENCE
AOM_CTRL_USE_TYPE(AV1_GET_NEW_FRAME_IMAGE, aom_image_t *)
#define AOM_CTRL_AV1_GET_NEW_FRAME_IMAGE
AOM_CTRL_USE_TYPE(AV1_COPY_NEW_FRAME_IMAGE, aom_image_t *)
#define AOM_CTRL_AV1_COPY_NEW_FRAME_IMAGE
#ifdef __cplusplus
} // extern "C"
#endif
#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.
aom_image_t
struct aom_image aom_image_t
Image Descriptor.
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
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