Commit Graph

126 Commits

Author SHA1 Message Date
Dmitry Kovalev
07f86d0944 Renaming VP9_CONFIG to VP9EncoderConfig.
Change-Id: Id48edd12c6f649c82113128491ef6ea7410e93b2
2014-04-18 11:01:36 -07:00
Dmitry Kovalev
2c8c1f5370 Replacing cpu_used with speed in VP9_CONFIG.
Change-Id: I86b85b5c11388e84a48f8936330c0d920df5d1f0
2014-04-16 18:31:42 -07:00
Dmitry Kovalev
617a367c54 Merge "Consistent mode names." 2014-04-15 22:59:37 -07:00
Dmitry Kovalev
e58ea39fd0 Merge "Using anonymous enum instead of macros." 2014-04-15 10:25:14 -07:00
Dmitry Kovalev
c1981bdda0 Using anonymous enum instead of macros.
Change-Id: I5ed360585dae2c9fea6c32058dbfb8ec07700677
2014-04-14 15:11:13 -07:00
Dmitry Kovalev
f3739f9052 Consistent mode names.
Change-Id: Icb4851d98c951506fe5d73d8d5a8ac7e53fecfd0
2014-04-14 14:09:39 -07:00
Paul Wilkins
19536d692e Remove vp9_ prefix on static inline function.
This prefix reserved for global scope functions etc.

Change-Id: I671cda2a63e01a40aae3d7407dd1bb4d338d709c
2014-04-14 10:08:04 -07:00
Paul Wilkins
0639b5cff5 Speed 2 alternative balance.
A previous path improved speed 2 quality a little but
more extensive testing showed that it slowed encode
by a few %.

The change will have a similar effect for speed 3 but
should not impact speeds 4+;

This experiment should reverse that and give a speed
up at the cost of a small quality loss.

Borg results pending.

Change-Id: I4493fc1541aaf44587f1a41ff219f7088da9252c
2014-04-14 17:55:19 +01:00
Yaowu Xu
585e01bfe2 Remove duplicate code
Change-Id: Ie26b6ca8de733a527f820b16148e7a2231073f0f
2014-04-09 12:58:10 -07:00
Yunqing Wang
2e7d327789 Merge "Use source frame difference to make partition decision" 2014-04-09 10:26:42 -07:00
Yunqing Wang
4e66293fcb Use source frame difference to make partition decision
Calculate the difference variance between last source frame and
current source frame. The variance is calculated at 16x16 block
level. The variances are compared to several thresholds to decide
final partition sizes.

An adaptive strategy is implemented to decide using
SOURCE_VAR_BASED_PARTITION or FIXED_PARTITION based on motions
in the video. The switching test is done once every
search_type_check_frequency frames.

The selection of source_var_thresh needs to be investigated
further later.

RTC set Borg test showed 0.424% overall psnr gain, and 0.357%
ssim gain. For clips with large enough static area, the
encoding speedup is around 2% to 15%.

Change-Id: Id7d268f1d8cbca7fb8026aa4a53b3c77459dc156
2014-04-08 17:03:02 -07:00
Marco Paniconi
181949948e Add constrained-copy partition to speed features.
Copy up to a certain bsize, otherwise set to a fixed bsize.
This helsp to reduce artifact near moving boundary caused by full partition
copy without checking motion of super-block.
This artifact can occur at speeds 3,4 in real-time mode.
Issue: https://code.google.com/p/webm/issues/detail?id=738.

Change-Id: I05812521fd38816a467f72eb6a951cae4c227931
2014-04-07 14:58:28 -07:00
Dmitry Kovalev
233b581cef Cleaning up vp9_speed_features.c.
Change-Id: I7b2b690d2d51d55daa642be4131e5febd78cbe0a
2014-04-07 12:54:11 -07:00
Dmitry Kovalev
107929dc6b Adding FAST_COEFF_UPDATE enum.
Change-Id: I75ad328c6d719df81cc24f3ae21c152af4ebdacc
2014-04-04 10:31:34 -07:00
Marco Paniconi
2a2e8a9d72 Merge "Add codec control function for enabling frame_periodic_boost." 2014-04-03 16:57:44 -07:00
Dmitry Kovalev
30a15633f8 Merge "Replacing magic constants with expressions." 2014-04-03 15:54:49 -07:00
Marco Paniconi
0eb88c9064 Add codec control function for enabling frame_periodic_boost.
Change-Id: I6371ef7301c6bc3138552bd349e9bd154dee3e08
2014-04-03 15:49:03 -07:00
Jingning Han
2536a89a4f Adjust key frame quantization index for rtc coding
This commit slightly increases the bit allocation for key frame. This
improves speed -5 coding performance by 2.77% with aq-mode=0 and by
2.78% with aq-mode=3.

Change-Id: Iaa3e777f80b9706306606af06e89852bac146659
2014-04-02 22:52:22 -07:00
Jingning Han
c42e8f1429 Merge "Make frame level quantization change a parameter" 2014-04-02 12:48:05 -07:00
Jingning Han
409f48ec52 Merge "Adjust rate allocation in non-RD coding mode" 2014-04-02 12:47:50 -07:00
Jingning Han
d8b8d87eb7 Make frame level quantization change a parameter
Parameterize the frame level quantization index used in non-RD
coding flow with cbr.

Change-Id: I79cfbd9c32c0d0fc33ad720d2180432e910baf7a
2014-04-02 09:51:22 -07:00
Jingning Han
751d002f2f Adjust rate allocation in non-RD coding mode
This commit reduces the frequency of frames using finer quantizer
in non-RD coding flow, and slightly tune up the quantizer resolution
when used. It provides 1.7% compression gains in speed -5 at no speed
difference.

Change-Id: I430249a51260a841a0402666e5ec1566e4f7d5a6
2014-04-02 09:51:22 -07:00
Paul Wilkins
769cd78ff2 Add speed feature for recode tolerance.
The new tolerance is a little higher than before (especially
for kf/gf/arf) so this change gives an encode speed up
for some clips up for speeds 0-2.

Change-Id: I63f7d6c9cc11c7f58742f41e250dcd3eab1741eb
2014-04-02 12:18:05 +01:00
Dmitry Kovalev
5f3773d0f7 Replacing magic constants with expressions.
Change-Id: I434682bbd4cb2089cd213d77ed5a5e06256dc45d
2014-04-01 17:42:14 -07:00
Yaowu Xu
6fc20a8434 Adjust rt speed steps.
This commit adjusted the speed steps in rt mode to make the steps
more evenly spaced on speed and quality, specifically:
1. Merged 3 and 4 into one single step 3 and removed confilicting
features.
2. Move 8, 7, 6, 5 to be 7, 6, 5, 4 repsectively.

Change-Id: I38d56d61531f3561d772aef953c411c8fb38c063
2014-03-28 16:40:28 -07:00
Dmitry Kovalev
0a6d5547e2 Adding vp9_speed_features.{h, c}.
Change-Id: I7d9874da8ff78a2d7e0cf11073af9c30538bc9a6
2014-03-28 10:30:28 -07:00