Merge "fix a race condition caused by intra function pointer initialization"

This commit is contained in:
Yunqing Wang 2015-03-03 15:47:06 -08:00 committed by Gerrit Code Review
commit 6e5115e12e

View File

@ -12,6 +12,7 @@
#include "./vp9_rtcd.h" #include "./vp9_rtcd.h"
#include "vpx_mem/vpx_mem.h" #include "vpx_mem/vpx_mem.h"
#include "vpx_ports/vpx_once.h"
#include "vp9/common/vp9_reconintra.h" #include "vp9/common/vp9_reconintra.h"
#include "vp9/common/vp9_onyxc_int.h" #include "vp9/common/vp9_onyxc_int.h"
@ -579,7 +580,7 @@ static intra_high_pred_fn pred_high[INTRA_MODES][4];
static intra_high_pred_fn dc_pred_high[2][2][4]; static intra_high_pred_fn dc_pred_high[2][2][4];
#endif // CONFIG_VP9_HIGHBITDEPTH #endif // CONFIG_VP9_HIGHBITDEPTH
void vp9_init_intra_predictors() { static void vp9_init_intra_predictors_internal() {
#define INIT_ALL_SIZES(p, type) \ #define INIT_ALL_SIZES(p, type) \
p[TX_4X4] = vp9_##type##_predictor_4x4; \ p[TX_4X4] = vp9_##type##_predictor_4x4; \
p[TX_8X8] = vp9_##type##_predictor_8x8; \ p[TX_8X8] = vp9_##type##_predictor_8x8; \
@ -894,3 +895,7 @@ void vp9_predict_intra_block(const MACROBLOCKD *xd, int block_idx, int bwl_in,
build_intra_predictors(xd, ref, ref_stride, dst, dst_stride, mode, tx_size, build_intra_predictors(xd, ref, ref_stride, dst, dst_stride, mode, tx_size,
have_top, have_left, have_right, x, y, plane); have_top, have_left, have_right, x, y, plane);
} }
void vp9_init_intra_predictors() {
once(vp9_init_intra_predictors_internal);
}