summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-12-18Remove mode dependent zbin boost.Paul Wilkins
Initial patch to remove get_zbin_mode_boost() and cpi->zbin_mode_boost. For now sets a dummy value of 0 for zbin extra pending a further clean up patch. Change-Id: I64a1e1eca2d39baa8ffb0871b515a0be05c9a6af
2014-12-18Merge "Improve motion detection for low complexity regions."Paul Wilkins
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 "Corrected value range of --cpu-used for vp9"Yaowu Xu
2014-12-17Corrected value range of --cpu-used for vp9Yaowu Xu
This commit removes undefined value options of cpu-used for VP9 and changed vpxenc prompt to reflect the usable range of [-8,8] Change-Id: Ib80fef3dbb6ec9aabac45ed13e8ab6fbaf94f55e
2014-12-17Merge "Add rectangle block support for MFQE."JackyChen
2014-12-17Merge "Enhance the end to end psnr tests"Deb Mukherjee
2014-12-17Enhance the end to end psnr testsDeb Mukherjee
Includes more speed settings and also real-time mode now. Change-Id: I71c77c4a2471d715c61cc30db092aa053cf012e1
2014-12-17Merge "Improve the libvpx encoder test driver"Yunqing Wang
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-17Merge "Set second ref frame to be NONE in key frame coding"Jingning Han
2014-12-17Improve the libvpx encoder test driverYunqing Wang
The encoder initialization is called in EncodeFrame(). Therefore, in the unit tests, the set control is done when video->frame() is 1. This didn't cause problem since current tests mainly test lag_frame > 0 case, or no encoding option that needs to allocate memory before 1st frame is used. If use lag_frame = 0 and encoding multiple tiles, the unit tests crash. The issue is fixed by doing the initialization before encoding frames. Change-Id: I43102048f88448bcf27e9c60e0ec06c176b02e5c
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-16Merge "Fix intra mode update process in vp9_pick_inter_mode"Jingning Han
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-16Merge "Allow building multi-res encoder with --shared"Johann
2014-12-16Merge "Silence -Werror=unused-parameter"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-16Set second ref frame to be NONE in key frame codingJingning Han
This commit explicitly set the second reference frame type to be NONE in key frame coding mode. This fixes a subtle dependency of reference motion vector used by next inter frame on mode_info reset before key frame coding. Change-Id: I5ff0359753fdc9992b0bfe889490f7a32d7d5f6a
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-16Allow building multi-res encoder with --sharedJohann
Export vpx_codec_enc_init_multi_ver so the vp8 multi res encoder example can see it when building shared. Change-Id: Ic5222b1b6d949f39c7e50c3bc58fb76bece2a3f1
2014-12-16Silence -Werror=unused-parameterJohann
Cast away remaining issues so that new ones don't get lost in the noise. Change-Id: Iacd6999b0686ce80f9835730d68db6382690fa92
2014-12-16Merge "rtcd: handle armv7s architecture"James Zern
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-16Merge "Fixed MFQE crash issue for highbit depth."JackyChen
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 "Initialize best_tx_size with invalid value"Jingning Han
2014-12-16Merge "Prevent decoder from using uninitialized entropy context."Yaowu Xu
2014-12-16Merge "Use right shift to replace division in vp9_pick_inter_mode"Jingning Han
2014-12-16Improve motion detection for low complexity regions.Paul Wilkins
Where there is very subtle motion, especially when combined with low spatial complexity, the codec sometimes fails to quickly pick up the ambient motion field. Once it has been established though the field propagates well using Nearest and Near MV. This patch looks specifically at the case where the Nearest and Near have not been established as non zero vectors and in this case discounts the cost of searching for a new vector in the rd code. This will almost certainly have some implications in terms of encode speed but it should be possible to mitigate the impact in a subsequent using first pass stats and the local spatial complexity. Average results for test sets approximately neutral. Change-Id: I44a29e20f11f7ab10f8c93ffbdc50183d9801524
2014-12-16Merge "Fix for crash in highbitdepth rt mode"Debargha Mukherjee
2014-12-16Merge "Fix the comments."Jim Bankoski
2014-12-16Fix for crash in highbitdepth rt modePeter de Rivaz
Change 72141 introduced a new use of vp9_avg_4x4. This call needs to switch to using vp9_highbd_avg_4x4 when performing high bitdepth encodes. Change-Id: I6a8ba4b62f8a75d0a917b365a55245e2f0438ea1
2014-12-15Merge "iosbuild.sh: allow for out of tree builds"James Zern
2014-12-15iosbuild.sh: allow for out of tree buildsJames Zern
Change-Id: Id89ed4a4153dd6e02380c4b8ae8ad6c1f8d21944
2014-12-15rtcd: handle armv7s architectureJames Zern
quiets build warnings about implicit (armv6) function declarations Change-Id: I896a5ef3e367e5bb92777a60d34003eb3a040997
2014-12-15Fix intra mode update process in vp9_pick_inter_modeJingning Han
When multiple intra modes are tested, the previous mode info update process may overwrite the selected best intra mode and make the final selection use an inter mode. This commit fixes this issue by moving the mode_info reset outside the intra mode search loop. Change-Id: I15ed4288a6b3cb0832104a5e6d5d9a25cd1a5b2b
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-15Merge "Simplify rate-distortion modeling function"Jingning Han
2014-12-15Initialize best_tx_size with invalid valueJingning Han
If vp9_pick_inter_mode works properly, it should at least check one coding mode and hence get best_tx_size assigned a valid value. There is no need to initialize best_tx_size with a legitimate value before starting the mode search. Change-Id: Ic0496cd89672ea9c2c512a9bd1da952190af9cba
2014-12-15Use right shift to replace division in vp9_pick_inter_modeJingning Han
Make the variable reduction_fac log2 based and explicitly use right shift when computing intra_cost_penalty. Change-Id: I208f1fb879a02debb3b3fc64f9fd06260dcf1c86
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>