]> granicus.if.org Git - libvpx/commitdiff
Change to allow less rectangular partion check
authorYaowu Xu <yaowu@google.com>
Fri, 4 Oct 2013 21:20:26 +0000 (14:20 -0700)
committerYaowu Xu <yaowu@google.com>
Tue, 8 Oct 2013 15:12:56 +0000 (08:12 -0700)
For CpuUsed 1 & 2, this commit allow to skip retangular partition check
when NONE is better than SPLIT. It also changed to allow such logic
on alt ref frame coding rather than use square partition all them. The
change has gain compressio about .3% on yt and ythd for both 1&2, It
helped .6% compression on cif and stdhd for both CpuUsed 1&2.

Change-Id: I814b653baf89f59acd20e042629a12938a1bd4e5

vp9/encoder/vp9_onyx_if.c

index 83e51cbb7538f7fdd747242ff283d0dba18669d7..e35e5e13ffbf18aae67bca0a20c2096a7cf5c709 100644 (file)
@@ -773,9 +773,10 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
       if (speed == 1) {
         sf->use_square_partition_only = !(cpi->common.frame_type == KEY_FRAME ||
                                           cpi->common.intra_only);
-        sf->tx_size_search_method = ((cpi->common.frame_type == KEY_FRAME ||
-                                      cpi->common.intra_only)
-                                     ? USE_FULL_RD : USE_LARGESTALL);
+        sf->less_rectangular_check  = 1;
+        sf->tx_size_search_method = (cpi->common.frame_type == KEY_FRAME ||
+                                     cpi->common.intra_only)
+                                     ? USE_FULL_RD : USE_LARGESTALL;
 
         if (MIN(cpi->common.width, cpi->common.height) >= 720)
           sf->disable_split_mask = DISABLE_ALL_SPLIT;
@@ -790,6 +791,7 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
       if (speed == 2) {
         sf->use_square_partition_only = !(cpi->common.frame_type == KEY_FRAME ||
                                           cpi->common.intra_only);
+        sf->less_rectangular_check  = 1;
         sf->tx_size_search_method = ((cpi->common.frame_type == KEY_FRAME ||
                                       cpi->common.intra_only)
                                      ? USE_FULL_RD : USE_LARGESTALL);
@@ -897,11 +899,9 @@ void vp9_set_speed_features(VP9_COMP *cpi) {
         sf->comp_inter_joint_search_thresh = BLOCK_SIZES;
         sf->use_one_partition_size_always = 1;
         sf->always_this_block_size = BLOCK_16X16;
-        sf->tx_size_search_method = ((cpi->common.frame_type == KEY_FRAME ||
-                                      cpi->common.intra_only ||
-                                      cpi->common.show_frame == 0) ?
-                                     USE_FULL_RD :
-                                     USE_LARGESTALL);
+        sf->tx_size_search_method = (cpi->common.frame_type == KEY_FRAME ||
+                                     cpi->common.intra_only) ?
+                                     USE_FULL_RD : USE_LARGESTALL;
         sf->mode_search_skip_flags = FLAG_SKIP_INTRA_DIRMISMATCH |
                                      FLAG_SKIP_INTRA_BESTINTER |
                                      FLAG_SKIP_COMP_BESTINTRA |