Merge "Remove unused buffer allocation functions" into nextgenv2
This commit is contained in:
Коммит
99c6637dfa
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче