summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-02Reinsert macro to fix issue 884.Peter de Rivaz
Change 72056 unfolded some macro definitions, but lost some alternative behaviour required for high bitdepth encodes. This causes the encoder to crash, see issue 884. Change-Id: I8ce4d73c9fe0a3c10ccb86fba210fabc8b2f0ccc
2014-12-01Merge "Turn off temporal svc unit test in RTC setting"Jingning Han
2014-12-01Turn off temporal svc unit test in RTC settingJingning Han
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
2014-12-01Merge "Remove repeated search_type_check_frequency assign"Jingning Han
2014-12-01Merge "vp9_ethread: calculate and save the tok starting address for tiles"Yunqing Wang
2014-12-01Remove default cortex-a8 tuning.Johann
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
2014-11-26temporal_svc encoder: Change default setting for layering_mode = 0.Marco
Change-Id: I5f723ada144d0bd82ee700ef28a4916fd64ba5e4
2014-11-26Merge "Separate rate_correction_factor for boosted GFs"Yaowu Xu
2014-11-25Remove repeated search_type_check_frequency assignJingning Han
This parameter is initialized as 50. No need to re-assign the same value in speed -6. Change-Id: I8735a5593412df2fdcee53ae45c8ebd1c3d792e7
2014-11-25vp9_ethread: calculate and save the tok starting address for tilesYunqing Wang
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
2014-11-25Merge "tests: enable resize_test for vp8"James Zern
2014-11-25Separate rate_correction_factor for boosted GFsYaowu Xu
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
2014-11-25Remove unfreed memory in quantize_test.ccJohann
vp8_config doesn't need to be on the stack. Just use a local copy. Change-Id: Ia241b1d87fd9422556d957f3ea43ad71eb5c414a
2014-11-25Cosmetic change in vp9_pick_inter_modeJingning Han
Change-Id: Ic072585ebffdb36982ed7b8b9f875ca6c1c656c4
2014-11-25Adaptively adjust mode test kick-off thresholds in RTC codingJingning Han
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
2014-11-25Merge "Rework forward txfm/quantization skip system in RTC coding mode"Jingning Han
2014-11-24Merge "Remove redundant intra mode penalty from vp9_pick_inter_mode"Jingning Han
2014-11-24vp9_ethread: modify VP9_COMP structureYunqing Wang
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
2014-11-24Merge "Fix a tautological assert."Alex Converse
2014-11-24Fix a tautological assert.Alex Converse
Change-Id: I90ad08823e1d038384536fa9f458caadc2c87f38
2014-11-24Remove redundant intra mode penalty from vp9_pick_inter_modeJingning Han
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
2014-11-24Merge "Key frame non-RD mode decision process"Jingning Han
2014-11-24Merge "Refactored idct routines and headers"Debargha Mukherjee
2014-11-24Merge "sad_test: initialize bit_depth_ in all cases"James Zern
2014-11-24Refactored idct routines and headersPeter de Rivaz
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)
2014-11-24Key frame non-RD mode decision processJingning Han
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
2014-11-24Merge "Only allow for cyclic refresh (aq=3 mode) for base layer."Marco
2014-11-22Merge "Indent build/make/configure.sh"Johann
2014-11-22sad_test: initialize bit_depth_ in all casesJames Zern
previously 'bit_depth_', which is later used to calculate 'mask_', would be left uninitialized in non-high-bitdepth builds Change-Id: Ia72035f4645baf3bb0f191504f491b934cdf1e0e
2014-11-21Merge "Fix some minor nits."Paul Wilkins
2014-11-21Indent build/make/configure.shJohann
Whitespace changes only. Change-Id: I92eef49db1798bc69ec003fca69995fea560d6fa
2014-11-21Merge "Added highbitdepth sse2 acceleration for quantize"Debargha Mukherjee
2014-11-21Merge changes Ie077edd0,Id31a74fcPaul Wilkins
* changes: Remove rate component adjustment for AQ1 Switch AQ1 segment basis from q ratio to rate ratio.
2014-11-21Merge "Add adaptive midpoint for AQ1."Paul Wilkins
2014-11-21Merge "Add variance restriction to AQ2."Paul Wilkins
2014-11-21Only allow for cyclic refresh (aq=3 mode) for base layer.Marco
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
2014-11-21Fix some minor nits.Paul Wilkins
Change-Id: Ib8810d431fa20a2c78e0caaa28eb2c99903e60fb
2014-11-21Merge "Further AQ1 clean up."Paul Wilkins
2014-11-21Rework forward txfm/quantization skip system in RTC coding modeJingning Han
This commit allows more aggressive decision to skip forward transform and quantization for luma component in RTC coding mode. The chroma components remains going through the normal coding routine, since they are not included in the non-RD mode search process. It reduces the runtime cost by 2% - 10%. In speed -6, vidyo1 1000 kbps 16576 b/f, 40.281 dB, 8402 ms -> 16576 b/f, 40.323 dB, 7764 ms nik720p 1000 kbps 33337 b/f, 38.622 dB, 7473 ms -> 33299 b/f, 38.660 dB, 7314 ms dark720p 1000 kbps 33330 b/f, 39.785 dB, 13505 ms -> 33325 b/f, 39.714 dB, 13105 ms The compression performance of speed -6 is improved by 0.44% in PSNR and 1.31% in SSIM. Change-Id: Iae9e3738de6255babea734e5897f29118bebc6d7
2014-11-21Merge "Initial AQ1 restructuring."Paul Wilkins
2014-11-21Merge "vp9_thread_test: fix 'had_error' assignment"James Zern
2014-11-21Merge "Allow DC/H/V/TM on screen content."Alex Converse
2014-11-21Merge "Drop special inter mode selection for screen content."Alex Converse
2014-11-21Merge "Remove armv5te target"Johann
2014-11-21Remove rate component adjustment for AQ1Paul Wilkins
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
2014-11-21Switch AQ1 segment basis from q ratio to rate ratio.Paul Wilkins
In defining the Q deltas for segments in AQ1 use a rate ratio rather than a q ratio. Change-Id: Id31a74fcf2b7e55437e42a51c21b3cbcb57028d4
2014-11-20Add adaptive midpoint for AQ1.Paul Wilkins
Make the midpoint variance used in AQ mode 1 segmentation depend on the overall complexity of the frame in two pass. Change-Id: I452814ec57f7a32352e41bb250e78066abe952dd
2014-11-20Correctly initialize "ones" value in neon quantizeJohann
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
2014-11-20Allow DC/H/V/TM on screen content.Alex Converse
6.3% better compression less than 1% compression time increase Change-Id: Ie83c059436e54c09de9e7c87e06e0a6d40dc38fe
2014-11-20Drop special inter mode selection for screen content.Alex Converse
Better mode selection was implemented for all content. Change-Id: I479778ed21d3968892f4dce396c83733583f4f23