`Rav1dFrameContext`: Make fields safe
Closed this issue · 0 comments
randomPoison commented
Make all raw pointer fields into appropriate safe smart pointer or collection types. Note that the Rav1dContext
pointer is handled separately in #695.
-
mvs_ref
,mvs
- ReplaceRav1dRef
with anArc
. -
ref_mvs
,ref_mvs_ref
- ReplaceRav1dRef
with anArc
. -
cur_segmap
,cur_segmap_ref
- ReplaceRav1dRef
with anArc
. -
prev_segmap
,prev_segmap_ref
- ReplaceRav1dRef
with anArc
. -
ts
,n_ts
- Replace withAlignedVec32
. -
dsp
- Referencesc.dsp
indexed byseq_hdr.hbd
. Might replace with an offset, but might also make sense to remove entirely and directly doc.dsp[seq_hdr.hbd]
where it's used. -
ipred_edge
- First element is the base pointer of the allocation, next two elements point into the allocation. Split up into anAlignedVec64
and then an array of offsets. -
qm
- Points intodav1d_qm_tbl
. Can probably be made into&'static [u8]
s, but may need to be offsets depending on usage. -
a
,a_sz
- Owned allocation, can be aVec
.