summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-08-22Merge "Cleaning up foreach_transformed_block_in_plane."Dmitry Kovalev
2013-08-22Merge "Cleaning up reset_skip_context function."Dmitry Kovalev
2013-08-22Merge "Removing unused foreach_predicted_block function."Dmitry Kovalev
2013-08-22Merge "Cleaning up optimize_init_b function."Dmitry Kovalev
2013-08-22Merge "Cleaning up sum_intra_stats function."Dmitry Kovalev
2013-08-21Merge "Enable zero coeff check in sub8x8 UV rd loop"Jingning Han
2013-08-21configure: fix action expansionJames Zern
enable|disable -> (enable|disable)_feature Change-Id: I7494913c78ebe8bb532fa6545e0ae53a79ccd388
2013-08-21configure: rename enable() to enable_feature()James Zern
+ disable() -> disable_feature() for balance this avoids shadowing the bash builtin 'enable' allowing the scripts to be linted with checkbashisms Change-Id: Ia11cf86c92ec25bd14e69427b0ac0a9a61a5f7a5
2013-08-21Cleaning up foreach_transformed_block_in_plane.Dmitry Kovalev
Change-Id: I9f45af3894c57f35cb266c255e2b904295d39c34
2013-08-21Cleaning up optimize_init_b function.Dmitry Kovalev
Change-Id: Ib2c975e1d96deefb7ac4d6b600c8c5388035d111
2013-08-21Cleaning up reset_skip_context function.Dmitry Kovalev
Change-Id: Ib3e72671eb8da6f2e9767a6de292ec7c7cde6bc7
2013-08-21Cleaning up sum_intra_stats function.Dmitry Kovalev
Using size_group_lookup table and better variable names. Change-Id: I6e67f2ce091845db43ace7d21b7ae31c6f165aec
2013-08-21Merge "Adding scale factor check."Dmitry Kovalev
2013-08-21Merge "Removing PLANE_TYPE argument from cost_coeffs function."Dmitry Kovalev
2013-08-21Merge "Make "good" quality 2-pass vpxenc encoding default"Deb Mukherjee
2013-08-21Merge "vp9 rtcd: remove non-existent sad functions"James Zern
2013-08-21Removing PLANE_TYPE argument from cost_coeffs function.Dmitry Kovalev
We can determine plane_type for another function arguments. Change-Id: I85331877aedb357632ae916a37b5b15f22c0bb1f
2013-08-21Make "good" quality 2-pass vpxenc encoding defaultDeb Mukherjee
Currently, the best quality mode in VP9 is not very well developed, and unnecessarily makes the encode too slow. Hence the command line default is changed to "good" quality. Also, the number of passes default is changed to 2 passes as well, since 1-pass encoding is not very efficient in VP9. Besides, a number of VP9 defaults are set to the currently recommended settings. With these changes, vpxenc run with --codec=vp9 --kf-max-dist=9999 --cpu-used=0 should work about the same as our borg results. Note when the --cpu-used=0 option is dropped there will be a slight difference in the output, because of a difference in the cpu-used value for the first pass. Specifically, the default when unspecified is to use cpu_used=1 for the first pass and cpu_used=0 for the second pass. But when specified, both passes will use the cpu-used value specified. Note that this also changes the default for VP8 as being "good" but other options stay unchanged. Change-Id: Ib23c1a05ae2f36ee076c0e34403efbda518c5066
2013-08-21Removing a lot of duplicated code.Dmitry Kovalev
Adding set_contexts contexts function and call it instead of set_contexts_on_border. Calling txfrm_block_to_raster_xy to get aoff and loff. Change-Id: I41897e344afd2cae1f923f4fdbe63daccf6fe80e
2013-08-21Adding scale factor check.Dmitry Kovalev
We support only [1/16, 2] scale factors, enforcing this now. Change-Id: I0822eb7cea51720df6814e42d3f35ff340963061
2013-08-21Fix typos and minor stylistic cleanupAdrian Grange
Change-Id: I32e43474e8651ef2eb181d24860a8f118cfea7bf
2013-08-21Merge "Further correct bug in loopfilter initialization"Adrian Grange
2013-08-20vp9 rtcd: remove non-existent sad functionsJames Zern
vp9_sad32x3, vp9_sad3x32 + remove unnecessary sad include from vp9_findnearmv.c Change-Id: Idef2a89cadc3fec64eff82ba9be60ffff50b3468
2013-08-20Removing unused foreach_predicted_block function.Dmitry Kovalev
Moving foreach_predicted_block_in_plane function to vp9_reconinter.c because there is only one usage. Change-Id: I9852feae43fc3cf809b817fc541d043bc5496209
2013-08-20Merge "Passing plane_bsize to foreach_transformed_block_visitor."Dmitry Kovalev
2013-08-20Merge "Add neon optimize vp9_short_idct10_8x8_add."hkuang
2013-08-20Merge "vp9_filter.{h, c} cleanup + adding SUBPEL_TAPS constant."Dmitry Kovalev
2013-08-20vp9_filter.{h, c} cleanup + adding SUBPEL_TAPS constant.Dmitry Kovalev
Change-Id: Ib394ea23f464591dad50b5c65c316701378d06d7
2013-08-20Add neon optimize vp9_short_idct10_8x8_add.hkuang
vp9_short_idct10_8x8_add is used to handle the block that only have valid data at top left 4x4 block. All the other datas are 0. So we could cut several unnecessary calculations in order to save instructions. Change-Id: I34fda95e29082b789aded97c2df193991c2d9195
2013-08-20Enable zero coeff check in sub8x8 UV rd loopJingning Han
Check the minimum rate-distortion cost of regular quantization and all zero coeffs cases in the sub8x8 inter prediction rd loop for luma components. Use this as the cumulative rdcost sent to UV rd estimation. Change-Id: Ia4bc7700437d5e13d7cdad4cf9ae57ab036d3e97
2013-08-20Merge "Cleanup/enhancements of switchable filter search"Deb Mukherjee
2013-08-20Merge "Moving plane_block_idx from vp9_blockd.h to vp9_quantize.c."Dmitry Kovalev
2013-08-20Merge "Adding has_second_ref function."Dmitry Kovalev
2013-08-20Merge "Adding VP9_FILTER_BITS constant."Dmitry Kovalev
2013-08-20Cleanup/enhancements of switchable filter searchDeb Mukherjee
Cleans up the switchable filter search logic. Also adds a speed feature - a variance threshold - to disable filter search if source variance is lower than this value. Results: derfraw300 threshold = 16, psnr -0.238%, 4-5% speedup (tested on football) threshold = 32, psnr -0.381%, 8-9% speedup (tested on football) threshold = 64, psnr -0.611%, 12-13% speedup (tested on football) threshold = 96, psnr -0.804%, 16-17% speedup (tested on football) Based on these results, the threshold is chosen as 16 for speed 1, 32 for speed 2, 64 for speed 3 and 96 for speed 4. Change-Id: Ib630d39192773b1983d3d349b97973768e170c04
2013-08-20Merge "Enable early termination in uv rd loop"Jingning Han
2013-08-20Merge "fix the mv_ref_idx issue"Jim Bankoski
2013-08-20fix the mv_ref_idx issueJim Bankoski
The following issue was reported : https://code.google.com/p/webm/issues/detail?id=601&q=jimbankoski&sort=-id&colspec=ID%20Pri%20mstone%20ReleaseBlock%20Type%20Component%20Status%20Owner%20Summary This code makes the choice and code cleaner and removes any question about whether the border needs to be checked. Change-Id: Ia7aecfb3168e340618805bd318499176c2989597
2013-08-20Changes to auto partition size selection.Paul Wilkins
Changes to code to auto select a partition size range based on data from spatial neighbors. Now looks at the sb_type in each 8x8 block of above and left SB64. The effect on speed 1 is now weaker giving better quality but less speed gain. Now also used in speed 2. Change-Id: Iace33a97d5c3498dd2a9a8a4067351941abcbabc
2013-08-20Adding VP9_FILTER_BITS constant.Dmitry Kovalev
Removing VP9_FILTER_WEIGHT, VP9_FILTER_SHIFT, BLOCK_WIDTH_HEIGHT constants. Using ROUND_POWER_OF_TWO for rounding. Change-Id: I2e8d6858dcd600a87096138209731137d7decc24
2013-08-19Adding has_second_ref function.Dmitry Kovalev
Updating implementation of vp9_get_pred_context_single_ref_p1 using has_second_ref function to make code easier to read. Change-Id: Ie8f60403a7195117ceb2c6c43176ca9a9e70b909
2013-08-19Change to limit the mv search rangeYaowu Xu
As the pixel values beyond image border are duplicates of pixels on edge, the change limits the mv search range, any mv beyond the limits no longer produce new/different prediction values as entire block with pixels used for subpel interpolation are outside image border. Change-Id: I4c6fdf06e33c1cef1489f5470ce0fb4e5e01fb79
2013-08-19fix a bug when null function pointer is used.Yaowu Xu
For certain partition size, the function poniter may not be intialized at all. The patch prevent the call if the pointer is not set. Change-Id: I78b8c3992b639e8799a16b3c74f0973d07b8b9ac
2013-08-19Moving plane_block_idx from vp9_blockd.h to vp9_quantize.c.Dmitry Kovalev
Change-Id: Ib8af21f2e7f603c2fb407e5d15a3bba64b545b49
2013-08-19Enable early termination in uv rd loopJingning Han
This commit enables early termination in the rate-distortion optimization search loop for chroma components. When the cumulative rd cost is above the current best value, skip the rest per-block transform/quantization/coeff_cost and continue to the next prediction mode. For bus_cif at 2000 kbps, the average run-time goes down from 168546ms -> 164678ms, (2% speed-up) at speed 0 36197ms -> 34465ms, (4% speed-up) at speed 1 Change-Id: I9d3043864126e62bd0166250d66b3170d520b3c0
2013-08-19Passing plane_bsize to foreach_transformed_block_visitor.Dmitry Kovalev
Updating all foreach_transformed_block_visitor functions to work with plane block size instead of general block. Removing a lot of duplicated code. Change-Id: I6a9069e27528c611f5a648e1da0c5a5fd17f1bb4
2013-08-19Merge "Fix potential use of uninitialized value"Jingning Han
2013-08-19Merge "Fix the returned distortion value in rd_pick_intra"Jingning Han
2013-08-19Using plane_bsize instead of bsize.Dmitry Kovalev
This change set is intermediate. The next one will remove all repetitive plane_bsize calculations, because it will be passed as argument to foreach_transformed_block_visitor. Change-Id: Ifc12e0b330e017c6851a28746b3a5460b9bf7f0b
2013-08-19Further correct bug in loopfilter initializationAdrian Grange
The intent was to initialize the deltas for the segment to the computed value, irrespective of mode and reference frame if (mode_ref_delta_enabled == 0). (In response to bug posted by Manjit Hota to codec-devel and webm-discuss lists) Change-Id: I10435cb63d0f88359bb4c14f22181878a1988e72