aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/hevcdec.h
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-08-05 22:57:56 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2023-11-01 20:10:20 +0100
commitfd2e65871c6fdc79cba5e3eef877a81ec83d57c6 (patch)
tree3f5b4c3213eef692e3868bf0894685c8d17eaa65 /libavcodec/hevcdec.h
parent736b510fcc386df89a403a3ed11c4d1dec599cd1 (diff)
downloadffmpeg-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.h10
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];