summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/test_vector_test.cc36
-rw-r--r--vp9/common/vp9_thread_common.c2
-rw-r--r--vp9/encoder/vp9_pickmode.c8
-rw-r--r--vp9/encoder/vp9_ratectrl.c1
-rw-r--r--vp9/vp9_dx_iface.c26
5 files changed, 34 insertions, 39 deletions
diff --git a/test/test_vector_test.cc b/test/test_vector_test.cc
index d7b1a544b..fa264f20a 100644
--- a/test/test_vector_test.cc
+++ b/test/test_vector_test.cc
@@ -135,32 +135,27 @@ TEST_P(TestVectorTest, MD5Match) {
// Test VP8 decode in serial mode with single thread.
// NOTE: VP8 only support serial mode.
-INSTANTIATE_TEST_CASE_P(
- VP8, TestVectorTest,
+VP8_INSTANTIATE_TEST_CASE(
+ TestVectorTest,
::testing::Combine(
- ::testing::Values(
- static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP8)),
- ::testing::Combine(
- ::testing::Values(0), // Serial Mode.
- ::testing::Values(1), // Single thread.
- ::testing::ValuesIn(libvpx_test::kVP8TestVectors,
- libvpx_test::kVP8TestVectors +
- libvpx_test::kNumVP8TestVectors))));
+ ::testing::Values(0), // Serial Mode.
+ ::testing::Values(1), // Single thread.
+ ::testing::ValuesIn(libvpx_test::kVP8TestVectors,
+ libvpx_test::kVP8TestVectors +
+ libvpx_test::kNumVP8TestVectors)));
// Test VP9 decode in serial mode with single thread.
-INSTANTIATE_TEST_CASE_P(
- VP9, TestVectorTest,
+VP9_INSTANTIATE_TEST_CASE(
+ TestVectorTest,
::testing::Combine(
- ::testing::Values(
- static_cast<const libvpx_test::CodecFactory *>(&libvpx_test::kVP9)),
- ::testing::Combine(
- ::testing::Values(0), // Serial Mode.
- ::testing::Values(1), // Single thread.
- ::testing::ValuesIn(libvpx_test::kVP9TestVectors,
- libvpx_test::kVP9TestVectors +
- libvpx_test::kNumVP9TestVectors))));
+ ::testing::Values(0), // Serial Mode.
+ ::testing::Values(1), // Single thread.
+ ::testing::ValuesIn(libvpx_test::kVP9TestVectors,
+ libvpx_test::kVP9TestVectors +
+ libvpx_test::kNumVP9TestVectors)));
+#if CONFIG_VP9_DECODER
// Test VP9 decode in frame parallel mode with different number of threads.
INSTANTIATE_TEST_CASE_P(
VP9MultiThreadedFrameParallel, TestVectorTest,
@@ -173,4 +168,5 @@ INSTANTIATE_TEST_CASE_P(
::testing::ValuesIn(libvpx_test::kVP9TestVectors,
libvpx_test::kVP9TestVectors +
libvpx_test::kNumVP9TestVectors))));
+#endif
} // namespace
diff --git a/vp9/common/vp9_thread_common.c b/vp9/common/vp9_thread_common.c
index 1a93a34cc..27a3212ca 100644
--- a/vp9/common/vp9_thread_common.c
+++ b/vp9/common/vp9_thread_common.c
@@ -153,7 +153,7 @@ static void loop_filter_rows_mt(YV12_BUFFER_CONFIG *frame,
const int num_workers = MIN(nworkers, tile_cols);
int i;
- if (!lf_sync->sync_range || cm->last_height != cm->height ||
+ if (!lf_sync->sync_range || sb_rows != lf_sync->rows ||
num_workers > lf_sync->num_workers) {
vp9_loop_filter_dealloc(lf_sync);
vp9_loop_filter_alloc(lf_sync, cm, sb_rows, cm->width, num_workers);
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 071747e17..46a354700 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -390,11 +390,11 @@ static void encode_breakout_test(VP9_COMP *cpi, MACROBLOCK *x,
const unsigned int min_thresh =
MIN(((unsigned int)x->encode_breakout << 4), max_thresh);
#if CONFIG_VP9_HIGHBITDEPTH
- const int shift = 2 * xd->bd - 16;
+ const int shift = (xd->bd << 1) - 16;
#endif
// Calculate threshold according to dequant value.
- thresh_ac = (xd->plane[0].dequant[1] * xd->plane[0].dequant[1]) / 9;
+ thresh_ac = (xd->plane[0].dequant[1] * xd->plane[0].dequant[1]) >> 3;
#if CONFIG_VP9_HIGHBITDEPTH
if ((xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) && shift > 0) {
thresh_ac = ROUND_POWER_OF_TWO(thresh_ac, shift);
@@ -436,14 +436,14 @@ static void encode_breakout_test(VP9_COMP *cpi, MACROBLOCK *x,
xd->plane[1].dst.stride, &sse_u);
// U skipping condition checking
- if ((var_u * 4 <= thresh_ac) && (sse_u - var_u <= thresh_dc)) {
+ if (((var_u << 2) <= thresh_ac) && (sse_u - var_u <= thresh_dc)) {
var_v = cpi->fn_ptr[uv_size].vf(x->plane[2].src.buf,
x->plane[2].src.stride,
xd->plane[2].dst.buf,
xd->plane[2].dst.stride, &sse_v);
// V skipping condition checking
- if ((var_v * 4 <= thresh_ac) && (sse_v - var_v <= thresh_dc)) {
+ if (((var_v << 2) <= thresh_ac) && (sse_v - var_v <= thresh_dc)) {
x->skip = 1;
// The cost of skip bit needs to be added.
diff --git a/vp9/encoder/vp9_ratectrl.c b/vp9/encoder/vp9_ratectrl.c
index 69751379f..f33fe5100 100644
--- a/vp9/encoder/vp9_ratectrl.c
+++ b/vp9/encoder/vp9_ratectrl.c
@@ -1320,7 +1320,6 @@ void vp9_rc_postencode_update(VP9_COMP *cpi, uint64_t bytes_used) {
void vp9_rc_postencode_update_drop_frame(VP9_COMP *cpi) {
// Update buffer level with zero size, update frame counters, and return.
update_buffer_level(cpi, 0);
- cpi->common.last_frame_type = cpi->common.frame_type;
cpi->rc.frames_since_key++;
cpi->rc.frames_to_key--;
cpi->rc.rc_2_frame = 0;
diff --git a/vp9/vp9_dx_iface.c b/vp9/vp9_dx_iface.c
index cec526e3a..9bb880c7c 100644
--- a/vp9/vp9_dx_iface.c
+++ b/vp9/vp9_dx_iface.c
@@ -913,13 +913,13 @@ static vpx_codec_err_t ctrl_get_last_ref_updates(vpx_codec_alg_priv_t *ctx,
FrameWorkerData *const frame_worker_data =
(FrameWorkerData *)worker->data1;
*update_info = frame_worker_data->pbi->refresh_frame_flags;
+ return VPX_CODEC_OK;
} else {
return VPX_CODEC_ERROR;
}
- return VPX_CODEC_OK;
- } else {
- return VPX_CODEC_INVALID_PARAM;
}
+
+ return VPX_CODEC_INVALID_PARAM;
}
static vpx_codec_err_t ctrl_get_frame_corrupted(vpx_codec_alg_priv_t *ctx,
@@ -936,13 +936,13 @@ static vpx_codec_err_t ctrl_get_frame_corrupted(vpx_codec_alg_priv_t *ctx,
if (frame_worker_data->pbi->common.frame_to_show == NULL)
return VPX_CODEC_ERROR;
*corrupted = frame_bufs[ctx->last_show_frame].buf.corrupted;
+ return VPX_CODEC_OK;
} else {
return VPX_CODEC_ERROR;
}
- return VPX_CODEC_OK;
- } else {
- return VPX_CODEC_INVALID_PARAM;
}
+
+ return VPX_CODEC_INVALID_PARAM;
}
static vpx_codec_err_t ctrl_get_frame_size(vpx_codec_alg_priv_t *ctx,
@@ -967,9 +967,9 @@ static vpx_codec_err_t ctrl_get_frame_size(vpx_codec_alg_priv_t *ctx,
} else {
return VPX_CODEC_ERROR;
}
- } else {
- return VPX_CODEC_INVALID_PARAM;
}
+
+ return VPX_CODEC_INVALID_PARAM;
}
static vpx_codec_err_t ctrl_get_display_size(vpx_codec_alg_priv_t *ctx,
@@ -990,13 +990,13 @@ static vpx_codec_err_t ctrl_get_display_size(vpx_codec_alg_priv_t *ctx,
const VP9_COMMON *const cm = &frame_worker_data->pbi->common;
display_size[0] = cm->display_width;
display_size[1] = cm->display_height;
+ return VPX_CODEC_OK;
} else {
return VPX_CODEC_ERROR;
}
- return VPX_CODEC_OK;
- } else {
- return VPX_CODEC_INVALID_PARAM;
}
+
+ return VPX_CODEC_INVALID_PARAM;
}
static vpx_codec_err_t ctrl_get_bit_depth(vpx_codec_alg_priv_t *ctx,
@@ -1014,9 +1014,9 @@ static vpx_codec_err_t ctrl_get_bit_depth(vpx_codec_alg_priv_t *ctx,
} else {
return VPX_CODEC_ERROR;
}
- } else {
- return VPX_CODEC_INVALID_PARAM;
}
+
+ return VPX_CODEC_INVALID_PARAM;
}
static vpx_codec_err_t ctrl_set_invert_tile_order(vpx_codec_alg_priv_t *ctx,