Update aom to v1.0.0

Update aom to commit id d14c5bb4f336ef1842046089849dee4a301fbbf0.
This commit is contained in:
trav90 2018-10-19 21:52:15 -05:00 • committed by Roy Tam
commit 48f6d2e034
1087 changed files with 154333 additions and 265310 deletions

View file

@ -16,22 +16,19 @@
extern "C" {
#endif
#include "./aom_config.h"
#include "config/aom_config.h"
#include "aom/aom_codec.h"
#include "aom/aom_frame_buffer.h"
#include "aom/aom_integer.h"
#if CONFIG_EXT_PARTITION
#define AOMINNERBORDERINPIXELS 160
#else
#define AOMINNERBORDERINPIXELS 96
#endif // CONFIG_EXT_PARTITION
#define AOM_INTERP_EXTEND 4
// TODO(jingning): Use unified inter predictor for encoder and
// decoder during the development process. Revisit the frame border
// to improve the decoder performance.
#define AOM_BORDER_IN_PIXELS 160
#define AOM_BORDER_IN_PIXELS 288
typedef struct yv12_buffer_config {
union {
@ -82,12 +79,18 @@ typedef struct yv12_buffer_config {
uint8_t *buffers[4];
};
#if CONFIG_HIGHBITDEPTH && CONFIG_GLOBAL_MOTION
// Indicate whether y_buffer, u_buffer, and v_buffer points to the internally
// allocated memory or external buffers.
int use_external_refernce_buffers;
// This is needed to store y_buffer, u_buffer, and v_buffer when set reference
// uses an external refernece, and restore those buffer pointers after the
// external reference frame is no longer used.
uint8_t *store_buf_adr[3];
// If the frame is stored in a 16-bit buffer, this stores an 8-bit version
// for use in global motion detection. It is allocated on-demand.
uint8_t *y_buffer_8bit;
int buf_8bit_valid;
#endif
uint8_t *buffer_alloc;
size_t buffer_alloc_sz;
@ -96,8 +99,10 @@ typedef struct yv12_buffer_config {
int subsampling_x;
int subsampling_y;
unsigned int bit_depth;
aom_color_space_t color_space;
aom_transfer_function_t transfer_function;
aom_color_primaries_t color_primaries;
aom_transfer_characteristics_t transfer_characteristics;
aom_matrix_coefficients_t matrix_coefficients;
int monochrome;
aom_chroma_sample_position_t chroma_sample_position;
aom_color_range_t color_range;
int render_width;
@ -110,11 +115,8 @@ typedef struct yv12_buffer_config {
#define YV12_FLAG_HIGHBITDEPTH 8
int aom_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width, int height,
int ss_x, int ss_y,
#if CONFIG_HIGHBITDEPTH
int use_highbitdepth,
#endif
int border, int byte_alignment);
int ss_x, int ss_y, int use_highbitdepth, int border,
int byte_alignment);
// Updates the yv12 buffer config with the frame buffer. |byte_alignment| must
// be a power of 2, from 32 to 1024. 0 sets legacy alignment. If cb is not
@ -124,10 +126,7 @@ int aom_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width, int height,
// internally to decode the current frame. Returns 0 on success. Returns < 0
// on failure.
int aom_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width, int height,
int ss_x, int ss_y,
#if CONFIG_HIGHBITDEPTH
int use_highbitdepth,
#endif
int ss_x, int ss_y, int use_highbitdepth,
int border, int byte_alignment,
aom_codec_frame_buffer_t *fb,
aom_get_frame_buffer_cb_fn_t cb, void *cb_priv);