Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/videolan/dav1d.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>2018-10-02 15:30:32 +0300
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>2018-10-02 17:43:26 +0300
commit9e73bb8f42673674c6ddf1e87e72f2c7edaec52e (patch)
treefbaf5dedb557341de06e08703d3c57a91d25c104 /src/decode.c
parent60cc1b8b9eab94545d9a41dca25b123da924442b (diff)
ref_mvs: Check malloc in av1_init_ref_mv_common and propagate error
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diffstat (limited to 'src/decode.c')
-rw-r--r--src/decode.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/decode.c b/src/decode.c
index 86793cb..918a696 100644
--- a/src/decode.c
+++ b/src/decode.c
@@ -2405,13 +2405,14 @@ int decode_frame(Dav1dFrameContext *const f) {
if ((f->frame_hdr.frame_type & 1) || f->frame_hdr.allow_intrabc) {
f->mvs = f->mvs_ref->data;
const int order_hint_n_bits = f->seq_hdr.order_hint * f->seq_hdr.order_hint_n_bits;
- av1_init_ref_mv_common(f->libaom_cm, f->bw >> 1, f->bh >> 1,
- f->b4_stride, f->seq_hdr.sb128,
- f->mvs, f->ref_mvs, f->cur.p.poc, f->refpoc,
- f->refrefpoc, f->frame_hdr.gmv,
- f->frame_hdr.hp, f->frame_hdr.force_integer_mv,
- f->frame_hdr.use_ref_frame_mvs,
- order_hint_n_bits);
+ const int ret = av1_init_ref_mv_common(f->libaom_cm, f->bw >> 1, f->bh >> 1,
+ f->b4_stride, f->seq_hdr.sb128,
+ f->mvs, f->ref_mvs, f->cur.p.poc, f->refpoc,
+ f->refrefpoc, f->frame_hdr.gmv,
+ f->frame_hdr.hp, f->frame_hdr.force_integer_mv,
+ f->frame_hdr.use_ref_frame_mvs,
+ order_hint_n_bits);
+ if (ret < 0) return -ENOMEM;
if (c->n_fc == 1 && f->frame_hdr.use_ref_frame_mvs)
av1_init_ref_mv_tile_row(f->libaom_cm, 0, f->bw, 0, f->bh);
}