summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorJames Zern <jzern@google.com>2021-12-10 18:32:44 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-12-10 18:32:44 +0000
commitb2b4e79b75469635518577cbedf9546d4b91efcf (patch)
treec74ae645b7e81c0ad38855b8e2d8e908990c5f35 /vp9
parentf3e2a690cd474eae47376b431f5bddf6d73e377c (diff)
parent03a81068467076b4ce4a41dafaac9a9e5cc5f01c (diff)
downloadlibvpx-b2b4e79b75469635518577cbedf9546d4b91efcf.tar
libvpx-b2b4e79b75469635518577cbedf9546d4b91efcf.tar.gz
libvpx-b2b4e79b75469635518577cbedf9546d4b91efcf.tar.bz2
libvpx-b2b4e79b75469635518577cbedf9546d4b91efcf.zip
Merge "vp[89]_initalize_enc(): protect against multiple invocations" into main
Diffstat (limited to 'vp9')
-rw-r--r--vp9/common/vp9_rtcd.c6
-rw-r--r--vp9/encoder/vp9_encoder.c26
-rw-r--r--vp9/vp9_cx_iface.c3
3 files changed, 14 insertions, 21 deletions
diff --git a/vp9/common/vp9_rtcd.c b/vp9/common/vp9_rtcd.c
index d8c870aa3..37762ca15 100644
--- a/vp9/common/vp9_rtcd.c
+++ b/vp9/common/vp9_rtcd.c
@@ -12,8 +12,4 @@
#include "./vp9_rtcd.h"
#include "vpx_ports/vpx_once.h"
-void vp9_rtcd() {
- // TODO(JBB): Remove this once, by insuring that both the encoder and
- // decoder setup functions are protected by once();
- once(setup_rtcd_internal);
-}
+void vp9_rtcd() { once(setup_rtcd_internal); }
diff --git a/vp9/encoder/vp9_encoder.c b/vp9/encoder/vp9_encoder.c
index 8fdd86916..8d5ec5a36 100644
--- a/vp9/encoder/vp9_encoder.c
+++ b/vp9/encoder/vp9_encoder.c
@@ -25,6 +25,7 @@
#endif
#include "vpx_ports/mem.h"
#include "vpx_ports/system_state.h"
+#include "vpx_ports/vpx_once.h"
#include "vpx_ports/vpx_timer.h"
#if CONFIG_BITSTREAM_DEBUG || CONFIG_MISMATCH_DEBUG
#include "vpx_util/vpx_debug_util.h"
@@ -929,24 +930,21 @@ static void vp9_swap_mi_and_prev_mi(VP9_COMMON *cm) {
cm->prev_mi_grid_visible = cm->prev_mi_grid_base + cm->mi_stride + 1;
}
-void vp9_initialize_enc(void) {
- static volatile int init_done = 0;
-
- if (!init_done) {
- vp9_rtcd();
- vpx_dsp_rtcd();
- vpx_scale_rtcd();
- vp9_init_intra_predictors();
- vp9_init_me_luts();
- vp9_rc_init_minq_luts();
- vp9_entropy_mv_init();
+static void initialize_enc(void) {
+ vp9_rtcd();
+ vpx_dsp_rtcd();
+ vpx_scale_rtcd();
+ vp9_init_intra_predictors();
+ vp9_init_me_luts();
+ vp9_rc_init_minq_luts();
+ vp9_entropy_mv_init();
#if !CONFIG_REALTIME_ONLY
- vp9_temporal_filter_init();
+ vp9_temporal_filter_init();
#endif
- init_done = 1;
- }
}
+void vp9_initialize_enc(void) { once(initialize_enc); }
+
static void dealloc_compressor_data(VP9_COMP *cpi) {
VP9_COMMON *const cm = &cpi->common;
int i;
diff --git a/vp9/vp9_cx_iface.c b/vp9/vp9_cx_iface.c
index cc4081c4f..9f03ed172 100644
--- a/vp9/vp9_cx_iface.c
+++ b/vp9/vp9_cx_iface.c
@@ -15,7 +15,6 @@
#include "vpx/vpx_encoder.h"
#include "vpx/vpx_ext_ratectrl.h"
#include "vpx_dsp/psnr.h"
-#include "vpx_ports/vpx_once.h"
#include "vpx_ports/static_assert.h"
#include "vpx_ports/system_state.h"
#include "vpx_util/vpx_timestamp.h"
@@ -1096,7 +1095,7 @@ static vpx_codec_err_t encoder_init(vpx_codec_ctx_t *ctx,
}
priv->extra_cfg = default_extra_cfg;
- once(vp9_initialize_enc);
+ vp9_initialize_enc();
res = validate_config(priv, &priv->cfg, &priv->extra_cfg);