summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-05-08mips msa vp9 idct 8x8 optimizationParag Salasakar
average improvement ~4x-6x Change-Id: I5edf713721b9e24c7e0ce2e69d8fc3ecab625d91
2015-05-08Merge "mips msa vp9 idct 32x32 optimization"Parag Salasakar
2015-05-07Merge "Remove only remaining uses of 'fast_unaligned'"Johann
2015-05-07Remove only remaining uses of 'fast_unaligned'Johann
Use memcpy instead of casting. Change-Id: Ieca725cc628883985bde23c7d742af8781c5dbb5
2015-05-07replace DECLARE_ALIGNED_ARRAY w/DECLARE_ALIGNEDJames Zern
this macro was used inconsistently and only differs in behavior from DECLARE_ALIGNED when an alignment attribute is unavailable. this macro is used with calls to assembly, while generic c-code doesn't rely on it, so in a c-only build without an alignment attribute the code will function as expected. Change-Id: Ie9d06d4028c0de17c63b3a27e6c1b0491cc4ea79
2015-05-07Merge "Move shared SAD code to vpx_dsp"Johann
2015-05-07Merge "Remove an unnecessary check."hkuang
2015-05-07Merge "Remvoe EIGHTTAP_SHARP filter check for non-rd mode."Marco
2015-05-07Merge "Image size restriction to rd auto partition search."paulwilkins
2015-05-07mips msa vp9 idct 32x32 optimizationParag Salasakar
average improvement ~4x-6x Change-Id: Idaba7e49fbd7f388caee0d73773ccf6e4807ef17
2015-05-06Remvoe EIGHTTAP_SHARP filter check for non-rd mode.Marco
Using EIGHTTAP and EIGHTTAP_SMOOTH seem sufficient. Hard to see any visual gain from allowing EIGHTTAP_SHARP, and it is rarely selected. PSNR/SSIM metrics go up by ~0.18/0.14%. Change-Id: I96fa0d98f9321b913e3ebcd464d4ff3c63018791
2015-05-06Move shared SAD code to vpx_dspJohann
Create a new component, vpx_dsp, for code that can be shared between codecs. Move the SAD code into the component. This reduces the size of vpxenc/dec by 36k on x86_64 builds. Change-Id: I73f837ddaecac6b350bf757af0cfe19c4ab9327a
2015-05-06Remove an unnecessary check.hkuang
Change-Id: Id0f224ac4667dd173363b0f05711678448291d4e
2015-05-06Correct the inter prediction coordinate calculation which greatly reduced thehkuang
times of border extension. Change-Id: I8e5bd590cc696ee71cfe1f4cc66c12fb24aaf44e
2015-05-06Merge "Optimize the read_partition."hkuang
2015-05-06Merge "Add intra mode early termination in non-rd mode"Yunqing Wang
2015-05-06Merge "mips msa vp9 idct 16x16 optimization"Parag Salasakar
2015-05-05Add intra mode early termination in non-rd modeYunqing Wang
Added the intra mode early termination in order to speed up the mode search in non-rd case since we started to include more intra modes in the search list. Borg tests(rtc set) showed a 0.048% PSNR gain and 0.061 SSIM gain. No speed change. Change-Id: I6f255fe534dc50b736e6a66a726ad458eb9b4443
2015-05-05Optimize the read_partition.hkuang
Change-Id: I5a796425ce5706824a2fc17c6f24f983c5b9e43b
2015-05-05fix and enable vp9_dc_128_predictor_16x16James Zern
widen the loads and stores to 128-bit. this was added, but not enabled in: 493a857 Add some sse2 code for intra prediction. Change-Id: I277d7db608a7db7d75cc0bde86f48fa66ad487e4
2015-05-05Merge "Add some sse2 code for intra prediction."hkuang
2015-05-05Merge "Remove CONSTRAIN_NEIGHBORING_MIN_MAX."paulwilkins
2015-05-05Merge "Adjust ARF min and max interval."paulwilkins
2015-05-05mips msa vp9 idct 16x16 optimizationParag Salasakar
average improvement ~4x-6x Change-Id: I55e95b7f2ba403dff11813958dc7c73a900dd022
2015-05-04Allow for H and V intra modes for non-rd mode.Marco
For non-rd mode (speed >=5): use mask based on prediction block size, and (for non-screen content mode) allow for checking horiz and vert intra modes for blocks sizes < 16x16. Avg psnr/ssim metrics go up by about ~0.2%. Only allowing H/V intra on block sizes below 16x16 for now, to keep encoding time increase very small, and also when allowing H/V on 16x16 blocks, metrics went down on a few clips which need to be further examined. Change-Id: I8ae0bc8cb2a964f9709612c76c5661acaab1381e
2015-05-01vp9_idct_intrin_sse2: cosmetics: reindentJames Zern
+ fix some whitespace Change-Id: Id61b739282014288a7e5d3c17a9d6448d9d4cda2
2015-05-01Merge "Reduce intra_cost_penalty for BLOCK_8X8"Yunqing Wang
2015-05-01Merge "Adjust the vbp early termination threshold slightly"Yunqing Wang
2015-05-01FIX: Use correct above/left in read_intra_frame_mode_infoScott LaVarnway
Should be using xd->above_mi and xd->left_mi. Change-Id: Ifab83512db5491a955a3ed44a2d6e3b25b5ae5a5
2015-05-01Image size restriction to rd auto partition search.paulwilkins
Impose a limit on the rd auto partition search based on the image format. Smaller formats require that the search includes includes a smaller minimum block size. This change is intended to mitigate the visual impact of ringing in some problem clips, for smaller image formats. Change-Id: Ie039e5f599ee079bbef5d272f3e40e2e27d8f97b
2015-05-01Remove CONSTRAIN_NEIGHBORING_MIN_MAX.paulwilkins
Remove one of the auto partition size cases. This case can behaves badly in some types of animated content and was only used for the rd encode path. A subsequent patch will add additional checks to help further improve visual quality. Change-Id: I0ebd8da3d45ab8501afa45d7959ced8c2d60ee4e
2015-05-01Adjust ARF min and max interval.paulwilkins
Previously limit on max interval set to 0.5 seconds. Though this helped some low frame rate material it appears to be a bit too aggressive for some 24 and 25 fps content. This patch relaxes the limit to 0.75 seconds. The patch also adds a new minimum interval variable to replace the current hard wired value. This allows us to impose a limit on the maximum number of primary arfs per second for high frame rate (e.g. 50 & 60fps) content. This is to address concerns regarding playback performance on some platforms if there is a high base frame rate and very frequent arfs. Change-Id: I373e8b6b2a8ef522eced6c6d2cceb234ff763fcf
2015-04-30vp9: RECON_AND_STORE4X4: remove dest offsetJames Zern
offsetting by a variable stride prevents instruction reordering, resulting in poor assembly Change-Id: Id62d6b3299cdd23f8c44f97b630abf4fea241446
2015-04-30vp9_idct_intrin_*: RECON_AND_STORE: remove dest offsetJames Zern
offsetting by a variable stride prevents instruction reordering, resulting in poor assembly. additionally reroll 16x16/32x32 loops to reduce register spill with this new format Change-Id: I0635b8ba21ecdb88116e927dbdab53acdf256e11
2015-04-30Merge "Remove vp9_idct16x16_10_add_ssse3()"Yaowu Xu
2015-04-30Merge "vp9_decodeframe: simplify compare_tile_buffers"James Zern
2015-04-30Add some sse2 code for intra prediction.hkuang
Change-Id: I16c0a62e52dab62837c547345df31e7518620ed4
2015-04-30Reduce intra_cost_penalty for BLOCK_8X8Yunqing Wang
This patch reduced the BLOCK_8X8's intra_cost_penalty, which allows 8x8 blocks to conduct intra mode search. Borg test result(rtc set): 0.077% PSNR gain, 0.228% SSIM gain. No speed changes. Change-Id: Icfe90c4f6969de24bda8ecacbd3da50330bf22b2
2015-04-30Remove vp9_idct16x16_10_add_ssse3()Yaowu Xu
The rotation computation using 2X of cos(pi/16) has a potential to overflow 32 bit, this commit disable the function to allow further investigation and optimization. Change-Id: I4a9803bc71303d459cb1ec5bbd7c4aaf8968e5cf
2015-04-30Merge "Improve golden frame refreshing in non-rd mode"Yunqing Wang
2015-04-30Adjust the vbp early termination threshold slightlyYunqing Wang
Calculated cpi->vbp_threshold_sad from this frame's dequant value. The encoding quality and speed didn't change much. Borg test result: PSNR: -0.002%, SSIM: -0.003%. Change-Id: I97c9826986f39582f29910d637d08a69c90afdee
2015-04-30Merge "mips msa vp9 copy and avg convolve optimization"Parag Salasakar
2015-04-30Merge "Disable ssse3 version idct16x16_256_add()"Yaowu Xu
2015-04-29vp9_decodeframe: simplify compare_tile_buffersJames Zern
return the difference between the 2 buffer sizes rather than exactly -1/0/1. Change-Id: Idf1ccff7088b31845470bcc71bea5927b0598cc7
2015-04-29Disable ssse3 version idct16x16_256_add()Yaowu Xu
The version is currently producing different result from c version for some input. Disable the use of it for now to allow time for investigation the source of mismatch. Change-Id: Id039455494ee531db4886a9f1fa4761174ef6df3
2015-04-29Improve golden frame refreshing in non-rd modeYunqing Wang
The default golden frame interval was doubled. After encoding a frame, the background motion was measured. If the motion was high, the current frame was set as the golden frame. Currently, the changes were applied only while aq-mode 3 was on. Borg tests(rtc set) showed a 0.226% PSNR gain and 0.312% SSIM gain. No speed changes. Change-Id: Id1e2793cc5be37e8a9bacec1380af6f36182f9b1
2015-04-29Merge "vpx_temporal_svc_encoder: Keep static_threshold off as default."Marco
2015-04-29vpx_temporal_svc_encoder: Keep static_threshold off as default.Marco
Change-Id: Iadb42041f08ac969cc0b6af6f15e30c8498db680
2015-04-29Merge changes from topic 'vpx_mem-cruft'James Zern
* changes: vpx_mem: remove vpx_memset vpx_mem: remove vpx_memcpy vpx_mem: remove vpx_memmove
2015-04-29vpx_temporal_svc_encoder: Update some settings.Marco
Set denoiser off by default: should add this option to command line. Change-Id: Iaecc94f5b5099feaacd7a5c415fc86eb68a2eea5