From b54cdcc3de62390dc438a36425665a89958aefea Mon Sep 17 00:00:00 2001 From: Hui Su Date: Fri, 20 Jul 2018 15:29:14 -0700 Subject: Add prune_ref_frame_for_rect_partitions feature Add a speed feature to prune reference frames for rectangular partitions. Rectangular partition RD search happens after square partition RD search. With this feature, we keep record of the ref frames picked by square partitions, and only consider those ref frames during rect partition RD search. With this feature on, the computation cost of rect partition RD search is greatly reduced, so we can afford to skip rect partition RD search less aggressively. Overall, both compression and encoding speed are improved. Only speed 0 is affected. Coding gains: lowres midres hdres ovr psnr 0.00% -0.36% -0.37% avg psnr 0.00% -0.36% -0.36% Tested encoding speed with QP=40 on about 30 sequences. Speed gains: lowres midres hdres average 13.4% 7.1% 6.1% max 28.0% 12.0% 9.8% Change-Id: Id5f36dd2ac75028ae98550d67b0a524aa251b692 --- vp9/encoder/vp9_speed_features.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'vp9/encoder/vp9_speed_features.h') diff --git a/vp9/encoder/vp9_speed_features.h b/vp9/encoder/vp9_speed_features.h index 7a591e491..fd4973fb2 100644 --- a/vp9/encoder/vp9_speed_features.h +++ b/vp9/encoder/vp9_speed_features.h @@ -319,6 +319,9 @@ typedef struct SPEED_FEATURES { int use_square_partition_only; BLOCK_SIZE use_square_only_threshold; + // Prune reference frames for rectangular partitions. + int prune_ref_frame_for_rect_partitions; + // Sets min and max partition sizes for this 64x64 region based on the // same 64x64 in last encoded frame, and the left and above neighbor. AUTO_MIN_MAX_MODE auto_min_max_partition_size; -- cgit v1.2.3