From 6d0d066654d43d5eeffce958604c72d0c9cfbeed Mon Sep 17 00:00:00 2001 From: Henrik Gramner Date: Thu, 28 Apr 2022 13:24:56 +0200 Subject: Remove redundant code in dav1d_cdf_thread_unref() Checking if the Dav1dRef pointer is non-zero and zeroing it is already performed in dav1d_ref_dec(), no need to do it twice. Also reorder code to enable tail call elimination. --- src/cdf.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/cdf.c b/src/cdf.c index 8ac87fe..e0f2132 100644 --- a/src/cdf.c +++ b/src/cdf.c @@ -4118,7 +4118,6 @@ void dav1d_cdf_thread_ref(CdfThreadContext *const dst, } void dav1d_cdf_thread_unref(CdfThreadContext *const cdf) { - if (cdf->ref) - dav1d_ref_dec(&cdf->ref); - memset(cdf, 0, sizeof(*cdf)); + memset(&cdf->data, 0, sizeof(*cdf) - offsetof(CdfThreadContext, data)); + dav1d_ref_dec(&cdf->ref); } -- cgit v1.2.3