Skip to content
Snippets Groups Projects
Commit 99c6637d authored by Yunqing Wang's avatar Yunqing Wang Committed by Gerrit Code Review
Browse files

Merge "Remove unused buffer allocation functions" into nextgenv2

parents 0efe92f1 8aa22801
No related branches found
No related tags found
2 merge requests!6Rav1e 11 yushin 1,!3Rav1e 10 yushin
......@@ -25,95 +25,6 @@
#define yv12_align_addr(addr, align) \
(void *)(((size_t)(addr) + ((align)-1)) & (size_t) - (align))
int aom_yv12_de_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf) {
if (ybf) {
// If libaom is using frame buffer callbacks then buffer_alloc_sz must
// not be set.
if (ybf->buffer_alloc_sz > 0) {
aom_free(ybf->buffer_alloc);
}
/* buffer_alloc isn't accessed by most functions. Rather y_buffer,
u_buffer and v_buffer point to buffer_alloc and are used. Clear out
all of this so that a freed pointer isn't inadvertently used */
memset(ybf, 0, sizeof(YV12_BUFFER_CONFIG));
} else {
return -1;
}
return 0;
}
int aom_yv12_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width,
int height, int border) {
if (ybf) {
int aligned_width = (width + 15) & ~15;
int aligned_height = (height + 15) & ~15;
int y_stride = ((aligned_width + 2 * border) + 31) & ~31;
int yplane_size = (aligned_height + 2 * border) * y_stride;
int uv_width = aligned_width >> 1;
int uv_height = aligned_height >> 1;
/** There is currently a bunch of code which assumes
* uv_stride == y_stride/2, so enforce this here. */
int uv_stride = y_stride >> 1;
int uvplane_size = (uv_height + border) * uv_stride;
const int frame_size = yplane_size + 2 * uvplane_size;
if (!ybf->buffer_alloc) {
ybf->buffer_alloc = (uint8_t *)aom_memalign(32, frame_size);
ybf->buffer_alloc_sz = frame_size;
}
if (!ybf->buffer_alloc || ybf->buffer_alloc_sz < frame_size) return -1;
/* Only support allocating buffers that have a border that's a multiple
* of 32. The border restriction is required to get 16-byte alignment of
* the start of the chroma rows without introducing an arbitrary gap
* between planes, which would break the semantics of things like
* aom_img_set_rect(). */
if (border & 0x1f) return -3;
ybf->y_crop_width = width;
ybf->y_crop_height = height;
ybf->y_width = aligned_width;
ybf->y_height = aligned_height;
ybf->y_stride = y_stride;
ybf->uv_crop_width = (width + 1) / 2;
ybf->uv_crop_height = (height + 1) / 2;
ybf->uv_width = uv_width;
ybf->uv_height = uv_height;
ybf->uv_stride = uv_stride;
ybf->alpha_width = 0;
ybf->alpha_height = 0;
ybf->alpha_stride = 0;
ybf->border = border;
ybf->frame_size = frame_size;
ybf->y_buffer = ybf->buffer_alloc + (border * y_stride) + border;
ybf->u_buffer =
ybf->buffer_alloc + yplane_size + (border / 2 * uv_stride) + border / 2;
ybf->v_buffer = ybf->buffer_alloc + yplane_size + uvplane_size +
(border / 2 * uv_stride) + border / 2;
ybf->alpha_buffer = NULL;
ybf->corrupted = 0; /* assume not currupted by errors */
return 0;
}
return -2;
}
int aom_yv12_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width, int height,
int border) {
if (ybf) {
aom_yv12_de_alloc_frame_buffer(ybf);
return aom_yv12_realloc_frame_buffer(ybf, width, height, border);
}
return -2;
}
#if CONFIG_AV1
// TODO(jkoleszar): Maybe replace this with struct aom_image
......
......@@ -71,12 +71,6 @@ typedef struct yv12_buffer_config {
#define YV12_FLAG_HIGHBITDEPTH 8
int aom_yv12_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width, int height,
int border);
int aom_yv12_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width,
int height, int border);
int aom_yv12_de_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf);
int aom_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf, int width, int height,
int ss_x, int ss_y,
#if CONFIG_AOM_HIGHBITDEPTH
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment