summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2013-06-24 16:43:26 -0700
committerYaowu Xu <yaowu@google.com>2013-06-24 16:43:26 -0700
commite371cd73a346339d467ec9dcc0af59511f6c23cc (patch)
treed34276a73b3fee4cb80819681143a00e0324e25b /vp9/encoder
parent4eb8c565874ef5b6e934f1cc20a318304073b7df (diff)
downloadlibvpx-e371cd73a346339d467ec9dcc0af59511f6c23cc.tar
libvpx-e371cd73a346339d467ec9dcc0af59511f6c23cc.tar.gz
libvpx-e371cd73a346339d467ec9dcc0af59511f6c23cc.tar.bz2
libvpx-e371cd73a346339d467ec9dcc0af59511f6c23cc.zip
change to enable use_largest_txform feature
for all regular inter frames at speed 1 Change-Id: I0a8b301273ecf2b8730ab1f6b7a05f89f4d498e0
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_encodeframe.c7
-rw-r--r--vp9/encoder/vp9_onyx_if.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index f655d456b..836a234b2 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1617,6 +1617,12 @@ static void switch_lossless_mode(VP9_COMP *cpi, int lossless) {
}
}
+static void switch_txfm_mode(VP9_COMP *cpi) {
+ if (cpi->sf.use_largest_txform &&
+ cpi->common.txfm_mode >= ALLOW_32X32)
+ cpi->common.txfm_mode = ALLOW_32X32;
+}
+
static void encode_frame_internal(VP9_COMP *cpi) {
int mi_row;
MACROBLOCK * const x = &cpi->mb;
@@ -1661,6 +1667,7 @@ static void encode_frame_internal(VP9_COMP *cpi) {
vp9_initialize_rd_consts(cpi, cm->base_qindex + cm->y_dc_delta_q);
vp9_initialize_me_consts(cpi, cm->base_qindex);
+ switch_txfm_mode(cpi);
if (cpi->oxcf.tuning == VP8_TUNE_SSIM) {
// Initialize encode frame context.
diff --git a/vp9/encoder/vp9_onyx_if.c b/vp9/encoder/vp9_onyx_if.c
index e02e73232..48a8b48c6 100644
--- a/vp9/encoder/vp9_onyx_if.c
+++ b/vp9/encoder/vp9_onyx_if.c
@@ -724,6 +724,9 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
sf->first_step = 1;
sf->use_avoid_tested_higherror = 1;
sf->adjust_thresholds_by_speed = 1;
+ sf->use_largest_txform = !(cpi->common.frame_type == KEY_FRAME ||
+ cpi->common.intra_only ||
+ cpi->common.show_frame == 0);
}
if (speed == 2) {
sf->comp_inter_joint_search_thresh = BLOCK_SIZE_SB8X8;