diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-08-05 22:57:56 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-11-01 20:10:20 +0100 |
commit | fd2e65871c6fdc79cba5e3eef877a81ec83d57c6 (patch) | |
tree | 3f5b4c3213eef692e3868bf0894685c8d17eaa65 /libavcodec/hevcdec.h | |
parent | 736b510fcc386df89a403a3ed11c4d1dec599cd1 (diff) | |
download | ffmpeg-fd2e65871c6fdc79cba5e3eef877a81ec83d57c6.tar.gz |
avcodec/hevcdec: Use RefStruct-pool API instead of AVBufferPool API
It involves less allocations and therefore has the nice property
that deriving a reference from a reference can't fail,
simplifying hevc_ref_frame().
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec/hevcdec.h')
-rw-r--r-- | libavcodec/hevcdec.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h index 6ef7d4f60f..c697119891 100644 --- a/libavcodec/hevcdec.h +++ b/libavcodec/hevcdec.h @@ -408,14 +408,12 @@ typedef struct HEVCFrame { AVFrame *frame_grain; ThreadFrame tf; int needs_fg; /* 1 if grain needs to be applied by the decoder */ - MvField *tab_mvf; + MvField *tab_mvf; ///< RefStruct reference RefPicList *refPicList; - RefPicListTab **rpl_tab; + RefPicListTab **rpl_tab; ///< RefStruct reference int ctb_count; int poc; - AVBufferRef *tab_mvf_buf; - AVBufferRef *rpl_tab_buf; RefPicListTab *rpl; ///< RefStruct reference int nb_rpl_elems; @@ -516,8 +514,8 @@ typedef struct HEVCContext { HEVCSEI sei; struct AVMD5 *md5_ctx; - AVBufferPool *tab_mvf_pool; - AVBufferPool *rpl_tab_pool; + struct FFRefStructPool *tab_mvf_pool; + struct FFRefStructPool *rpl_tab_pool; ///< candidate references for the current frame RefPicList rps[5]; |