summaryrefslogtreecommitdiff
path: root/media/libaom/src/av1/common/frame_buffers.c
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2021-03-03 18:48:48 +0000
committerMoonchild <moonchild@palemoon.org>2021-03-04 00:03:46 +0000
commit44d2b4a86e3d862eb1b68db3d9a29b9dbf3da746 (patch)
tree9d9cc4d21c93ae3e1a88ab5c160c3be5f6af0ca9 /media/libaom/src/av1/common/frame_buffers.c
parent353943d1a48086a39ff5f4365b22f8f058d5f66e (diff)
downloadaura-central-44d2b4a86e3d862eb1b68db3d9a29b9dbf3da746.tar.gz
Issue mcp-graveyard/UXP%1737 - Import libaom 2.0.2 source
Diffstat (limited to 'media/libaom/src/av1/common/frame_buffers.c')
-rw-r--r--media/libaom/src/av1/common/frame_buffers.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/media/libaom/src/av1/common/frame_buffers.c b/media/libaom/src/av1/common/frame_buffers.c
index fd6c4bc79..f10ccd594 100644
--- a/media/libaom/src/av1/common/frame_buffers.c
+++ b/media/libaom/src/av1/common/frame_buffers.c
@@ -22,7 +22,11 @@ int av1_alloc_internal_frame_buffers(InternalFrameBufferList *list) {
AOM_MAXIMUM_REF_BUFFERS + AOM_MAXIMUM_WORK_BUFFERS;
list->int_fb = (InternalFrameBuffer *)aom_calloc(
list->num_internal_frame_buffers, sizeof(*list->int_fb));
- return (list->int_fb == NULL);
+ if (list->int_fb == NULL) {
+ list->num_internal_frame_buffers = 0;
+ return 1;
+ }
+ return 0;
}
void av1_free_internal_frame_buffers(InternalFrameBufferList *list) {
@@ -36,6 +40,7 @@ void av1_free_internal_frame_buffers(InternalFrameBufferList *list) {
}
aom_free(list->int_fb);
list->int_fb = NULL;
+ list->num_internal_frame_buffers = 0;
}
void av1_zero_unused_internal_frame_buffers(InternalFrameBufferList *list) {
@@ -69,7 +74,10 @@ int av1_get_frame_buffer(void *cb_priv, size_t min_size,
// due to access uninitialized memory in frame border. It could be
// skipped if border were totally removed.
int_fb_list->int_fb[i].data = (uint8_t *)aom_calloc(1, min_size);
- if (!int_fb_list->int_fb[i].data) return -1;
+ if (!int_fb_list->int_fb[i].data) {
+ int_fb_list->int_fb[i].size = 0;
+ return -1;
+ }
int_fb_list->int_fb[i].size = min_size;
}
@@ -86,6 +94,5 @@ int av1_release_frame_buffer(void *cb_priv, aom_codec_frame_buffer_t *fb) {
InternalFrameBuffer *const int_fb = (InternalFrameBuffer *)fb->priv;
(void)cb_priv;
if (int_fb) int_fb->in_use = 0;
- fb->priv = NULL;
return 0;
}