summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_onyx_if.c
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2013-01-30 12:03:45 -0800
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2013-01-30 12:03:45 -0800
commita53be609045e9a4b5c6dec280332745f560de510 (patch)
tree2a1b232ace7baadbeab43fd90246870b29a734da /vp9/encoder/vp9_onyx_if.c
parentb499c24c2f9430e7f157121fff06aae4ec248ef1 (diff)
parentdfd89f2eab26a761d881ec534239b1cff4e0a9db (diff)
downloadlibvpx-a53be609045e9a4b5c6dec280332745f560de510.tar
libvpx-a53be609045e9a4b5c6dec280332745f560de510.tar.gz
libvpx-a53be609045e9a4b5c6dec280332745f560de510.tar.bz2
libvpx-a53be609045e9a4b5c6dec280332745f560de510.zip
Merge "Adding a frame parallel decoding mode" into experimental
Diffstat (limited to 'vp9/encoder/vp9_onyx_if.c')
-rw-r--r--vp9/encoder/vp9_onyx_if.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index 878844683..4a0794a9b 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -2811,6 +2811,12 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
}
cm->error_resilient_mode = (cpi->oxcf.error_resilient_mode != 0);
+ cm->frame_parallel_decoding_mode =
+ (cpi->oxcf.frame_parallel_decoding_mode != 0);
+ if (cm->error_resilient_mode) {
+ cm->frame_parallel_decoding_mode = 1;
+ cm->refresh_entropy_probs = 0;
+ }
}
// Test code for new segment features
@@ -3436,7 +3442,8 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
vp9_copy(cpi->common.fc.hybrid_coef_counts_16x16,
cpi->hybrid_coef_counts_16x16);
vp9_copy(cpi->common.fc.coef_counts_32x32, cpi->coef_counts_32x32);
- if (!cpi->common.error_resilient_mode)
+ if (!cpi->common.error_resilient_mode &&
+ !cpi->common.frame_parallel_decoding_mode)
vp9_adapt_coef_probs(&cpi->common);
if (cpi->common.frame_type != KEY_FRAME) {
vp9_copy(cpi->common.fc.sb_ymode_counts, cpi->sb_ymode_count);
@@ -3449,12 +3456,13 @@ static void encode_frame_to_data_rate(VP9_COMP *cpi,
#if CONFIG_COMP_INTERINTRA_PRED
vp9_copy(cpi->common.fc.interintra_counts, cpi->interintra_count);
#endif
- if (!cpi->common.error_resilient_mode)
- vp9_adapt_mode_probs(&cpi->common);
-
cpi->common.fc.NMVcount = cpi->NMVcount;
- if (!cpi->common.error_resilient_mode)
+ if (!cpi->common.error_resilient_mode &&
+ !cpi->common.frame_parallel_decoding_mode) {
+ vp9_adapt_mode_probs(&cpi->common);
+ vp9_adapt_mode_context(&cpi->common);
vp9_adapt_nmv_probs(&cpi->common, cpi->mb.e_mbd.allow_high_precision_mv);
+ }
}
#if CONFIG_COMP_INTERINTRA_PRED
if (cm->frame_type != KEY_FRAME)