From 6c83bcadbbdbec8e2b8cf156de3e8bcc4e6c880a Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Mon, 13 Oct 2025 20:15:53 +0800 Subject: [PATCH] avcodec/hevc: add ff_hevc_compute_poc2 which don't depend on HEVCSPS directly So it can be used in other places like bsf. --- libavcodec/hevc/ps.c | 4 ++-- libavcodec/hevc/ps.h | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libavcodec/hevc/ps.c b/libavcodec/hevc/ps.c index 1b7c275ba4..7b9dbbcff8 100644 --- a/libavcodec/hevc/ps.c +++ b/libavcodec/hevc/ps.c @@ -2443,9 +2443,9 @@ void ff_hevc_ps_uninit(HEVCParamSets *ps) av_refstruct_unref(&ps->pps_list[i]); } -int ff_hevc_compute_poc(const HEVCSPS *sps, int pocTid0, int poc_lsb, int nal_unit_type) +int ff_hevc_compute_poc2(unsigned log2_max_poc_lsb, int pocTid0, int poc_lsb, int nal_unit_type) { - int max_poc_lsb = 1 << sps->log2_max_poc_lsb; + int max_poc_lsb = 1 << log2_max_poc_lsb; int prev_poc_lsb = pocTid0 % max_poc_lsb; int prev_poc_msb = pocTid0 - prev_poc_lsb; int poc_msb; diff --git a/libavcodec/hevc/ps.h b/libavcodec/hevc/ps.h index 25475b5593..d620887b8e 100644 --- a/libavcodec/hevc/ps.h +++ b/libavcodec/hevc/ps.h @@ -546,6 +546,11 @@ int ff_hevc_encode_nal_vps(HEVCVPS *vps, unsigned int id, /** * Compute POC of the current frame and return it. */ -int ff_hevc_compute_poc(const HEVCSPS *sps, int pocTid0, int poc_lsb, int nal_unit_type); +int ff_hevc_compute_poc2(unsigned log2_max_poc_lsb, int pocTid0, int poc_lsb, int nal_unit_type); + +static inline int ff_hevc_compute_poc(const HEVCSPS *sps, int pocTid0, int poc_lsb, int nal_unit_type) +{ + return ff_hevc_compute_poc2(sps->log2_max_poc_lsb, pocTid0, poc_lsb, nal_unit_type); +} #endif /* AVCODEC_HEVC_PS_H */