summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2014-12-22Revert "Revert "Removal of legacy zbin_extra / zbin_oq_value.""Jingning Han
This reverts commit 9946ee23e0a4c158e26a505b162a072f81b8a3be. Fix the ssse3 asm function. Change-Id: I07f77a63aa98087626e45c4e87aa5dcafc0b0b07
2014-12-19Revert "Removal of legacy zbin_extra / zbin_oq_value."Paul Wilkins
This reverts commit e9b586e21bb899e247346e82bccf5afb42604910. Change-Id: I5b36e6727da6c05278d97e2c37b80c109f79bed4
2014-12-19Merge "Removal of legacy zbin_extra / zbin_oq_value."Paul Wilkins
2014-12-18Merge "make vp9 encoder static initializers thread safe"James Zern
2014-12-18make vp9 encoder static initializers thread safeJim Bankoski
Change-Id: If2d0888d13ebe52bc7c3b16f16319408a86ab6de
2014-12-18Removal of legacy zbin_extra / zbin_oq_value.Paul Wilkins
zbin extra / zbin_oq_value was widely passed around, hence removal touches a lot of code. Change-Id: Idc94359735b60c38a160e4385ae09d5ca8b6b8e5
2014-12-17Let YUV plane share the same dqcoeff buffer.hkuang
Remove unnecessary dqcoeff from macroblockd which reduce macroblockd size by 16384 bytes. Change-Id: Ia379a703b4fee81c8fd4698b52488a85a90c9bc2
2014-12-17Merge "Add rectangle block support for MFQE."JackyChen
2014-12-17Merge "Use bit_depth in VP9Common as the flag of highbit."JackyChen
2014-12-17Merge "Remove reset mode_info array per frame"Jingning Han
2014-12-16Use bit_depth in VP9Common as the flag of highbit.JackyChen
Change-Id: I881aefbe68f9c10bb4629a2a5ee1e42a225d5ab7
2014-12-16VP9 common for ARMv8 by using NEON intrinsics 15James Yu
Re-write - vp9_lpf_horizontal_4_dual_neon in vp9_loopfilter_16_neon.c Change-Id: Ie14f63d352f9564ad01db3939a61d91cf6d21a31 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16Merge "Use defines for inline and __builtin_prefetch"Johann
2014-12-16Add rectangle block support for MFQE.JackyChen
Only for the rectangle blocks larger than 16X16, SAD and Variance are still based on the internal square blocks. Change-Id: I3754da1b0254147313f86a0140dbf4f980f06a5a
2014-12-16Merge "VP9 common for ARMv8 by using NEON intrinsics 16"Johann
2014-12-16Remove reset mode_info array per frameJingning Han
The mode_info array was unnecessarily reset to zero every frame when error resilient mode turned on, given that the mode info values per block will be assigned during mode search stage. This commit removes this reset operation. It reduces the runtime cost on memset operation to 1/3. The overall speed -6 runtime is reduced by 2%. Change-Id: I32ecb73338d8995cc0c5147de09357364f13d45b
2014-12-16Use defines for inline and __builtin_prefetchJohann
These were established for compatibility. Make sure to use them. Most frequently they manifest as issues on Visual Studio builds. Change-Id: I39d764d2eb341b999d7a6132cb44b2acfc511160
2014-12-16Merge "Revert "Revert "Add support for setting byte alignment."""Frank Galligan
2014-12-16VP9 common for ARMv8 by using NEON intrinsics 16James Yu
Add vp9_reconintra_neon.c - vp9_v_predictor_4x4_neon - vp9_v_predictor_8x8_neon - vp9_v_predictor_16x16_neon - vp9_v_predictor_32x32_neon - vp9_h_predictor_4x4_neon - vp9_h_predictor_8x8_neon - vp9_h_predictor_16x16_neon - vp9_h_predictor_32x32_neon - vp9_tm_predictor_4x4_neon - vp9_tm_predictor_8x8_neon - vp9_tm_predictor_16x16_neon - vp9_tm_predictor_32x32_neon Change-Id: Ib5d54a4766a1b5127169045659974f33aa98376d Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16VP9 common for ARMv8 by using NEON intrinsics 19James Yu
Delete vp9_dc_only_idct_add_neon.c The function was merged with vp9_short_idct4x4_1_add (later vp9_idct4x4_1_add) in d2de1ca and should have been deleted then. Change-Id: Ie58ba3dd9dc7330a8f1238dd7dd71c9ed4639b94 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-16Fixed MFQE crash issue for highbit depth.JackyChen
Check the flags, no MFQE for highbit now. Will add highbit support latter. Change-Id: I548c27593e0f47ab7f4c92b45f14fb037dc86591
2014-12-16Merge "Prevent decoder from using uninitialized entropy context."Yaowu Xu
2014-12-16Merge "Fix the comments."Jim Bankoski
2014-12-15Merge "VP9 common for ARMv8 by using NEON intrinsics 06"Johann
2014-12-15Merge "VP9 common for ARMv8 by using NEON intrinsics 05"Johann
2014-12-15Revert "Revert "Add support for setting byte alignment.""Frank Galligan
This reverts commit 91471d6aad285ff10e7582e485d8adadd1986fe2. Fixes the compile issues if post_proc is enabled. Change-Id: Ib40a15ce2c194f9b5adfa65a17ab01ddf60f5a59
2014-12-15VP9 common for ARMv8 by using NEON intrinsics 06James Yu
Add vp9_iht8x8_add_neon.c - vp9_iht8x8_64_add_neon The assembly did not previously implement tx_type 0 BUG=716 Change-Id: Icfc99dd24f3d59047f9184a7d0c761ba7e3de934 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-15VP9 common for ARMv8 by using NEON intrinsics 05James Yu
Add vp9_iht4x4_add_neon.c - vp9_iht4x4_16_add_neon The assembly did not previously implement tx_type 0 BUG=715 Change-Id: I60034d1568de034edba45c5cdd13f3d87dbc73b6 Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-15Merge "vp9/MACROBLOCKD: reorder struct members"James Zern
2014-12-15Revert "Add support for setting byte alignment."Paul Wilkins
Fails to compile. Bad calls to vp9_alloc_frame_buffer and vp9_realloc_frame_buffer in postproc.c This reverts commit 399823b6f50fb7465f62822d1395e2192e7b07fc. Change-Id: I29f0e173f8e185d3a303cfdb17813e1eccb51e3a
2014-12-12vp9/MACROBLOCKD: reorder struct membersJames Zern
improves locality of reference Change-Id: I0639b98bf38879f918173b3a1b25dd93090e88b4
2014-12-12Merge "Add support for setting byte alignment."Frank Galligan
2014-12-12Merge "Remove redundant loads on 1d16_v8 filter."James Zern
2014-12-12Merge "Remove redundant loads on 1d8_v8 filter."James Zern
2014-12-12Merge "vp9: move encoder-only member from common"James Zern
2014-12-12Merge changes Id6421838,I37499329James Zern
* changes: vp9: make postproc members depend on CONFIG_VP9_POSTPROC vp9_postproc: remove redundant CONFIG_* checks
2014-12-12Add support for setting byte alignment.Frank Galligan
Add support for setting byte alignment on the Y, U, and V plane of the reference buffers. The byte alignment must be a power of 2, from 32 to 1024. A value of 0 sets legacy alignment. Change-Id: I7c1399622f7aa68e123646369216b32047dda73d
2014-12-12Remove redundant loads on 1d16_v8 filter.Frank Galligan
This CL showed about a 3% gain in performance on some systems. Change-Id: Id27e7e0b8e69068aa364e67859436da852669250
2014-12-12Remove redundant loads on 1d8_v8 filter.Frank Galligan
This CL showed a modest gain in performance on some systems. Change-Id: Iad636a89a1a9804ab7a0dea302bf2c6a4d1653a4
2014-12-12vp9: move encoder-only member from commonJames Zern
allow_comp_inter_inter VP9_COMMON -> VP9_COMP Change-Id: I6d9dc25d1cdd7e2ab62f5be69cd9fa883d21dbb6
2014-12-12vp9: make postproc members depend on CONFIG_VP9_POSTPROCJames Zern
Change-Id: Id64218386968cee3132269e4a0572650f20fd980
2014-12-12vp9_postproc: remove redundant CONFIG_* checksJames Zern
the entire module is wrapped in CONFIG_VP9_POSTPROC which is forcibly enabled with CONFIG_INTERNAL_STATS + a similar change in vp9_alloccommon.c Change-Id: I374993297a9fba5bef2f0b71f984eba42f0995a3
2014-12-12vp9_loopfilter_mmx: remove some unused tablesJames Zern
Change-Id: I964d25cc91c8e4864d73b142d9c7a1b39cb6cfbb
2014-12-11Merge "Multiframe Quality Enhancement(MFQE) in VP9."JackyChen
2014-12-11Prevent decoder from using uninitialized entropy context.Alexander Voronov
If decoding starts with intra-only frame, there is a possibility of using uninitialized entropy context, what leads to undefined behavior. Change-Id: Icbb64b5b1bd1e5de2a4bfa2884e56bc0a20840af
2014-12-11Corrected optimization of 8x8 DCT codePeter de Rivaz
The 8x8 DCT uses a fast version whenever possible. There was a mistake in the checking code which meant sometimes the fast version was used when it was not safe to do so. Change-Id: I154c84c9e2d836764768a11082947ca30f4b5ab7 (cherry picked from commit fd05fb0c21e253b4d6f92d7e0b752850ff8ab188)
2014-12-11Multiframe Quality Enhancement(MFQE) in VP9.JackyChen
It is the first version of MFQE in VP9. There are a few TODOs included in this version. Usage: Add flag --enable-vp9-postproc to config the project. In decoder, use flag --mfqe in the command line to enable MFQE in postproc. Note: Need to have key frame with low quality to see the effect of this new patch. In my experiment, I fixed the qindex to 200 in key frame. Change-Id: I021f9ce4616ed3574c81e48d968662994b56a396
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 18James Yu
Add vp9_idct32x32_add_neon.c - vp9_idct32x32_1024_add_neon Change-Id: Ic598b772c28bd3487a8ead7a4598a66b25f9b00f Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 14James Yu
Add vp9_idct16x16_add_neon.c - vp9_idct16x16_256_add_neon_pass1 - vp9_idct16x16_256_add_neon_pass2 - vp9_idct16x16_10_add_neon_pass1 - vp9_idct16x16_10_add_neon_pass2 Change-Id: I54d25b54a36f4371760f54e4036693aaea40a5de Signed-off-by: James Yu <james.yu@linaro.org>
2014-12-10VP9 common for ARMv8 by using NEON intrinsics 13James Yu
Add vp9_idct8x8_add_neon.c - vp9_idct8x8_64_add_neon - vp9_idct8x8_10_add_neon Change-Id: I6ee7b4496765aa36ed52990f2ef73e9f24459610 Signed-off-by: James Yu <james.yu@linaro.org>