- 04 Dec, 2014 1 commit
-
-
Yunqing Wang authored
Currently, VP9 supports column-tile encoding, which allows a frame to be encoded in multiple column tiles independently. The number of column tiles are set by encoder option "--tile-columns". This provides a way to encode a frame in parallel. Based on previous set of patches, this patch implemented the tile- based multi-threaded encoder. Each thread processes one or more tiles. Usage: For HD clips: --tile-columns=2 --threads=1/2/3/4 While using 4 threads, tests showed that the encoder achieved 2.3X - 2.5X speedup at good-quality speed 3, and 2X speedup at realtime speed 5. Change-Id: Ied987f8f2618b1283a8643ad255e88341733c9d4
-
- 02 Dec, 2014 4 commits
-
-
Jingning Han authored
This commit makes the codec automatically turn on error resilient mode when using real-time mode for temporal scalable coding. It fixes an enc/dec mismatch issue and re-enables the corresponding unit test. Change-Id: Ie1f7134e9a78ddd43e9b1555b3ee991c8a3afd0d
-
Marco Paniconi authored
-
Jingning Han authored
-
Marco Paniconi authored
Incorporate segment delta-q into estimated bits. This generally improves the rate control under cyclic refresh (aq=3) mode. Change-Id: I1dc60fb230e7d08357fae18909d8ed27bf58e037
-
- 01 Dec, 2014 4 commits
-
-
Jingning Han authored
A hidden enc/dec mismatch bug was accidentally triggered by https://gerrit.chromium.org/gerrit/#/c/72247/ Adaptively adjust mode test kick-off thresholds in RTC coding This commit temporarily turns off the broken unit tests to avoid blocking other CLs while fixing. Change-Id: I0a0f195030321190ce10879cd833187680576367
-
Jingning Han authored
-
Yunqing Wang authored
-
Johann authored
Probably not even the dominant platform the library is being built for. Add --cpu= option description to help. The option already exists. Don't allow passing just --cpu as a no-op. BUG=826 Change-Id: Iaa3f4f693ec78b18927b159b480daafeba0549c0
-
- 26 Nov, 2014 4 commits
-
-
Marco authored
Change-Id: I5f723ada144d0bd82ee700ef28a4916fd64ba5e4
-
Yaowu Xu authored
-
Jingning Han authored
This parameter is initialized as 50. No need to re-assign the same value in speed -6. Change-Id: I8735a5593412df2fdcee53ae45c8ebd1c3d792e7
-
Yunqing Wang authored
Each tile's tok starting address is calculated before the encoding process. These addresses are stored so that the same calculation won't be done again in packing bit stream. Change-Id: I0a3be0301f002260c19a850303f2f73ebc47aa50
-
- 25 Nov, 2014 9 commits
-
-
James Zern authored
-
Yaowu Xu authored
When the golden frame is boosted, the rate correction factor is not correlated well with other inter frames even in CBR mode. This commit changes to use GF specific rate_correction_factor when gf_cbr_boost is greater than 20%. Change-Id: I6312c1564387bcacc11f4c5e8a9cfdc781b5c3ab
-
Johann authored
vp8_config doesn't need to be on the stack. Just use a local copy. Change-Id: Ia241b1d87fd9422556d957f3ea43ad71eb5c414a
-
Jingning Han authored
Change-Id: Ic072585ebffdb36982ed7b8b9f875ca6c1c656c4
-
Jingning Han authored
This commit allows the encoder to increase the mode test kick-off thresholds if the previous best mode renders all zero quantized coefficients, thereby saving motion search runs when possible. The compression performance of speed -5 and -6 is down by -0.446% and 0.591%, respectively. The runtime of speed -6 is improved by 10% for many test clips. vidyo1, 1000 kbps 16578 b/f, 40.316 dB, 7873 ms -> 16575 b/f, 40.262 dB, 7126 ms nik720p, 1000 kbps 33311 b/f, 38.651 dB, 7263 ms -> 33304 b/f, 38.629 dB, 6865 ms dark720p, 1000 kbps 33331 b/f, 39.718 dB, 13596 ms -> 33324 b/f, 39.651 dB, 12000 ms mmoving, 1000 kbps 33263 b/f, 40.983 dB, 7566 ms -> 33259 b/f, 40.978 dB, 7531 ms Change-Id: I7591617ff113e91125ec32c9b853e257fbc41d90
-
Jingning Han authored
-
Jingning Han authored
-
Yunqing Wang authored
This patch modified struct VP9_COMP. Created a struct ThreadData to include data that need to be copied for each thread. In multiple thread case, one thread processes one tile. all threads share one copy of VP9_COMP, (refer to VP9_COMP *cpi in the code) but each thread has its own copy of ThreadData, (refer to ThreadData *td in the code). Therefore, within the scope of encode_tiles(), both cpi and td need to be passed as function parameters. In single thread case, the FRAME_COUNTS pointer in ThreadData points to "counts" in VP9_COMMON. Change-Id: Ib37908b2d8e2c0f4f9c18f38017df5ce60e8b13e
-
Alex Converse authored
-
- 24 Nov, 2014 8 commits
-
-
Alex Converse authored
Change-Id: I90ad08823e1d038384536fa9f458caadc2c87f38
-
Jingning Han authored
The intra mode penalty is covered by intra_cost_penalty. This commit removes the other intra cost threshold, provided that the constant 50 is negligible in normal rate-distortion cost. Change-Id: I9b8b7483c43b9a41741622e7057def1f7d51bb72
-
Jingning Han authored
-
Debargha Mukherjee authored
-
James Zern authored
-
Peter de Rivaz authored
This change is made in preparation for a subsequent patch which adds acceleration for the highbitdepth transform functions. The highbitdepth transform functions attempt to use 16/32bit sse instructions where possible, but fallback to using the C implementations if potential overflow is detected. For this reason the dct routines are made global so they can be called from the acceleration functions in the subsequent patch. Change-Id: Ia921f191bf6936ccba4f13e8461624b120c1f665 (cherry picked from commit 454342d4e77dbb67f4a3c10f97a57a6fcb46d9a0)
-
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 5 commits
-
-
Johann authored
-
James Zern authored
previously 'bit_depth_', which is later used to calculate 'mask_', would be left uninitialized in non-high-bitdepth builds Change-Id: Ia72035f4645baf3bb0f191504f491b934cdf1e0e
-
Paul Wilkins authored
-
Johann authored
Whitespace changes only. Change-Id: I92eef49db1798bc69ec003fca69995fea560d6fa
-
Debargha Mukherjee authored
-
- 21 Nov, 2014 5 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
-