summaryrefslogtreecommitdiff
path: root/vp9/common
AgeCommit message (Collapse)Author
2014-10-24Merge changes I8a9c9019,Ic7b2faa3,I44d42a50,I3f3a3924,I10747b32,I31b49c9eJames Zern
* changes: add vp9_loop_filter_data_reset move LFWorkerData allocation to VP9LfSync vp9_loop_filter_frame_mt: remove pbi dependency vp9_loop_filter_frame_mt: pass planes directly vp9_loop_filter_frame_mt: pass VP9LfSync directly vp9: store TileWorkerData allocations separately
2014-10-23add vp9_loop_filter_data_resetJames Zern
Change-Id: I8a9c9019242ec10fa499a78db322221bf96a0275
2014-10-22Merge "vp9_ethread: allocate frame contexts outside VP9_COMMON struct"Yunqing Wang
2014-10-22vp9_ethread: allocate frame contexts outside VP9_COMMON structYunqing Wang
This patch allocated frame contexts outside VP9_COMMON. This allows multiple threads to share the same copy of frame contexts, and reduces the overhead. It also guarantees the correct update of these contexts during bitstream packing. This patch doesn't change encoding result. Change-Id: Ic181a2460b891d1d587278a6d02d8057b9dbd353
2014-10-22Fix Neon convolve profilingFrank Galligan
When profiling, gprof can't distinguish between matching labels in different files. Change-Id: I56770df212ed314a0d8568071fa8157624ef1e8f
2014-10-20Merge "SAD32xh and SAD64xh for AVX2"Yunqing Wang
2014-10-19SAD32xh and SAD64xh for AVX2levytamar82
All sad function that process above 32 consecutive elements are optimized for AVX2: vp9_sad64x64 vp9_sad64x32 vp9_sad32x64 vp9_sad32x32 vp9_sad32x16 vp9_sad64x64_avg vp9_sad64x32_avg vp9_sad32x64_avg vp9_sad32x32_avg vp9_sad32x16_avg The functions that appeared as a hotspot is vp9_sad32x32 and vp9_sad64x64 vp9_sad32x32 was optimized by 68% and vp9_sad64x64 was optimized by 90% both of them gave and overall ~2.3% user level gain Change-Id: Iccf86b375a2b54c5fbbe685902ead0c9a561b9fd
2014-10-17Add highbitdepth function for vp9_avg_8x8Peter de Rivaz
Cherry-picked from https://gerrit.chromium.org/gerrit/#/c/71914/ (a92f987a6b7819ae5c62a429e126e1c26bdb1b71) on highbitdepth branch. Change-Id: I6903e4e4cb57d90590725c8a1c64c23da7ae65e8
2014-10-16move LFWorkerData allocation to VP9LfSyncJames Zern
this removes an assumption that worker->data1 would be pointing to a TileWorkerData allocation. additionally, within the multi-threaded loopfilter pass VP9LfSync as a parameter to the worker hook, removing the need for a shadow pointer in LFWorkerData. Change-Id: Ic7b2faa34e3eb59dbcb8a7c67f333448fa047c88
2014-10-14Merge "Add a 32-bit friendly sse2 quantizer."Alex Converse
2014-10-14Add a 32-bit friendly sse2 quantizer.Alex Converse
This is based on the 64-bit ssse3 quantizer. 1.1x speedup for screen content at speed 7. Change-Id: I57d15415ef97c49165954bbe3daaaf9318e37448
2014-10-14Merge "Remove extra line."hkuang
2014-10-14Merge "Remove mi_grid_base_array from VP9_COMMON (unused)"Adrian Grange
2014-10-13Use pre increment.hkuang
Change-Id: I016b4e77d8268e189473f4c382603afe1ae1750f
2014-10-13Remove mi_grid_base_array from VP9_COMMON (unused)Adrian Grange
Change-Id: I4b4764463f5a7cdc01ec004b882c6237466c74b0
2014-10-10Remove extra line.hkuang
Change-Id: I5e79c276d8953ae17cd35b2846e6e40660c037c3
2014-10-09Correct the code format.hkuang
Change-Id: If2de420f8123a4e8bf635dd29205dd74ee174eee
2014-10-09Merge "Rename highbitdepth functions to use highbd prefix"Deb Mukherjee
2014-10-09Rename highbitdepth functions to use highbd prefixDeb Mukherjee
Uses highbd_ prefix convention consistently. Change-Id: I58f7f799a7ff8e32701bcd71c955bcf1cdd4581e
2014-10-09vp9_rtcd_defs: fix vp9_avg_8x8 declarationJames Zern
vp9_avg_8x8 does not depend on x86inc, fixes 32-bit OS X build Change-Id: I709b874ea84bf57c8cdb5ac7d43eecc6b8c1a2dd
2014-10-08Merge "Clean up header files in vp9_blockd.h and related files"Jingning Han
2014-10-08Merge "Use #define statement for MAX_MB_PLANE"Jingning Han
2014-10-08Merge "experimental : partition using 1/8 x 1/8 image"Jim Bankoski
2014-10-07experimental : partition using 1/8 x 1/8 imageJim Bankoski
The concept: There's too much noise in source pixels for variance and at low bitrate the reconstructed looks nothing like the source so we have problems getting good partitionings with either. This skirts the issue by using a box blur scaled down version for variance calculations. To compare against source_var_ moved keyframe to be rd based like source_var. Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624
2014-10-07Merge "Remove vp9_blockd.h from vp9_common_data.c"Jingning Han
2014-10-07Merge "Replace mi_width_log2() with mi_width_log2_lookup table"Jingning Han
2014-10-07Merge "Take out repeated block width/height lookup functions"Jingning Han
2014-10-07Clean up header files in vp9_blockd.h and related filesJingning Han
This commit breaks the overly broad header files into more targeted and smaller ones, to help better structure the system layout. Change-Id: I7b24559d3ea6e582cf5d9bbe8f71459f9824d71b
2014-10-07Use #define statement for MAX_MB_PLANEJingning Han
Change-Id: I3a7f83ab1dbfcedc8a82fe798c2fa30dd9c7d696
2014-10-07Remove extra empty lineJingning Han
Change-Id: I6f2865bb8ba9295f5c45a4cad065aecbe1e63c32
2014-10-07Merge "Move inter filter defs to vp9_filter.h"Jingning Han
2014-10-07Remove vp9_blockd.h from vp9_common_data.cJingning Han
The basic data defs should be above block operation level. Change-Id: I7dd9836d01120ab75e0c472baac9f15495ed0db5
2014-10-07Replace mi_width_log2() with mi_width_log2_lookup tableJingning Han
Change-Id: If0ea98aa139d14d40cd924114e18396aff36b5a5
2014-10-07Take out repeated block width/height lookup functionsJingning Han
The functions b_width_log2 and b_height_log2 only do direct table fetch. This commit unifies such use cases by using the table directly and removes these functions. Change-Id: I3103fc6ba959c1182886a2799d21b8b77c8a7b6b
2014-10-07Move inter filter defs to vp9_filter.hJingning Han
Add comments on the use case of these definitions. Further reduce the scope of header file in vp9_context_tree.h. Change-Id: Ic4a7638e838d0ac441b64abfc56e57354c059d75
2014-10-07Merge "Resolves some static analysis / undefined warnings"Deb Mukherjee
2014-10-07Resolves some static analysis / undefined warningsDeb Mukherjee
Also fixes a case of distortion becoming negative and messing up the RDCOST computation. Change-Id: Id345af9e8dfff31ade622be5756e51f2cdface53
2014-10-07Merge "Add SSE2 code and unit test for VP9 denoiser."JackyChen
2014-10-06Add SSE2 code and unit test for VP9 denoiser.JackyChen
This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are only 16x16 blocks in denoiser, while in VP9, there are 13 different block sizes. By adding this SSE2 code, the improvement of encoder speed is around 20%(using C code vs using SSE2 code), vary for different clips. The unit test for VP9 denoiser is to confirm that the SSE2 code is bit-exact with the C code. The unit test covers all block size. Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d
2014-10-06Add range check in inverse ADST 16x16Jingning Han
Bit-stream clarification related to Issue 868. Change-Id: I92a7bc5b7782c9ea5c3f6cceec761742183c9514
2014-10-04Some data type changes in vp9_idct.cDeb Mukherjee
Resolves a visual studio warning, and includes some cleanups. Change-Id: I6a7576ef323c475b7d1c659800cd82c6cb1fd18d
2014-10-03Merge "Incorporate WRAPLOW macro into non-highbitdepth tx"Deb Mukherjee
2014-10-03Incorporate WRAPLOW macro into non-highbitdepth txDeb Mukherjee
Incorporates the WRAPLOW macro into the non-highbitdepth transforms to aid hardware verification between a software C model and an intended hardware implementation though the use of the configure options: --enable-experimental --enable-emulate-hardware. Note that to avoid further discrepancies between the sse/sse2 implementations of the transforms and the C implementation, when the emulate hardware option is invoked, we also disable sse/sse2/etc. Also incudes some minor cleanups/renaming etc. Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
2014-10-02Merge "Make iscan and scan neighbor arrays static const."Yaowu Xu
2014-10-02Make iscan and scan neighbor arrays static const.Yaowu Xu
This commit changes the tables to be read only, which fixes issue #866 Change-Id: I85bbe03f9d344f50570f8c1c61699bdc5cee248f
2014-10-02Fix invalid memory access in inter prediction (issue 853).Alexander Voronov
Change-Id: I5a566d6ade720f212a60c0ad5d6f1ee1d1d37f2e
2014-10-01Merge "Remove redundant header file from vp9_idct.h"Jingning Han
2014-10-01Merge "High-bitdepth bugfixes"Deb Mukherjee
2014-10-01Remove redundant header file from vp9_idct.hJingning Han
Change-Id: Id92544762e7b96d3c729dfc8e04ecff91cbcc7f9
2014-10-01High-bitdepth bugfixesDeb Mukherjee
Miscellaneous bug-fixes for high bitdepth functionality. With this patch, high bit-depth profiles become mostly functional, except for an intermittent assert failure issue that is being tracked. Change-Id: I6a7fcbdcf1e5b09842e88535f8442d2e1230748c