summaryrefslogtreecommitdiff
path: root/vp9/encoder
AgeCommit message (Collapse)Author
2013-10-03Use vp9_zero in sub8x8 RD optimiazion loopJingning Han
Change-Id: Ic23a705e48cadaa7151f2bd8536d56636cb973e3
2013-10-03Change b_mode_info definition from union to structJingning Han
This commit defines b_mode_info as a struct type. This will allow us to further remove the use of PARTITION_INFO in the encoding process. Change-Id: I975b0f7d557b5e0f66545a61b472def76b671cce
2013-10-03Remove unused variables in inter_mode rd loopsJingning Han
Remove redundant variable definition/use in rate-distortion search loop for regular and sub8x8 blocks, respectively. Change-Id: Ic0eb3660bb6851ba2eb8d702ba9fd11595000d01
2013-10-03Merge "Refactor inter mode rate-distortion search"Jingning Han
2013-10-03Refactor inter mode rate-distortion searchJingning Han
This commit separates the rate-distortion optimization loop of superblocks from that of sub8x8 blocks. This allows better design rate-distortion optimization search loop for each setting. It also removes the use of SPLITMV and I4X4_PRED therein. No performance change in speed 0 settings. For bus@CIF at 2000kbps, the speed 1 runtime goes from 48009ms to 43894ms (about 10% faster). The overall compression performance on derf changed by -0.021%. Speed 2 runtime goes from 27114ms to 28700ms (6% slower), while the overall coding efficiency goes up by 1.629% for derf, 1.236% for yt. Change-Id: Ie6bdfa0a370148dd60bd800961077f7e97e67dd4
2013-10-03Using vp9_zero instead of vpx_memset.Dmitry Kovalev
Change-Id: I9a0d0e9c3459954aa7b9c68f92cc5d56385ebd18
2013-10-03Merge "Speed setting review."Paul Wilkins
2013-10-03Merge "make use last partition consider motion"Paul Wilkins
2013-10-03Merge "BITSTREAM - RESTORING BILINEAR INTERPOLATION FILTER SUPPORT"Dmitry Kovalev
2013-10-03Speed setting review.Paul Wilkins
Substantial reworking of the speed vs quality trade offs for speed 1 and 2. In this patch I am attempting to freeze the "quality" meaning of speeds 1 and 2 relative to speed 0 so that in future we can better evaluate progress. I am targeting : Speed 1 quality ~-5% vs speed 0. Speed 2 quality ~-10% vs speed 0 It is inevitable that quality will still fluctuate a little as we adjust settings and add new features, but we will attempt to keep as close as possible to these values. Above speed 2 things will remain a bit more fluid for now. In this patch speed 1 is approximately 4-5x as fast as speed 0. This is similar to before but the quality hit is a lot less. Likewise speed 2 is approximately 2x as fast as speed 1 but is similar in quality to the previous speed 1 configuration. Also slight change to behavior of FLAG_EARLY_TERMINATE to insure all reference frames get at least one rd test. Important for very low variance regions. WIP :- Added a new speed level with old speed 4 becoming speed 5. Speed 3 and 4 tradeoffs still WIP Change-Id: Ic7a38dd7b5b63ab1501f9352411972f480ac6264
2013-10-03make use last partition consider motionJim Bankoski
This commit causes use last partition to consider whether a 64x64 has motion that might make a new partitioning worth while. Change-Id: I3a57bedef4f3cd961fadbfa96651c206fa36da4a
2013-10-03Merge "Improved auto_partition_range."Paul Wilkins
2013-10-02BITSTREAM - RESTORING BILINEAR INTERPOLATION FILTER SUPPORTDmitry Kovalev
Adding appropriate test vector vp90-2-06-bilinear.webm. Change-Id: Ia3bbf57318e0cc61a1b724fe751e3f9c7e11b337
2013-10-02Merge "Moving get_token_alloc function from common to the encoder."Dmitry Kovalev
2013-10-02Deprecate unused mode count variablesJingning Han
Remove mode_check_freq and mode_test_hit_counts from VP9_COMP. Change-Id: Iabfd9f841444cd9bf19ac761a9795f140082ce0b
2013-10-01Merge "vp9_block.h cpplint issues resolved"Jim Bankoski
2013-10-01Merge "cpplint issue in vp9_rdopt.h"Jim Bankoski
2013-10-01vp9_block.h cpplint issues resolvedJim Bankoski
Change-Id: Icc6a76a5be77f3e19918155bab3998e0aa32ccf5
2013-10-01cpplint issues in vp9_onyx_int.hJim Bankoski
Change-Id: I6c4058aebe834e1a12b7a3fb10484b9ebe60b349
2013-10-01cpplint issue in vp9_rdopt.hJim Bankoski
Change-Id: I84209d382ca5dfc537ee533cd792d8caa0e25cee
2013-10-01Moving get_token_alloc function from common to the encoder.Dmitry Kovalev
Also renaming mb_row -> mi_row, mb_col -> mi_col arguments and calculate mb_rows/mb_cols values from mi_rows/mi_cols. Change-Id: I6919a279f560648e23bc9a12f507d17c21ffd5d7
2013-09-30Fix rectangular partition check in speed 1Jingning Han
Make encoder skip rectangular partition check in speed 1 and above, when early termination was triggered in partition split. Thanks Guillaume (gmartres@) for catching this issue. This change makes bus_cif at 2000kbps speed 1 runtime goes down from 25612ms to 23438ms (about 9% speed-up), at the expense of -0.235% performance down. Change-Id: I98613fad081a261d30d5fa206f934ca70601c180
2013-09-30Merge "Alter Speed 3."Paul Wilkins
2013-09-30Merge "Some minor changes/cleanups in rate control"Deb Mukherjee
2013-09-30Improved auto_partition_range.Paul Wilkins
The code now takes into account temporal and spatial information to determine the partition size range, but the frequency counts have been removed. The net effect is similar in quality but about 10% faster. Change-Id: I39a513fb79cec9177b73b2a7218f0da70963ae95
2013-09-30Alter Speed 3.Paul Wilkins
This patch deletes the variance based speed three partitioning. Speed 3 now uses the same partitioning method as speed 2 but with some stricter conditions. The speed and quality are now somewhere between speeds 2 and 4 whereas before it was worse in both than speed 4. Change-Id: Ia142e7007299d79db3ceee6ca8670540db6f7a41
2013-09-29Merge "Using is_inter_block and has_second_ref functions."Dmitry Kovalev
2013-09-29Merge "Moving from int_mv* to MV* (3)."Dmitry Kovalev
2013-09-29Merge "Reusing FRAME_CONTEXT struct to simplify the code."Dmitry Kovalev
2013-09-29Merge "Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add."Dmitry Kovalev
2013-09-29Merge "Removing vp9_get_coef_neighbors_handle function."Dmitry Kovalev
2013-09-29Merge "Removing vp9_subpelvar.h from common."Dmitry Kovalev
2013-09-27Reusing FRAME_CONTEXT struct to simplify the code.Dmitry Kovalev
Change-Id: Ia455c1900d84a3221e3681e31e15ca86bd03f89d
2013-09-27Merge "Simplify RDMULT and RDDIV derivation"Guillaume Martres
2013-09-27Renaming vp9_short_idct10_8x8_add to vp9_short_idct8x8_10_add.Dmitry Kovalev
Making name consistent with vp9_short_idct8x8 and vp9_short_idct8x8_1. Change-Id: I99e0be040ec893f9571dcf090e18f98dc58339f5
2013-09-27Removing vp9_get_coef_neighbors_handle function.Dmitry Kovalev
Change-Id: I6be72c8b048d1ccc7ef43764cf84c32360098970
2013-09-27Some minor changes/cleanups in rate controlDeb Mukherjee
Some small changes to the quantizer mapping functions. Also includes some cleanups. Change-Id: I9dea29b24015f6e6697012a0e4d8983049d8e5c7 Results: derfraw300: +0.106% stdhdraw250: +0.139%
2013-09-26Renaming vp9_short_idct10_16x16 to vp9_short_idct16x16_10.Dmitry Kovalev
Making function name consistent with vp9_short_idct16x16 and vp9_short_idct16x16_1. Change-Id: I70e54be9e6b9a1dddab0de470686591e96d05517
2013-09-26Simplify RDMULT and RDDIV derivationGuillaume Martres
Don't divide RDMULT and RDDIV by 100 when RDMULT > 1000. This was probably done to avoid overflow when the rd cost was stored in a 32 bits integer but this is not the case anymore. This change will make it easier to support multiple quantizers per frame. derf compression gain at speed 0: 0.037% Change-Id: Ibeeb9b7cfa1a132a7af41bc90fc07a3bba0857f6
2013-09-25Using is_inter_block and has_second_ref functions.Dmitry Kovalev
Change-Id: I60dee58a4fd24d3c4f3c101a49d30e217309f43a
2013-09-25Merge "Correctly set the segment_id prediction flag and context"Guillaume Martres
2013-09-25Merge "Limit mv search range for first pass and mbgraph"Yaowu Xu
2013-09-25Moving from int_mv* to MV* (3).Dmitry Kovalev
Change-Id: I9795d0937bc07793c13d067281995e0750f694d9
2013-09-25Merge "Moving from int_mv* to MV* (2)."Dmitry Kovalev
2013-09-25Removing vp9_subpelvar.h from common.Dmitry Kovalev
Moving all code from that file to vp9_variace_c.c in the encoder. Change-Id: Ic803d5b4c78d5191e4d25541b3df97337878fc3e
2013-09-25Merge "Replacing txfm with tx."Dmitry Kovalev
2013-09-25Merge "Adding vp9_get_entropy_contexts function."Dmitry Kovalev
2013-09-25Merge "Removing redundant 'extern' keyword."Dmitry Kovalev
2013-09-24Adding vp9_get_entropy_contexts function.Dmitry Kovalev
Change-Id: Ife0dd29fb4ad65c7e12ac5f1db8cea4ed81de488
2013-09-24Replacing txfm with tx.Dmitry Kovalev
Renaming txfm_stepdown_count to tx_stepdown_count and max_txfm_size to max_tx_size. Change-Id: Ifc173e22c78240e561a57c4c741b64b1b8fc6fef