Age | Commit message (Collapse) | Author |
|
NONE is a common name and it has conflicts with symbols defined in
Chromium.
Bug: b/286163500
Change-Id: I3d935a786f771a4d90b258fabc6fd6c2ecbf1c59
|
|
Dont -> Don't
setings -> settings
thresold -> thresh
thresold -> threshold
becasue -> because
itterations -> iterations
its a -> it's a
an constant -> a constant
Bug: webm:1803
Change-Id: I1e019393939ed25c59c898c88d4941ec360b026d
|
|
There were multiple implementations of CHECK_MEM_ERROR across the
library that take different arguments and used in different places.
This CL will unify them and have only one implementation that takes
vpx_internal_error_info.
Change-Id: I2c568639473815bc00b1fc2b72be56e5ccba1a35
|
|
|
|
Added AVX2 intrinsic optimization for the following functions
1. vpx_idct16x16_256_add
2. vpx_idct32x32_1024_add
3. vpx_idct32x32_135_add
The module level scaling w.r.t C function (timer based) for
existing (SSE2) and new AVX2 intrinsics:
Scaling
Function Name SSE2 AVX2
vpx_idct32x32_1024_add 3.62x 7.49x
vpx_idct32x32_135_add 4.85x 9.41x
vpx_idct16x16_256_add 4.82x 7.70x
This is a bit-exact change.
Change-Id: Id9dda933aa1f5093bb6b35ac3b8a41846afca9d2
|
|
Bug: webm:1793
Change-Id: I4e79a4d7d41b6abf88e3e60c54ab48a92b0346d2
|
|
Added a speed feature to skip every other row
in SAD computation during motion search.
Instruction Count BD-Rate Loss(%)
cpu Resolution Reduction(%) avg.psnr ovr.psnr ssim
0 LOWRES2 0.958 0.0204 0.0095 0.0275
0 MIDRES2 1.891 -0.0636 0.0032 0.0247
0 HDRES2 2.869 0.0434 0.0345 0.0686
0 Average 1.905 0.0000 0.0157 0.0403
STATS_CHANGED
Change-Id: I1a8692757ed0cbcb2259729b3ecfb0436cdf49ce
|
|
Avoided repeated calculation of start MV
SAD during full pixel motion search.
Instruction Count
cpu Resolution Reduction(%)
0 LOWRES2 0.162
0 MIDRES2 0.246
0 HDRES2 0.325
0 Average 0.245
Change-Id: I2b4786901f254ce32ee8ca8a3d56f1c9f112f1d4
|
|
This matches the style guide and fixes some -Wshadow warnings related to
variables with the same name. Something similar was done in libaom in:
03f6fdcfca Fix warnings reported by -Wshadow: Part1b: scan_order struct
and variable
Bug: webm:1793
Change-Id: Ide5127886b7fd7778e6d8a983bfba6edda21ff28
|
|
* changes:
vp9_bitstream.c: clear -Wshadow warnings
vp9_setup_mask: clear -Wshadow warnings
|
|
Bug: webm:1793
Change-Id: If678fc195ef87cc634d31fb7b24e0c844a5cb7b0
|
|
This is a reland of commit 14fc40040ff30486c45111056db44ee18590a24a
Parent change fixed in crrev.com/c/webm/libvpx/+/4305500
Original change's description:
> quantize: use scan_order instead of passing scan/iscan
>
> further reduces the arguments for the 32x32. This will be applied to the base
> version as well.
>
> Change-Id: I25a162b5248b14af53d9e20c6a7fa2a77028a6d1
Change-Id: I2a7654558eaddd68bd09336bf317b297f18559d2
|
|
|
|
Add Neon implementation of vp9_highbd_block_error_c as well as the
corresponding tests.
Change-Id: Ibe0eb077f959ced0dcd7d0d8d9d529d3b5bc1874
|
|
Both are around 3x faster than original C version. 8-bit gives a
small 0.5% speed increase, whereas highbd gives ~2.5%.
Change-Id: I71d75ddd2757b19aa201e879fd9fa8f3a25431ad
|
|
Add Neon implementation of vp9_block_error_c as well as the
corresponding tests.
Change-Id: I79247b5ae24f51b7b55fc5e517d5e403dc86367a
|
|
Currently vp9_block_error_fp_neon is only used when
CONFIG_VP9_HIGHBITDEPTH is set to false. This patch optimizes the
implementation and uses tran_low_t instead of int16_t so that the
function can also be used in builds where vp9_highbitdepth is enabled.
Change-Id: Ibab7ec5f74b7652fa2ae5edf328f9ec587088fd3
|
|
This reverts commit 14fc40040ff30486c45111056db44ee18590a24a.
This has alignment issues, causing crashes in the tests:
SSSE3/VP9QuantizeTest.EOBCheck/*
Change-Id: I934f9a4c3ce3db33058a65180fa645c8649c3670
|
|
further reduces the arguments for the 32x32. This will be applied to the base
version as well.
Change-Id: I25a162b5248b14af53d9e20c6a7fa2a77028a6d1
|
|
Bug: webm:1793
Change-Id: Ia64d175aa69dc2ecde2babf64bde04f02b32795b
|
|
Bug: webm:1793
Change-Id: Ie4ea8f0a3295e6f58dc6f7d5c61d46700c539d40
|
|
In total this gives about 9% extra performance for both rt/best
profiles.
Furthermore, add transpose_s32 16x16 function
Change-Id: Ib6f368bbb9af7f03c9ce0deba1664cef77632fe2
|
|
Refactor & optimize FHT functions further, use new butterfly functions
4x4 5% faster, 8x8 & 16x16 10% faster than previous versions.
Highbd 4x4 FHT version 2.27x faster than C version for --rt.
Change-Id: I3ebcd26010f6c5c067026aa9353cde46669c5d94
|
|
Change-Id: I3177251a5935453a23a23c39ea5f6fd41254775e
|
|
All of the assembly adds 1 to iscan to convert from
a 0 based array to the EOB value.
Add 1 to all iscan values and remove the extra
instructions from the assembly.
Change-Id: I219dd7f2bd10533ab24b206289565703176dc5e9
|
|
callers of CHECK_MEM_ERROR() expect failures to not return
tested with:
configure --enable-debug --enable-vp9-postproc --enable-postproc \
--enable-multi-res-encoding --enable-vp9-temporal-denoising \
--enable-error-concealment
--enable-internal-stats has unrelated assertion failures currently
Change-Id: Ic12073b1ae80a6f434f14d24f652e64d30f63eea
|
|
Up to 2.6x faster than vp9_highbd_quantize_fp_32x32_c() for full
calculations.
Bug: b/237714063
Change-Id: Icfeff2ad4dcd57d0ceb47fe04789710807b9cbad
|
|
Up to 4.1x faster than vp9_highbd_quantize_fp_c() for full
calculations.
~1.3% overall encoder improvement for the test clip used.
Bug: b/237714063
Change-Id: I8c6466bdbcf1c398b1d8b03cab4165c1d8556b0c
|
|
~4x faster than vp9_highbd_quantize_fp_32x32_c() for full
calculations.
Bug: b/237714063
Change-Id: Iff2182b8e7b1ac79811e33080d1f6cac6679382d
|
|
Up to 5.37x faster than vp9_highbd_quantize_fp_c() for full
calculations.
~1.6% overall encoder improvement for the test clip used.
Bug: b/237714063
Change-Id: I584fd1f60a3e02f1ded092de98970725fc66c5b8
|
|
|
|
Up to 1.80x faster than vp9_quantize_fp_32x32_ssse3() for full
calculations.
Bug: b/237714063
Change-Id: Ic4ae4724fce7ac85c7a089535b16a999e02f0a10
|
|
w/clang -fsanitize=integer fixes warnings of the form:
implicit conversion from type 'int' of value -2 (32-bit, signed) to type
'unsigned int' changed the value to 4294967294 (32-bit, unsigned)
Bug: b/229626362
Change-Id: Id7e13b3d494ccd1a2351db8fab6fdb6a9a771d51
|
|
into main
|
|
This reverts commit 9f1329f8ac88ea5d7c6ae5d6a57221c36cf85ac8
and fixes a dumb mistake in evaluation of vfcmv. Used vdupq_n_s16,
instead of vdupq_n_s32.
Change-Id: Ie236c878c166405c49bc0f93f6d63a6715534a0a
|
|
This reverts commit 5b530fc962bcb8a51bbf03f5fbc2912f21b86e70.
This fixes memory related fuzzer failures in the decoder.
Bug: webm:1642
Bug: oss-fuzz:48609
Bug: oss-fuzz:48629
Bug: oss-fuzz:48632
Bug: oss-fuzz:48638
Bug: oss-fuzz:48639
Bug: oss-fuzz:48651
Bug: oss-fuzz:48657
Bug: oss-fuzz:48659
Bug: oss-fuzz:48660
Bug: oss-fuzz:48661
Bug: oss-fuzz:48680
Bug: oss-fuzz:48686
Bug: oss-fuzz:48697
Bug: oss-fuzz:48706
Bug: oss-fuzz:48712
Bug: oss-fuzz:48717
Bug: oss-fuzz:48728
Bug: oss-fuzz:48732
Bug: oss-fuzz:48780
Bug: oss-fuzz:48781
Bug: oss-fuzz:48782
Bug: oss-fuzz:48785
Change-Id: I67a8539a3083f00eec1164fef5c6a8bc209f91fc
|
|
Bug: webm:1642
Change-Id: I831b7701495eebeeff6bdc0b570f737bb6d536c6
|
|
This reverts commit 258affdeab68ed59e181368baa46e2f1d077b0ab.
Reason for revert:
Not bitexact with C version
Original change's description:
> [NEON] Optimize vp9_diamond_search_sad() for NEON
>
> About 50% improvement in comparison to the C function.
> I have followed the AVX version with some simplifications.
>
> Change-Id: I72ddbdb2fbc5ed8a7f0210703fe05523a37db1c9
Change-Id: I5c210b3dfe1f6dec525da857dd8c83946be566fc
|
|
About 50% improvement in comparison to the C function.
I have followed the AVX version with some simplifications.
Change-Id: I72ddbdb2fbc5ed8a7f0210703fe05523a37db1c9
|
|
Change-Id: I9d5df96580074375e4847d2e2f60a6a6d56eeea5
|
|
avoid setting num_internal_frame_buffers until the allocation is
checked, avoiding an invalid access in vp9_free_internal_frame_buffers()
Change-Id: I28a544a2553d62a6b5cb7c45bf10591caa4ebab6
|
|
in vp9_free_ref_frame_buffers() and vp9_free_context_buffers(); pool and
free_mi may be NULL due to earlier allocation failures
Change-Id: I3bd26ea29b3aea6c58f33d5b7f5a280eb6250ec7
|
|
|
|
[NEON]
Optimize vp9_fht4x4, vp9_fht8x8, vp9_fht16x16 for NEON
Following change #3516278, the improvement for these functions is:
Before:
4.10% 0.75% vpxenc vpxenc [.] vp9_fht16x16_c
2.93% 0.65% vpxenc vpxenc [.] vp9_fht8x8_c
0.93% 0.77% vpxenc vpxenc [.] vp9_fht4x4_c
And after the patch:
0.69% 0.16% vpxenc vpxenc [.] vp9_fht16x16_neon
0.28% 0.28% vpxenc vpxenc [.] vp9_fht8x8_neon
0.54% 0.53% vpxenc vpxenc [.] vp9_fht4x4_neon
Bug: webm:1634
Change-Id: I6748a0c4e0cfaafa3eefdd4848d0ac3aab6900e4
|
|
Whether a block is skipped is handled by mi->skip. x->skip_block
is kept exclusively to verify that the quantize functions are not
called for skip blocks.
Finishes the cleanup in 13eed991f
Bug: libvpx:1612
Change-Id: I1598c3b682d3c5e6c57a15fa4cb5df2c65b3a58a
|
|
|
|
RTC sample encoder vpx_temporal_svc_encoder can take mask files as input
when ROI_MAP is set to 1.
Uses ROI and segmentation of vp9 to skip background encoding when
source_sad is low and the correspond block in previous frame is also
skipped.
Change-Id: I8590e6f9a88cecfa1d7f375d4cc480f0f2af87b6
|
|
this removes the burden from callers; the rtcd functions are left with a
mostly redundant (outside of tests) once() as top-level functions should
ensure their constraints are met
Change-Id: I5bdbcfa4671c6a1492cfe9c7d886c361c26caaa9
|
|
Bug: chromium:1257449
Change-Id: Ia9aafccc09b611521d4a7aedfe3723393a840c62
|
|
Bug: webm:1707
Change-Id: I2ff9e54a9c8ae535628c1c471a2d078652f49a31
|