summaryrefslogtreecommitdiff
path: root/vp8/common
AgeCommit message (Collapse)Author
2014-05-03VP8 for ARMv8 by using NEON intrinsics 12James Yu
Add sad_neon.c - vp8_sad16x16_neon - vp8_sad16x8_neon - vp8_sad8x8_neon - vp8_sad8x16_neon - vp8_sad4x4_neon Change-Id: I08eaae49ec03fb91b394354660a5df0367cea311 Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03VP8 for ARMv8 by using NEON intrinsics 11James Yu
Add mbloopfilter_neon.c - vp8_mbloop_filter_horizontal_edge_y_neon - vp8_mbloop_filter_horizontal_edge_uv_neon - vp8_mbloop_filter_vertical_edge_y_neon - vp8_mbloop_filter_vertical_edge_uv_neon Change-Id: Ia9084e0892d4d49412d9cf2b165a0f719f2382d7 Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03VP8 for ARMv8 by using NEON intrinsics 10James Yu
Add loopfiltersimpleverticaledge_neon.c - vp8_loop_filter_bvs_neon - vp8_loop_filter_mbvs_neon Change-Id: I7cf0a161ad4ae37c881b94cc0122f895d3baae79 Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-03VP8 for ARMv8 by using NEON intrinsics 09James Yu
Add loopfiltersimplehorizontaledge_neon.c - vp8_loop_filter_bhs_neon - vp8_loop_filter_mbhs_neon Change-Id: I77f9721b20585da8bf3869a3850ff0ae4b4bfeea Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-02VP8 for ARMv8 by using NEON intrinsics 08James Yu
Add loopfilter_neon.c - vp8_loop_filter_horizontal_edge_y_neon - vp8_loop_filter_horizontal_edge_uv_neon - vp8_loop_filter_vertical_edge_y_neon - vp8_loop_filter_vertical_edge_uv_neon Change-Id: I50b57dedabd42d2a3c183c1738cc5346f0e71ed8 Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-02VP8 for ARMv8 by using NEON intrinsics 07James Yu
Add iwalsh_neon.c - vp8_short_inv_walsh4x4_neon Change-Id: I8beda6ce11ad8ce9e80cc0a38d40161938359162 Signed-off-by: James Yu <james.yu@linaro.org>
2014-05-02VP8 for ARMv8 by using NEON intrinsics 06James Yu
Add idct_dequant_full_2x_neon.c - idct_dequant_full_2x_neon ==== Summary of apply VP8 decode patch series ==== Benchmark on Samsung Chromebook, Cortex-A15, 1.7GHz, Dual core Toolchain: linaro-1.13.1-4.8-2014.01 Compile argument: CROSS=arm-linux-gnueabihf- ../libvpx/configure --target=armv7-linux-gcc --prefix=$HOME/out --enable-shared --cpu=cortex-a7 Test argument: vpxdec --summary --noblit ./tears_of_steel_1080p.webm NEON assembly 46.68 (fps) Apply patch 06 46.65, -0.03 Apply patch 07 46.86, +0.21 Apply patch 08 46.58, -0.28 Apply patch 09 46.57, -0.01 Apply patch 10 46.51, -0.06 Apply patch 11 46.13, -0.38 Apply patch 12 45.42, -0.71 Apply patch 13 46.06, +0.64 Apply patch 14 45.19, -0.87 Apply patch 15 45.93, +0.74 Apply patch 16 45.48, -0.45 Apply patch 17 45.84, +0.36 Apply patch 18 45.91, +0.07 <= With all NEON intrinsics patches Total -0.77 fps, 1.65% performance regression Change-Id: I77bfc9eaccfb97b8d401e949ceff8795e26ca6b7 Signed-off-by: James Yu <james.yu@linaro.org>
2014-04-29Remove VP8 save_reg_neon functionYunqing Wang
This patch did a cleanup following the commit "Save NEON registers in VP8 NEON functions". The pushing/poping of callee-saved NEON registers was moved into individual NEON functions. Therefore, we don't need to save those registers at the beginning of codec. The related code was removed. Change-Id: I5648166514fc9beffb780aa138495597731f49ea
2014-04-28Save NEON registers in VP8 NEON functionsYunqing Wang
The recent compiler can generate optimized code that uses NEON registers for various operations besides floating-point operations. Therefore, only saving callee-saved registers d8 - d15 at the beginning of the encoder/decoder is not enough anymore. This patch added register saving code in VP8 NEON functions that use those registers. Change-Id: Ie9e44f5188cf410990c8aaaac68faceee9dffd31
2014-04-23Add VPXD_SET_DECRYPTOR support to the VP9 decoder.Joey Parrish
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
2014-04-21Fix dr memory VP8 encode/decode errorsYunqing Wang
This patch fixed errors reported in Issue 746: "dr memory VP8 encode errors" and Issue 745: "dr memory VP8 decode errors". The "UNINITIALIZED READ" errors were fixed in x86 assembly code. The list of files fixed is vp8_intra_pred_uv_tm_sse2 vp8_intra_pred_uv_tm_ssse3 vp8_intra_pred_uv_ho_mmx2 vp8_intra_pred_uv_ho_ssse3 vp8_intra_pred_y_tm_sse2 vp8_intra_pred_y_tm_ssse3 vp8_intra_pred_y_ho_sse2 Change-Id: Ib6df7bf1d442077fe534edfd90e50ad16fadacdd
2014-04-04Remove an unused typedefJan Gerber
Change-Id: Ie0eb9ac4529db00a322511e5241a59b501c289b7
2014-03-24Fix uninitialized read in postprocessingYunqing Wang
This patch fixed WebRTC Issue 3020: "Uninit error at vp8_mbpost_proc_down_xmm". The first 8 values in d were not initialized, but was accessed. This patch fixed c code as well as mmx and sse2 code. Change-Id: Iaa5b41a4ed3bea971b15fb826ce34b7ab4e36fb1
2014-03-03build: convert rtcd.sh to perlJames Zern
significantly speeds up file generation. the goal of this change is to convert rtcd.sh to perl as directly as possible to allow for simple comparison. future changes can make it more perl-like. --- Linux [CREATE] vpx_scale_rtcd.h real 0m0.485s -> 0m0.022s [CREATE] vp8_rtcd.h real 0m4.619s -> 0m0.060s [CREATE] vp9_rtcd.h real 0m10.102s -> 0m0.087s Windows [CREATE] vpx_scale_rtcd.h real 0m8.360s -> 0m0.080s [CREATE] vp8_rtcd.h real 1m8.083s -> 0m0.160s [CREATE] vp9_rtcd.h real 2m6.489s -> 0m0.233s Change-Id: Idfb71188206c91237d6a3c3a81dfe00d103f11ee
2014-02-26VP8 for ARMv8 by using NEON intrinsics 05James Yu
Add dequantizeb_neon.c - vp8_dequantize_b_loop_neon vpxdec --summary --noblit ../videos/tears_of_steel_1080p.webm Before => After, 13.25 => 13.23 (fps) Change-Id: Iebe3b0c6ed2359c778b0570763c5681ae25fef0c Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-26VP8 for ARMv8 by using NEON intrinsics 04James Yu
Add dequant_idct_neon.c - vp8_dequant_idct_add_neon vpxdec --summary --noblit ../videos/tears_of_steel_1080p.webm Before => After, 13.25 => 13.22 (fps) Change-Id: Id48f39e1da58dd3d8d37658e94989411997f4f7c Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-26VP8 for ARMv8 by using NEON intrinsics 03James Yu
Add dc_only_idct_add_neon.c - vp8_dc_only_idct_add_neon vpxdec --summary --noblit ../videos/tears_of_steel_1080p.webm Before => After, 13.25 => 13.24 (fps) Change-Id: I5e9e277ec3a3ca67e13c8cc4c324a6fbe8a897fc Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-23VP8 for ARMv8 by using NEON intrinsics 02James Yu
Add copymem_neon.c - vp8_copy_mem16x16_neon - vp8_copy_mem8x8_neon - vp8_copy_mem8x4_neon vpxdec --summary --noblit ../videos/tears_of_steel_1080p.webm Before => After, 13.25 => 13.25 (fps) Change-Id: Ib956b5a20522ff57dc8a580bf0aef7b252bddba6 Signed-off-by: James Yu <james.yu@linaro.org>
2014-02-12minor spelling cleanup in commentsAndrew Russell
Change-Id: Ia91c6c406273345b08505097ffe1af3896980f06
2014-01-23vp8/common: add extern "C" to headersJames Zern
Change-Id: I13b434b1e6621e31962b08831c3587c039368c83
2014-01-17Change the vp8 END_USAGE typedefDeb Mukherjee
Makes the END_USAGE typedef compatible with the vpxenc input Change-Id: If784586fdb90a1e6f7badcb522ea9e93d4ddc030
2014-01-10Apply neon flags to intrinsic filesJohann
Filter out files ending in _neon.c and append .neon so the Android build system knows to apply -mfpu=neon Change-Id: Ib67277e5920bfcaeda7c4aa16cd1001b11d59305
2014-01-09VP8 for ARMv8 by using NEON intrinsics 01James Yu
Add bilinearpredict_neon_intrinsics.c - vp8_bilinear_predict4x4_neon - vp8_bilinear_predict8x4_neon - vp8_bilinear_predict8x8_neon - vp8_bilinear_predict16x16_neon Change-Id: I33dfa502881219841b442dda32b73220e51b716b Signed-off-by: James Yu <james.yu@linaro.org>
2014-01-02ARM NEON version of denoiser.Christian Duvivier
Change-Id: I951abd4ad0078f78949f3cb79453ac334fb82a7e
2013-12-16vp8/common: normalize include guardsJames Zern
Change-Id: Ia8789a8f864e0edc0bf94f00f6430846f86911c3
2013-12-10vp8: remove 2 unused tablesJames Zern
Change-Id: Ib5ba4e0b438107741efa28251848306322fd7f89
2013-12-09Add include guards to setupintrarecon.h and vpx_once.hEhsan Akhgari
Change-Id: Ife17fc6369ce32f36d5c7f8a2ef5a3b7724d81b9
2013-10-29idct_blk_mmx.c: use vpx_memset instead of castJohann
Fix warning with -Wstrict-aliasing=1 Change-Id: Ic37013e6477cf213925830d0bd8e6f17364ff7cc
2013-10-29idct_blk.c: use vpx_memset instead of castJohann
Fix warning with -Wstrict-aliasing=1 Change-Id: Ibf4af991f2c82b8ccbdc20362da64be669564333
2013-10-01Merge "Fix linker warnings for bilinear filters"Matthew Heaney
2013-10-01Fix linker warnings for bilinear filtersMatthew Heaney
The declaration of the bilinear filters specified an alignment clause in the implementation file but not in the header. This turned out to be harmless, but it did cause linker warnings to be emitted when building on Windows. The (extern) declaration in the header was changed, to match the declaration in the implementation. Change-Id: I44be89b1572fe9a50fa47a42e4db9128c4897b04
2013-09-26fixed integer overflow warningsYaowu Xu
Jenkins warns on left shift of negative numbers and non-aligned read of int. This commit fixed the two issues. Change-Id: I389a7fb6a572c643902e40a4c10fefef94500d2c
2013-09-23fix integer overflow in vp8Yaowu Xu
Change-Id: I62550a7a883115f3ce878710cf3bb039bea54390
2013-09-06Support a constant quality mode in VP9Deb Mukherjee
Adds a new end-usage option for constant quality encoding in vpx. This first version implemented for VP9, encodes all regular inter frames using the quality specified in the --cq-level= option, while encoding all key frames and golden/altref frames at a quality better than that. The current performance on derfraw300 is +0.910% up from bitrate control, but achieved without multiple recode loops per frame. The decision for qp for each altref/golden/key frame will be improved in subsequent patches based on better use of stats from the first pass. Further, the qp for regular inter frames may also be varied around the provided cq-level. Change-Id: I6c4a2a68563679d60e0616ebcb11698578615fb3
2013-07-18VP[89]_COMMON: remove golden/altref frame countsJames Zern
these are only used in the encoder. frames_since_golden / frames_till_alt_ref_frame -> VP[89]_COMP Change-Id: Ie14a6f46987bced685ddb449b85dc261caba6dfe
2013-07-16use consistent framerate namingJames Zern
s/frame_rate/framerate/g Change-Id: I6fc3e088e419c5f46e3a9390dd8a2cad2677a2fc
2013-07-16Merge "VP[89]_COMMON: remove unused near_boffset"James Zern
2013-07-16Merge "VP9_COMMON: remove unused framerate/bitrate"James Zern
2013-07-12VP9_COMMON: remove unused framerate/bitrateJames Zern
+ VP8_COMMON: place them under CONFIG_POSTPROC_VISUALIZER Change-Id: I2702d5a3e1134b9c5f7ddc14b4173955a400f2cf
2013-07-12VP[89]_COMMON: remove unused near_boffsetJames Zern
Change-Id: If9b9ca703b997312df85241a0758d414cfdc5228
2013-07-12yv12config: remove YUV_TYPEJames Zern
this was never fleshed out in the context of VP8, for which it was added. for VP9 it has no meaning. Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff
2013-07-09remove unused VP8 com/dec asm offsetsJames Zern
Change-Id: Ib3b26ee27f04b2dcbbd32b3127afb45e9f50cfcf
2013-05-22arm: Move the definition of bilinear_taps_coeff to within the sectionMartin Storsjo
Previously, the microsoft arm assembler errored out, saying that bilinear_taps_coeff was an undefined symbol. Change-Id: Ib938f0b454c41ccbd801e70a7c9acc0fa04e3c55
2013-05-22arm: Explicitly write both target registers for ldrdMartin Storsjo
The microsoft assembler can't handle the second register being implicit. Change-Id: Ia831953a78a25fd6b2082474f05fdb78d96cdf78
2013-04-19Merge "Removed shadow warnings : postproc.c decodframe.c threading.c"Scott LaVarnway
2013-03-15Bug fix: Issue 532: VPX codec executes emms instruction withoutScott LaVarnway
checking CPU capabilities Reported by Krzysztof Kaspruk. https://code.google.com/p/webm/issues/detail?id=532 Change-Id: I9efa693b0c33694c871189841b8ac59c1fc554e2
2013-03-15Bug fix: Issue 531: MMX code tries to read from SSE2 registerScott LaVarnway
Reported by Krzysztof Kaspruk. https://code.google.com/p/webm/issues/detail?id=531 Change-Id: Ib5d5878ad07707bd42c2ca833eb021004f537012
2013-03-14Removed shadow warnings : postproc.c decodframe.c threading.cScott LaVarnway
and denoising.c Adding -Wshadow to CFLAGS generated a bunch of warnings. This patch removes these warnings. Change-Id: I434a9f4bfac9ad4ab7d2a67a35ef21e6636280da
2013-03-14Merge "Removed shadow warnings : loopfilter*.c"Scott LaVarnway
2013-03-14Removed shadow warnings : reconintra.cScott LaVarnway
Adding -Wshadow to CFLAGS generated a bunch of warnings. This patch removes these warnings. Change-Id: I9d52c4a44351607d7d20d52e2a1bffe2a067891a