diff options
author | James Zern <jzern@google.com> | 2021-12-10 18:32:44 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-12-10 18:32:44 +0000 |
commit | b2b4e79b75469635518577cbedf9546d4b91efcf (patch) | |
tree | c74ae645b7e81c0ad38855b8e2d8e908990c5f35 /vp9 | |
parent | f3e2a690cd474eae47376b431f5bddf6d73e377c (diff) | |
parent | 03a81068467076b4ce4a41dafaac9a9e5cc5f01c (diff) | |
download | libvpx-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.c | 6 | ||||
-rw-r--r-- | vp9/encoder/vp9_encoder.c | 26 | ||||
-rw-r--r-- | vp9/vp9_cx_iface.c | 3 |
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); |