diff options
-rw-r--r-- | test/test_vector_test.cc | 36 | ||||
-rw-r--r-- | vp9/common/vp9_thread_common.c | 2 | ||||
-rw-r--r-- | vp9/encoder/vp9_pickmode.c | 8 | ||||
-rw-r--r-- | vp9/encoder/vp9_ratectrl.c | 1 | ||||
-rw-r--r-- | vp9/vp9_dx_iface.c | 26 |
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, |