diff options
author | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2018-10-02 15:30:32 +0300 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2018-10-02 17:43:26 +0300 |
commit | 9e73bb8f42673674c6ddf1e87e72f2c7edaec52e (patch) | |
tree | fbaf5dedb557341de06e08703d3c57a91d25c104 /src/decode.c | |
parent | 60cc1b8b9eab94545d9a41dca25b123da924442b (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.c | 15 |
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); } |