- 24 Nov, 2014 2 commits
-
-
Jingning Han authored
This commit makes a non-RD coding mode decision process for key frame coding. It can be optionally turned on in speed -6 and above. Change-Id: I0847258b392877a0210b4768bef88ebc9ad009b5
-
Marco authored
-
- 22 Nov, 2014 4 commits
-
-
Johann authored
-
Paul Wilkins authored
-
Johann authored
Whitespace changes only. Change-Id: I92eef49db1798bc69ec003fca69995fea560d6fa
-
Debargha Mukherjee authored
-
- 21 Nov, 2014 21 commits
-
-
Paul Wilkins authored
* changes: Remove rate component adjustment for AQ1 Switch AQ1 segment basis from q ratio to rate ratio.
-
Paul Wilkins authored
-
Paul Wilkins authored
-
Marco authored
Condition existed for temporal case, added it for spatial as well. Issue: https://code.google.com/p/webm/issues/detail?id=878. Change-Id: I38339207f9a94924f5568a081eabe64f867a686d
-
Paul Wilkins authored
Change-Id: Ib8810d431fa20a2c78e0caaa28eb2c99903e60fb
-
Paul Wilkins authored
-
Paul Wilkins authored
-
James Zern authored
-
Alex Converse authored
-
Alex Converse authored
-
Johann authored
-
Paul Wilkins authored
In AQ1 a rate adjustment was applied for blocks coded with a deltaq. This tends to skew the partition selection and cause rate overshoot. For example, consider a 64x64 super block where some but not all sub blocks are in a low q segment and some are in a high q segment. The choice of Q when considering large partition and transform sizes is defined by the lowest sub block segment id (currently this implies the lowest Q). If some parts of the larger partition are very hard this will cause a high rate component. The correct behavior here is for the rd code to discard the large partition choice and break down to sub blocks where some have low and some have high Q. However the rate correction factor above mask the high cost of coding at a larger partition size. Change-Id: Ie077edd0b1b43c094898f481df772ea280b35960
-
Paul Wilkins authored
In defining the Q deltas for segments in AQ1 use a rate ratio rather than a q ratio. Change-Id: Id31a74fcf2b7e55437e42a51c21b3cbcb57028d4
-
Paul Wilkins authored
Make the midpoint variance used in AQ mode 1 segmentation depend on the overall complexity of the frame in two pass. Change-Id: I452814ec57f7a32352e41bb250e78066abe952dd
-
Johann authored
By using 0xff for a short it was not setting the high bits. When comparing the output with vtst to find non-zero elements it was skipping vaules which had no low bits set such as -512 / 0xFE00. Using -8191 as the first element of coeff will generate this condition. BUG=883 Change-Id: Ia1e10fb809d1e7866f28c56769fe703e6231a657
-
Alex Converse authored
6.3% better compression less than 1% compression time increase Change-Id: Ie83c059436e54c09de9e7c87e06e0a6d40dc38fe
-
Alex Converse authored
Better mode selection was implemented for all content. Change-Id: I479778ed21d3968892f4dce396c83733583f4f23
-
Johann authored
All the assembly code has been removed, the tests no longer check for the target, and android and chrome do not use the targets. Change-Id: I193993f7b2b0bd6478453402f573ce3606e04e8d
-
Yunqing Wang authored
-
Paul Wilkins authored
Add an additional restriction to bit/complexity based segmentation based on spatial variance. Only lower Q when both the number of bits spent in the initial encoding pass and the spatial complexity are below a threshold. This will prevent the low Q segments being used just because there is a surfeit of bits. Small metrics gains especially opsnr. derf ~0.2% std-hd ~0.3% Change-Id: I6a8496d466d673f9b0e2b2ca6304ea7b6d8e1cce
-
Paul Wilkins authored
Further patch to restructure AQ mode 1. Change-Id: I566452a033d047a49a40441a7be24690ea69412d
-
- 20 Nov, 2014 13 commits
-
-
Paul Wilkins authored
This is the first of a series of patches to restructure and improve AQ mode 1 (variance based AQ). Change-Id: Idcf693131a3ea2459dcfd957a54a65b971fa4a2a
-
Paul Wilkins authored
-
James Zern authored
-
James Zern authored
worker hooks return false on error, fix the assignment in Execute() used in the TestSerialInterface test Change-Id: I93c2e45f270330ae6d35a3a303411c4ee0f31337
-
Yunqing Wang authored
-
Yunqing Wang authored
Similar to mask_filter, the filter_cache in RD_OPT struct can be moved out, and declared as a local variable since it is only used in pick_inter_mode functions. Change-Id: I412b99cca82bade07ac912064ec03dd1de6b2c17
-
Yunqing Wang authored
-
Yunqing Wang authored
-
Paul Wilkins authored
Correct calculation of number of mbs in two pass code when frame resizing is enabled. Always use initial number of mbs if scaling is enabled, as this is what was used in the first pass. Change-Id: I49a4280ab5a8b1000efcc157a449a081cbb6d410
-
Yunqing Wang authored
The mask_filter in RD_OPT struct is used to record rd result in filter decision. It is only used in pick_inter_mode functions, and is removed from the struct and declared as a local variable. Change-Id: I3c95c8632ba7241591ce00ef2ef5677b5e297d7b
-
Yunqing Wang authored
The max_partition_size and max_partition_size are set at the beginning while setting speed features, and then adjusted at SB level. Moving them to mb struct ensures there is a local copy for each thread. Change-Id: I7dd08dc918d9f772fcd718bbd6533e0787720ad4
-
Jingning Han authored
-
Yunqing Wang authored
This reverts commit 6906d218. Another way will be used to handle mb struct. Change-Id: Ic1111a46b2b1ee00f8f9e3fcd4cf3eb6030b2dc4
-