Anupam Pandey [Fri, 12 May 2023 05:26:45 +0000 (10:56 +0530)]
Improve convolve AVX2 intrinsic for speed
This CL refactors the code related to convolve function.
Furthermore, improved the AVX2 intrinsic to compute
convolve vertical for w = 4 case, and convolve horiz for
w = 16 case.
Please note the module level scaling w.r.t C function
(timer based) for existing (AVX2) and new AVX2 intrinsics:
Block Scaling
Size AVX2 AVX2
(existing) (New)
4x4 5.34x 5.91x
4x8 7.10x 7.79x
16x8 23.52x 25.63x
16x16 29.47x 30.22x
16x32 33.42x 33.44x
This is a bit exact change.
Change-Id: If130183bc12faab9ca2bcec0ceeaa8d0af05e413
James Zern [Mon, 17 Apr 2023 20:42:11 +0000 (13:42 -0700)]
configure: add -Wshadow
libraries under third_party/ are out of scope for this change.
Bug: webm:1793
Change-Id: I562065a3c0ea9fdfc9615d1a6b1ae47da79b8ce0
James Zern [Tue, 9 May 2023 21:03:31 +0000 (21:03 +0000)]
Merge "vp8_macros_msa.h: clear -Wshadow warnings" into main
James Zern [Tue, 9 May 2023 20:55:55 +0000 (20:55 +0000)]
Merge changes Iac020280,I8ca8660a into main
* changes:
gen_msvs_vcxproj: add ARM64EC w/VS >= 2022
configure: add clang-cl vs1[67] arm64 targets
Yunqing Wang [Tue, 9 May 2023 15:57:09 +0000 (15:57 +0000)]
Merge "Add AVX2 intrinsic for vpx_comp_avg_pred() function" into main
Anupam Pandey [Mon, 8 May 2023 06:40:09 +0000 (12:10 +0530)]
Add AVX2 intrinsic for vpx_comp_avg_pred() function
The module level scaling w.r.t C function (timer based) for
existing (SSE2) and new AVX2 intrinsics:
If ref_padding = 0
Block Scaling
size SSE2 AVX2
8x4 3.24x 3.24x
8x8 4.22x 4.90x
8x16 5.91x 5.93x
16x8 1.63x 3.52x
16x16 1.53x 4.19x
16x32 1.38x 4.82x
32x16 1.28x 3.08x
32x32 1.45x 3.13x
32x64 1.38x 3.04x
64x32 1.39x 2.12x
64x64 1.46x 2.24x
If ref_padding = 8
Block Scaling
size SSE2 AVX2
8x4 3.20x 3.21x
8x8 4.61x 4.83x
8x16 5.50x 6.45x
16x8 1.56x 3.35x
16x16 1.53x 4.19x
16x32 1.37x 4.83x
32x16 1.28x 3.07x
32x32 1.46x 3.29x
32x64 1.38x 3.22x
64x32 1.38x 2.14x
64x64 1.38x 2.12x
This is a bit-exact change.
Change-Id: I72c5d155f64d0c630bc8c3aef21dc8bbd045d9e6
James Zern [Mon, 8 May 2023 18:48:15 +0000 (11:48 -0700)]
vp8_macros_msa.h: clear -Wshadow warnings
Bug: webm:1793
Change-Id: Ia940b06bd23a915a050432e03bb630567e891d8d
James Zern [Mon, 8 May 2023 20:52:52 +0000 (20:52 +0000)]
Merge "README: update target list" into main
James Zern [Mon, 8 May 2023 20:52:31 +0000 (20:52 +0000)]
Merge changes Ie165d410,I6d9bb8da,I6858e574 into main
* changes:
vp8_[cd]x_iface: clear setjmp flag on function exit
vp9_decodeframe,tile_worker_hook: relocate setjmp=1
vp9,encoder_set_config: set setjmp flag after setjmp()
Jerome Jiang [Mon, 8 May 2023 19:47:30 +0000 (19:47 +0000)]
Merge "Add VpxTplGopStats" into main
Jerome Jiang [Mon, 8 May 2023 19:47:21 +0000 (19:47 +0000)]
Merge "Unify implementation of CHECK_MEM_ERROR" into main
Jerome Jiang [Mon, 8 May 2023 19:46:44 +0000 (19:46 +0000)]
Merge "CHECK_MEM_ERROR to return in vp9_set_roi_map" into main
James Zern [Sat, 6 May 2023 02:00:08 +0000 (19:00 -0700)]
gen_msvs_vcxproj: add ARM64EC w/VS >= 2022
rather than define new targets, add a platform to the arm64 list as they
share the same configuration.
Bug: webm:1788
Change-Id: Iac020280b1103fb12b559f21439aeff26568fba4
James Zern [Fri, 5 May 2023 23:56:51 +0000 (16:56 -0700)]
configure: add clang-cl vs1[67] arm64 targets
x86 and armv7 are skipped for now as the intrinsics will need different
flags than cl.exe (/arch:... -> -m...).
Bug: webm:1788
Change-Id: I8ca8660a8644cdd84c51cb1f75005e371ba8207d
Jerome Jiang [Thu, 4 May 2023 18:28:29 +0000 (14:28 -0400)]
Add VpxTplGopStats
Contains the size of GOP - also the size of the list of TPL stats for
each frame in this GOP.
VpxTplGopStats will be the unit for VP9E_GET_TPL_STATS control to return
TPL stats from the encoder.
Bug: b/
273736974
Change-Id: I1682242fc6db4aafcd6314af023aa0d704976585
Jerome Jiang [Fri, 5 May 2023 02:03:27 +0000 (22:03 -0400)]
Unify implementation of CHECK_MEM_ERROR
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
Jerome Jiang [Mon, 8 May 2023 14:37:54 +0000 (10:37 -0400)]
CHECK_MEM_ERROR to return in vp9_set_roi_map
Also change the return type of vp9_set_roi_map to vpx_codec_err_t
Change-Id: I60d9ff45f2d3dfc44cd6e2aab2cb1ba389ff15f3
James Zern [Sat, 6 May 2023 02:26:55 +0000 (02:26 +0000)]
Merge "vp9_encoder: clear -Wshadow warning" into main
James Zern [Sat, 6 May 2023 01:56:59 +0000 (18:56 -0700)]
README: update target list
Change-Id: If2d5811a55f6bb60eeba7d28b69c78157a17e87f
Jerome Jiang [Fri, 5 May 2023 23:02:14 +0000 (23:02 +0000)]
Merge "Set setjmp flag in VP9 RTC rate control library" into main
Jerome Jiang [Fri, 5 May 2023 17:40:50 +0000 (13:40 -0400)]
Set setjmp flag in VP9 RTC rate control library
Change-Id: Ic5ec8dc7d9637091d4137a47d793cf29e76fdc45
James Zern [Fri, 5 May 2023 02:23:20 +0000 (19:23 -0700)]
sixtap_filter_msa.c: clear -Wshadow warnings
Bug: webm:1793
Change-Id: I5f9c09f31b06fecc123c6a9d01f5fbed39142356
James Zern [Fri, 5 May 2023 19:15:29 +0000 (19:15 +0000)]
Merge "macros_msa.h: clear -Wshadow warnings" into main
James Zern [Fri, 5 May 2023 18:04:25 +0000 (11:04 -0700)]
vp8_[cd]x_iface: clear setjmp flag on function exit
in vp8e_encode, also move setting the setjmp() call closer to setting
the flag.
Change-Id: Ie165d4100b84776f9c34eddcf64657bd78cce4f5
James Zern [Fri, 5 May 2023 18:03:19 +0000 (11:03 -0700)]
vp9_decodeframe,tile_worker_hook: relocate setjmp=1
after the call to setjmp(); this is more correct and consistent with
other code.
Change-Id: I6d9bb8daad6a959bfe4f25484f9d6664b99da19e
James Zern [Fri, 5 May 2023 18:01:50 +0000 (11:01 -0700)]
vp9,encoder_set_config: set setjmp flag after setjmp()
Change-Id: I6858e574d24aaff64f725404706f58e04e43717d
James Zern [Fri, 5 May 2023 17:26:11 +0000 (17:26 +0000)]
Merge changes I8089e90a,I46890224,I1b0e090d into main
* changes:
Overwrite cm->error->detail before freeing
Have vpx_codec_error take const vpx_codec_ctx_t *
Add comments about vpx_codec_enc_init_ver failure
James Zern [Fri, 5 May 2023 16:47:28 +0000 (16:47 +0000)]
Merge "vpx_subpixel_8t_intrin_avx2,cosmetics: shorten long comment" into main
James Zern [Fri, 5 May 2023 16:44:23 +0000 (09:44 -0700)]
vp9_encoder: clear -Wshadow warning
with --enable-experimental --enable-rate-ctrl
Bug: webm:1793
Change-Id: I9ca664538bcf0c2aca8aea73283bbb0232eb86e9
James Zern [Fri, 5 May 2023 02:22:17 +0000 (19:22 -0700)]
macros_msa.h: clear -Wshadow warnings
Bug: webm:1793
Change-Id: Ib2e3bd3c52632cdd4410cb2c54d69750e64e5201
Yunqing Wang [Fri, 5 May 2023 15:33:21 +0000 (15:33 +0000)]
Merge "Add AVX2 intrinsic for idct16x16 and idct32x32 functions" into main
Anupam Pandey [Tue, 18 Apr 2023 09:16:56 +0000 (14:46 +0530)]
Add AVX2 intrinsic for idct16x16 and idct32x32 functions
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
Wan-Teh Chang [Fri, 24 Mar 2023 18:32:36 +0000 (11:32 -0700)]
Overwrite cm->error->detail before freeing
Help detect use after free of the return value of
vpx_codec_error_detail(). If vpx_codec_error_detail() is called after
vpx_codec_encode() fails, the return value may be equal to
cm->error->detail, which is freed when vpx_codec_destroy() is called.
Document the lifetime of the string returned by
vpx_codec_error_detail().
Change-Id: I8089e90a4499b4f3cc5b9cfdbb25d72368faa319
Wan-Teh Chang [Wed, 29 Mar 2023 01:07:41 +0000 (18:07 -0700)]
Have vpx_codec_error take const vpx_codec_ctx_t *
Also have vpx_codec_error_detail take vpx_codec_ctx_t *. Both functions
are getter functions that don't modify the codec context.
Change-Id: I4689022425efbf7b1da5034255ac052fce5e5b4f
Wan-Teh Chang [Thu, 23 Mar 2023 21:50:10 +0000 (14:50 -0700)]
Add comments about vpx_codec_enc_init_ver failure
Address the questions:
1. If vpx_codec_enc_init_ver() fails, should I still call
vpx_codec_destroy() on the encoder context?
2. Is it safe to call vpx_codec_error_detail() when
vpx_codec_enc_init_ver() failed?
Change-Id: I1b0e090d11dd9f853fe203f4cbb6080c3c7b0506
James Zern [Fri, 5 May 2023 00:17:10 +0000 (17:17 -0700)]
vpx_subpixel_8t_intrin_avx2,cosmetics: shorten long comment
Change-Id: I8badedc2ad07d60896e45de28b707ad9f6c4d499
Jerome Jiang [Thu, 4 May 2023 18:06:10 +0000 (18:06 +0000)]
Merge "Add num_blocks to VpxTplFrameStats" into main
Jerome Jiang [Thu, 4 May 2023 18:00:51 +0000 (18:00 +0000)]
Merge "Add Vpx* prefix to Tpl{Block,Frame}Stats" into main
Chi Yo Tsai [Thu, 4 May 2023 17:04:17 +0000 (17:04 +0000)]
Merge changes I226215a2,Ia4918eb0,If6219446,Ibf00a6e1,I900a0a48 into main
* changes:
Fix mismatched param names in vpx_dsp/x86/sad4d_avx2.c
Fix mismatched param names in vpx_dsp/arm/highbd_sad4d_neon.c
Fix mismatched param names in vpx_dsp/arm/sad4d_neon.c
Fix mismatched param names in vpx_dsp/arm/highbd_avg_neon.c
Fix clang warning on const-qualification of parameters
Jerome Jiang [Thu, 4 May 2023 14:59:46 +0000 (10:59 -0400)]
Add num_blocks to VpxTplFrameStats
I realized the calculation of the size of the list of VpxTplBlockStats
is non-trivial. So it's better to add the field for the size.
Bug: b/
273736974
Change-Id: Ic1b50597c1f89a8f866b5669ca676407be6dc9d8
Jerome Jiang [Thu, 4 May 2023 14:32:03 +0000 (10:32 -0400)]
Add Vpx* prefix to Tpl{Block,Frame}Stats
This is to avoid symbols redifinition when integrating with other
libraries.
Bug: b/
273736974
Change-Id: I891af78b1907504d5bb9f735164aea18c2aba944
James Zern [Thu, 4 May 2023 02:16:12 +0000 (02:16 +0000)]
Merge changes I4d26f5f8,I12e25710 into main
* changes:
s/__aarch64__/VPX_ARCH_AARCH64/
configure: add aarch64 to ARCH_LIST
Jerome Jiang [Thu, 4 May 2023 01:55:41 +0000 (01:55 +0000)]
Merge "Add codec control to export TPL stats" into main
Jerome Jiang [Fri, 28 Apr 2023 18:32:47 +0000 (14:32 -0400)]
Add codec control to export TPL stats
new codec control: VP9E_GET_TPL_STATS with unit test
Bug: b/
273736974
Change-Id: I27343bd3f6dffafc86925234537bcdb557bc4079
chiyotsai [Wed, 3 May 2023 21:45:13 +0000 (14:45 -0700)]
Fix mismatched param names in vpx_dsp/x86/sad4d_avx2.c
Change-Id: I226215a2ff8798b72abe0c2caf3d18875595caa5
chiyotsai [Wed, 3 May 2023 21:44:08 +0000 (14:44 -0700)]
Fix mismatched param names in vpx_dsp/arm/highbd_sad4d_neon.c
Change-Id: Ia4918eb0bac3b28b27e1ef205b9171680b2eb9a4
chiyotsai [Wed, 3 May 2023 20:38:46 +0000 (13:38 -0700)]
Fix mismatched param names in vpx_dsp/arm/sad4d_neon.c
Change-Id: If621944684cf9bb9f353db5961ed8b4b4ae38f24
chiyotsai [Wed, 3 May 2023 20:34:41 +0000 (13:34 -0700)]
Fix mismatched param names in vpx_dsp/arm/highbd_avg_neon.c
Change-Id: Ibf00a6e1029284e637b10ef01ac9b31ffadc74ca
chiyotsai [Wed, 3 May 2023 20:28:41 +0000 (13:28 -0700)]
Fix clang warning on const-qualification of parameters
Change-Id: I900a0a48dde5fcb262157b191ac536e18269feb3
James Zern [Wed, 3 May 2023 17:09:03 +0000 (10:09 -0700)]
fdct8x8_test: EXPECT_* -> ASSERT_*
This avoids unnecessary logging when a block has multiple errors.
Change-Id: If0f3e6f8ff5bd284655f7cabfd23c253c93d44c5
James Zern [Wed, 3 May 2023 01:37:59 +0000 (18:37 -0700)]
s/__aarch64__/VPX_ARCH_AARCH64/
This allows AArch64 to be correctly detected when building with Visual
Studio (cl.exe) and fixes a crash in vp9_diamond_search_sad_neon.c.
There are still test failures, however.
Microsoft's compiler doesn't define __ARM_FEATURE_*. To use those paths
we may need to rely on _M_ARM64_EXTENSION.
Bug: webm:1788
Bug: b/
277255076
Change-Id: I4d26f5f84dbd0cbcd1cdf0d7d932ebcf109febe5
James Zern [Fri, 21 Apr 2023 01:15:23 +0000 (18:15 -0700)]
configure: add aarch64 to ARCH_LIST
This will allow identifying Windows Visual Studio targets as aarch64;
the Microsoft compiler does not define __aarch64__.
An alternative would be to define this in the code, checking for
_M_ARM64 or _M_ARM64EC. For now we'll use the existing VPX_ARCH_*
system. For compatibility VPX_ARCH_ARM will continue to be defined to 1
in this case.
Bug: webm:1788
Bug: b/
277255076
Change-Id: I12e25710891e86f0c7339ba96884c18ed90ba16f
Jerome Jiang [Thu, 27 Apr 2023 20:15:56 +0000 (16:15 -0400)]
Move TplFrameStats to public header
Get ready for changes to follow:
- Custom reader/writer IO functions
- Codec control to get TPL stats from the encoder
Move the definition of TplFrameStats to public header so applications
can use them directly.
Bug: b/
273736974
Change-Id: Ieb0db4560ddd966df1bc01f6a7e179cc97f9bac1
Jerome Jiang [Thu, 27 Apr 2023 19:58:08 +0000 (15:58 -0400)]
Clean up a stale TODO in tpl
Change-Id: Ieccaff1cc94cbb2c5a294d83f3080f7407267016
James Zern [Tue, 25 Apr 2023 20:34:13 +0000 (20:34 +0000)]
Merge "register_state_check: clear -Wshadow warning" into main
James Zern [Tue, 25 Apr 2023 20:21:24 +0000 (20:21 +0000)]
Merge "highbd_vpx_convolve8_neon: clear -Wshadow warning" into main
James Zern [Tue, 25 Apr 2023 20:12:30 +0000 (20:12 +0000)]
Merge "vp9_highbd_iht16x16_add_neon: clear -Wshadow warning" into main
Yunqing Wang [Mon, 24 Apr 2023 21:15:14 +0000 (21:15 +0000)]
Merge "Reduce joint motion search iters based on bsize" into main
Neeraj Gadgil [Wed, 19 Apr 2023 02:43:26 +0000 (08:13 +0530)]
Reduce joint motion search iters based on bsize
Joint motion search during compound mode eval is optimized by
reducing the number of mv search iterations based on bsize.
The sf 'comp_inter_joint_search_thresh' is renamed as
'comp_inter_joint_search_iter_level' and used to add the logic.
cpu Testset Instr. Cnt BD Rate loss (%)
Red (%) avg. psnr ovr.psnr ssim
0 LOWRES2 5.373 0.0917 0.1088 0.0294
0 MIDRES2 3.395 0.0239 0.0520 0.0783
0 HDRES2 2.291 0.0223 0.0301 0.0053
0 Average 3.686 0.0460 0.0636 0.0377
STATS_CHANGED
Change-Id: I7ee8873ebc8af967382324ae8f5c70c26665d5e6
Jerome Jiang [Thu, 20 Apr 2023 19:09:00 +0000 (15:09 -0400)]
Reland "Calculate recrf_dist and recrf_rate"
This is a reland of commit
3c59378e4eac2d241fba8b26e660318b850e5773
Addressed issues from the previous CL:
- Both recon_error and rate_cost are scaled up
- recon_error and rate_cost are not accumulated across ref frames,
instead they are calculated with the best ref frame picked.
- get_quantize_error() is put where it was, so there is no behavior
change for vp9.
Bug: b/
273736974
Original change's description:
> Calculate recrf_dist and recrf_rate
>
> Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9
Change-Id: I20e1f5543e83b576a074bd4e6b44d99da65f4b56
James Zern [Fri, 21 Apr 2023 20:03:58 +0000 (13:03 -0700)]
highbd_vpx_convolve8_neon: clear -Wshadow warning
Bug: webm:1793
Change-Id: If1a46fe183cd18e05b5538b1eba098e420b745ec
James Zern [Fri, 21 Apr 2023 20:03:34 +0000 (13:03 -0700)]
vp9_highbd_iht16x16_add_neon: clear -Wshadow warning
Bug: webm:1793
Change-Id: I4e79a4d7d41b6abf88e3e60c54ab48a92b0346d2
Jerome Jiang [Fri, 21 Apr 2023 18:10:46 +0000 (18:10 +0000)]
Revert "Calculate recrf_dist and recrf_rate"
This reverts commit
3c59378e4eac2d241fba8b26e660318b850e5773.
Reason for revert:
recon_error and recon_rate is summed by mistake across reference frames, as pointed out by Angie.
It could also cause vp9 behavior changes.
Original change's description:
> Calculate recrf_dist and recrf_rate
>
> Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9
Change-Id: I6106ce77cb0fe8c12b2bcf070d01513ffa8dc613
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Jerome Jiang [Thu, 20 Apr 2023 19:09:00 +0000 (15:09 -0400)]
Calculate recrf_dist and recrf_rate
Change-Id: I74e74807436b92d729e2ccaab96149780f1f52d9
Jerome Jiang [Fri, 21 Apr 2023 00:16:02 +0000 (00:16 +0000)]
Merge "Store tpl stats before propagation" into main
James Zern [Thu, 20 Apr 2023 21:17:49 +0000 (14:17 -0700)]
register_state_check: clear -Wshadow warning
with --target=x86_64-win64-gcc
Bug: webm:1793
Change-Id: I265533af4e8d05adbe1d66a62b6dcb191ca48747
James Zern [Thu, 20 Apr 2023 21:11:09 +0000 (21:11 +0000)]
Merge "configure: skip arm64_neon.h workaround w/VS >= 2019" into main
James Zern [Thu, 20 Apr 2023 19:51:56 +0000 (19:51 +0000)]
Merge "vp9_tpl_model: clear -Wshadow warning" into main
Jerome Jiang [Thu, 20 Apr 2023 15:06:32 +0000 (11:06 -0400)]
Store tpl stats before propagation
Add two new structs TplBlockStats and TplFrameStats to store tpl stats
before propagation
Change-Id: I903db99326b199ed8f2d8b19ccb973a8c8910501
James Zern [Thu, 20 Apr 2023 19:17:05 +0000 (12:17 -0700)]
configure: skip arm64_neon.h workaround w/VS >= 2019
Visual Studio 2019+ include arm64_neon.h from arm_neon.h
Bug: b/
277255076
Change-Id: I52f42b69a5efe8214a4c541b68e940ad07499584
James Zern [Thu, 20 Apr 2023 16:56:29 +0000 (16:56 +0000)]
Merge "vp9_spatial_svc_encoder: quiet -Wunused-but-set-variable" into main
James Zern [Thu, 20 Apr 2023 16:56:13 +0000 (16:56 +0000)]
Merge "vp9_ratectrl,vp9_encodedframe_overshoot: rm unused var" into main
James Zern [Thu, 20 Apr 2023 16:55:59 +0000 (16:55 +0000)]
Merge "onyx_if,encode_frame_to_data_rate: rm unused var" into main
James Zern [Thu, 20 Apr 2023 16:55:38 +0000 (16:55 +0000)]
Merge "libs.mk: quote $(LIBVPX_TEST_DATA_PATH)" into main
James Zern [Thu, 20 Apr 2023 01:58:59 +0000 (18:58 -0700)]
libs.mk: quote $(LIBVPX_TEST_DATA_PATH)
This allows the testdata target to work environments like cygwin/msys
when a windows style path is used. It may also fix using paths with
spaces, though that's not generally recommended.
Change-Id: Id444c14468b05d589bce49c1f612aa712a3f0c8c
James Zern [Wed, 19 Apr 2023 20:58:39 +0000 (13:58 -0700)]
vp9_spatial_svc_encoder: quiet -Wunused-but-set-variable
with clang-17. Move frames_received under OUTPUT_FRAME_STATS; it's only
used in a printf.
Change-Id: Idfdd59ccd04e43df1855203db82bb4c8a1d059fb
James Zern [Wed, 19 Apr 2023 20:55:35 +0000 (13:55 -0700)]
vp9_ratectrl,vp9_encodedframe_overshoot: rm unused var
quiets -Wunused-but-set-variable with clang-17
Change-Id: I5212a20286d0252e45a8e8813d15cb780494b0ad
James Zern [Wed, 19 Apr 2023 20:53:34 +0000 (13:53 -0700)]
vp9_encodeframe: rm unused vars
in get_rdmult_delta() and compute_frame_aq_offset().
quiets -Wunused-but-set-variable with clang-17
Change-Id: I726852f3bc42afa80a18475de910040a9436b0bb
James Zern [Wed, 19 Apr 2023 20:51:05 +0000 (13:51 -0700)]
onyx_if,encode_frame_to_data_rate: rm unused var
quiets -Wunused-but-set-variable with clang-17
Change-Id: Ia819beac84cbd57f4eeca6174c785fd320bc40c6
James Zern [Wed, 19 Apr 2023 23:17:10 +0000 (23:17 +0000)]
Merge changes Ib0c2f852,Ieb77661e,I56ea656e,Ibda734c2 into main
* changes:
Add Neon implementations of vpx_highbd_sad_skip_<w>x<h>x4d
Add Neon implementation of vpx_sad_skip_<w>x<h>x4d functions
Add Neon implementation of vpx_highbd_sad_skip_<w>x<h> functions
Add Neon implementation of vpx_sad_skip_<w>x<h> functions
Jonathan Wright [Wed, 12 Apr 2023 16:50:01 +0000 (17:50 +0100)]
Add Neon implementations of vpx_highbd_sad_skip_<w>x<h>x4d
Add Neon implementations of high bitdepth downsampling SAD4D
functions for all block sizes.
Also add corresponding unit tests.
Change-Id: Ib0c2f852e269cbd6cbb8f4dfb54349654abb0adb
Jonathan Wright [Wed, 12 Apr 2023 16:38:24 +0000 (17:38 +0100)]
Add Neon implementation of vpx_sad_skip_<w>x<h>x4d functions
Add Neon implementations of standard bitdepth downsampling SAD4D
functions for all block sizes.
Also add corresponding unit tests.
Change-Id: Ieb77661ea2bbe357529862a5fb54956e34e8d758
Jonathan Wright [Wed, 12 Apr 2023 13:48:21 +0000 (14:48 +0100)]
Add Neon implementation of vpx_highbd_sad_skip_<w>x<h> functions
Add Neon implementations of high bitdepth downsampling SAD functions
for all block sizes.
Also add corresponding unit tests.
Change-Id: I56ea656e9bb5f8b2aedfdc4637c9ab4e1951b31b
Jonathan Wright [Wed, 12 Apr 2023 13:35:50 +0000 (14:35 +0100)]
Add Neon implementation of vpx_sad_skip_<w>x<h> functions
Add Neon implementations of standard bitdepth downsampling SAD
functions for all block sizes.
Also add corresponding unit tests.
Change-Id: Ibda734c270278d947673ffcc29ef17a2f4970b01
James Zern [Tue, 18 Apr 2023 23:51:04 +0000 (23:51 +0000)]
Merge "mr_dissim: clear -Wshadow warning" into main
James Zern [Tue, 18 Apr 2023 19:24:35 +0000 (19:24 +0000)]
Merge "onyx_if: clear -Wshadow warning" into main
James Zern [Tue, 18 Apr 2023 19:19:45 +0000 (19:19 +0000)]
Merge "vp9_rdcost: clear -Wshadow warnings" into main
Yunqing Wang [Tue, 18 Apr 2023 16:11:01 +0000 (16:11 +0000)]
Merge "Downsample SAD computation in motion search" into main
James Zern [Tue, 18 Apr 2023 05:05:46 +0000 (22:05 -0700)]
vp9_tpl_model: clear -Wshadow warning
with --enable-experimental --enable-non-greedy-mv
Bug: webm:1793
Change-Id: I19e38d7196291ae1ffbb5fb3daa70a4fefd54c55
James Zern [Tue, 18 Apr 2023 05:01:10 +0000 (22:01 -0700)]
mr_dissim: clear -Wshadow warning
Bug: webm:1793
Change-Id: I73ced43aba45215264134f917fd69ab0b1f10d01
James Zern [Tue, 18 Apr 2023 04:57:59 +0000 (21:57 -0700)]
onyx_if: clear -Wshadow warning
with --enable-internal-stats
Bug: webm:1793
Change-Id: I9d375e4cb45f78b82afe455f2c7ad2b56e217f7d
Yunqing Wang [Mon, 17 Apr 2023 20:21:21 +0000 (20:21 +0000)]
Merge "Add AVX2 intrinsic for vpx_fdct16x16() function" into main
Anupam Pandey [Tue, 4 Apr 2023 11:54:27 +0000 (17:24 +0530)]
Add AVX2 intrinsic for vpx_fdct16x16() function
Introduced AVX2 intrinsic to compute FDCT for block size
16x16 case. This is a bit-exact change.
Please check the module level scaling w.r.t C function (timer based)
for existing (SSE2) and new AVX2 intrinsics:
Scaling
SSE2 AVX2
3.88x 5.95x
Change-Id: I02299c3746fcb52d808e2a75d30aa62652c816dc
James Zern [Wed, 12 Apr 2023 18:47:49 +0000 (11:47 -0700)]
vp9_rdcost: clear -Wshadow warnings
Bug: webm:1793
Change-Id: I6d48038d74e510ecb5773dfffbdc4c10b765c2aa
Jerome Jiang [Fri, 14 Apr 2023 17:25:07 +0000 (17:25 +0000)]
Merge "Add VP8RateControlRTC::GetLoopfilterLevel" into main
James Zern [Fri, 14 Apr 2023 17:22:47 +0000 (17:22 +0000)]
Merge "libs.mk: Fix wrong scope end comments" into main
L. E. Segovia [Mon, 10 Apr 2023 22:08:54 +0000 (19:08 -0300)]
libs.mk: Fix wrong scope end comments
I believe the following comments are wrongly scoped, possibly left over
from previous changesets. This made me very confused when reading the
test suite Makefile, in order to port it to Meson.
Change-Id: Ice3c7ba50c6909a9c7dfd4001afa1e1ddfa4b5ce
Jerome Jiang [Thu, 13 Apr 2023 20:52:51 +0000 (16:52 -0400)]
Add VP8RateControlRTC::GetLoopfilterLevel
New linear model to calculate loopfilter level from frame qp.
Linear regression was done on qvga, vga, and hd clips.
Bug: b/
275304642
Change-Id: I552b312212bb4de21b53b762d139aa9588c64ae2
James Zern [Thu, 13 Apr 2023 20:59:43 +0000 (20:59 +0000)]
Merge "vp9_frame_scale_ssse3: clear -Wshadow warnings" into main
James Zern [Thu, 13 Apr 2023 18:35:49 +0000 (18:35 +0000)]
Merge changes I2a26c929,I0b7f0136,Ib65a2dff into main
* changes:
vpxenc: clear -Wshadow warnings
vpxdec: clear -Wshadow warnings
svc_encodeframe: clear -Wshadow warnings