summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-18loopfilter.c: normalize flat func param typeJames Zern
flat/flat2 are stored as int8_t as returned by the filter_mask* functions. this quiets integer sanitizer warnings of the form: vpx_dsp/loopfilter.c:197:28: runtime error: implicit conversion from type 'int8_t' (aka 'signed char') of value -1 (8-bit, signed) to type 'uint8_t' (aka 'unsigned char') changed the value to 255 (8-bit, unsigned) Bug: b/229626362 Change-Id: Iacb6ae052d4cb2b6e0ebccbacf59ece9501d3b5f
2022-08-18Merge changes Icfc59932,I3d1ca618,Id3966912,I56f74981,Ia9a5dc5e, ... into mainJames Zern
* changes: vpx_encoder.h: make flag constants unsigned vp8,VP8_COMP: normalize segment_encode_breakout type webmdec,WebmInputContext: make timestamp_ns signed highbd_quantize_intrin_sse2: quiet int sanitizer warnings load_unaligned_u32: use an int w/_mm_cvtsi32_si128 variance_sse2.c: add some missing casts
2022-08-17Merge "Add vp9_highbd_quantize_fp_32x32_neon()." into mainScott LaVarnway
2022-08-16vpx_encoder.h: make flag constants unsignedJames Zern
this matches the type for vpx_codec_frame_flags_t and vpx_codec_er_flags_t and quiets int sanitizer warnings of the form: implicit conversion from type 'int' of value -9 (32-bit, signed) to type 'unsigned int' changed the value to 4294967287 (32-bit, unsigned) Bug: b/229626362 Change-Id: Icfc5993250f37cedb300c7032cab28ce4bec1f86
2022-08-16vp8,VP8_COMP: normalize segment_encode_breakout typeJames Zern
use unsigned int as the API value is of this type; this quiets some integer sanitizer warnings of the form: implicit conversion from type 'unsigned int' of value 2147483648 (32-bit, unsigned) to type 'int' changed the value to -2147483648 (32-bit, signed) Bug: b/229626362 Change-Id: I3d1ca618bf1b3cd57a5dca65a3067f351c1473f8
2022-08-16webmdec,WebmInputContext: make timestamp_ns signedJames Zern
this matches the type returned from libwebm, which uses -1 as an error; quiets integer sanitizer warnings of the form: implicit conversion from type 'long long' of value -1 (64-bit, signed) to type 'uint64_t' (aka 'unsigned long') changed the value to 18446744073709551615 (64-bit, unsigned) Bug: b/229626362 Change-Id: Id3966912f802aee3c0f7852225b55f3057c3e76a
2022-08-16highbd_quantize_intrin_sse2: quiet int sanitizer warningsJames Zern
add a missing cast in ^ operations; quiets warnings of the form: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'unsigned int' changed the value to 4294967295 (32-bit, unsigned) Bug: b/229626362 Change-Id: I56f74981050b2c9d00bad20e68f1b73ce7454729
2022-08-16load_unaligned_u32: use an int w/_mm_cvtsi32_si128James Zern
this matches the type of the function parameter; quiets integer sanitizer warnings of the form: implicit conversion from type 'uint32_t' (aka 'unsigned int') of value 3215646151 (32-bit, unsigned) to type 'int' changed the value to -1079321145 (32-bit, signed) Bug: b/229626362 Change-Id: Ia9a5dc5e1f57cbf4f8f8fa457bb674ef43369d37
2022-08-16variance_sse2.c: add some missing castsJames Zern
quiets integer sanitizer warnings of the form: ../vpx_dsp/x86/variance_sse2.c:100:10: runtime error: implicit conversion from type 'unsigned int' of value 4294966272 (32-bit, unsigned) to type 'int' changed the value to -1024 (32-bit, signed) Bug: b/229626362 Change-Id: I150cc0a6a6b85143c3bf96886686fe3a40897db5
2022-08-16configure: add -Wno-pass-failed for libyuvJames Zern
with certain optimization flags or sanitizers enabled some code may fail to vectorize: third_party/libyuv/source/row_common.cc:3178:7: warning: loop not vectorized: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering [-Wpass-failed=transform-warning] this was observed with integer/undefined sanitizers using clang 11/13 Bug: b/229626362 Change-Id: I01595c641763c4cd4242e02f2cc5cbabfe69d03e
2022-08-16Merge "configure: add -Wc++{14,17,20}-extensions" into mainJames Zern
2022-08-16Add vp9_highbd_quantize_fp_32x32_neon().Scott LaVarnway
Up to 2.6x faster than vp9_highbd_quantize_fp_32x32_c() for full calculations. Bug: b/237714063 Change-Id: Icfeff2ad4dcd57d0ceb47fe04789710807b9cbad
2022-08-15simple_encode.cc: clear -Wextra-semi-stmt warningsJames Zern
fixes warnings of the form: ../vp9/simple_encode.cc:755:48: warning: empty expression statement has no effect; remove unnecessary ';' to silence this warning [-Wextra-semi-stmt] SET_STRUCT_VALUE(config, oxcf, ret, key_freq); Bug: b/229626362 Change-Id: I1c9b0ae9927cdd7c31da000633bcb6e2b8242cd4
2022-08-15Merge "examples/svc_encodeframe.c: rm empty {}s in switch" into mainJames Zern
2022-08-15Merge "VPX: Add vp9_highbd_quantize_fp_neon()." into mainScott LaVarnway
2022-08-15vp9_quantize_fp_32x32_neon() cleanup.Scott LaVarnway
No change in performance. Bug: b/237714063 Change-Id: If6ad5fc27de4babe0bfff3fdbb4b7fd99a0544ab
2022-08-15VPX: Add vp9_highbd_quantize_fp_neon().Scott LaVarnway
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
2022-08-14examples/svc_encodeframe.c: rm empty {}s in switchJames Zern
these have been unnecessary since: 0e97e7049 remove spatial svc experiment Bug: b/229626362 Change-Id: I57528af4dcb9092b752161c8eaba2e2808c29c5f
2022-08-12configure: add -Wc++{14,17,20}-extensionsJames Zern
the snapshot of googletest and the test files themselves are targeting c++11 currently; these warnings are supported by recent versions of clang Change-Id: I5d36b3bd4058ba1610f0c8b27cad27aadee85939
2022-08-12Merge "VPX: vp9_quantize_fp_neon() cleanup." into mainScott LaVarnway
2022-08-11VPX: vp9_quantize_fp_neon() cleanup.Scott LaVarnway
No change in performance. Bug: b/237714063 Change-Id: I868cda7acb0de840fbc85b23f3e36c50b39c331b
2022-08-10Merge "vp9_cx_iface,encoder_encode: only calc ts when img!=NULL" into mainJames Zern
2022-08-09Merge "VPX: Fix vp9_quantize_fp_avx2() VS build error." into mainScott LaVarnway
2022-08-09VPX: Fix vp9_quantize_fp_avx2() VS build error.Scott LaVarnway
Add build fix for _mm256_extract_epi16() being undefined. Bug: b/237714063 Change-Id: I855b1828ce1b6b2b2f063fe097999481881bf074
2022-08-08Use level defined min gf intervalCheng Chen
Assume the level definition of min_gf_interval is the minimum allowed gf_interval. We take this level comformant min_gf_interval instead of +1. Change-Id: I9c7e62f210c95b356e9716579ee4c19638de8e35
2022-08-08L2E: Add target level in GOP unit testsCheng Chen
Change-Id: Icecc3031e1052bb5a94f6c5957ec5190aae990ba
2022-08-09Merge "Fix VP9 auto level" into mainCheng Chen
2022-08-08vp9_cx_iface,encoder_encode: only calc ts when img!=NULLJames Zern
avoid calculating the end timestamp when performing a flush to prevent an implicit conversion warning when applying a non-zero offset to a 0 pts used in that case: vp9/vp9_cx_iface.c:1361:50: runtime error: implicit conversion from type 'vpx_codec_pts_t' (aka 'long') of value -15 (64-bit, signed) to type 'unsigned long' changed the value to 18446744073709551601 (64-bit, unsigned) Bug: b/229626362 Change-Id: I68ba19b7d6de35cc185707dfb6b43406b7165035
2022-08-08Fix VP9 auto levelCheng Chen
The iteration index is wrong, causing the starting level to be chosen is "LEVEL_5_2", which is intended for videos of a large resolution. Change-Id: Id88836981bdcbd7494bd06193d6a433ac75a6d2e
2022-08-05VPX: Add vpx_subtract_block_avx2().Scott LaVarnway
~1.3x faster than vpx_subtract_block_sse2(). Based on aom_subtract_block_avx2(). Bug: b/241580104 Change-Id: I17da036363f213d53c6546c3e858e4c3cba44a5b
2022-08-04Merge "vp9_active_[hv]_edge: add missing vpx_clear_system_state" into mainJames Zern
2022-08-03VPX: Add vp9_highbd_quantize_fp_32x32_avx2().Scott LaVarnway
~4x faster than vp9_highbd_quantize_fp_32x32_c() for full calculations. Bug: b/237714063 Change-Id: Iff2182b8e7b1ac79811e33080d1f6cac6679382d
2022-08-03VPX: Add vp9_highbd_quantize_fp_avx2().Scott LaVarnway
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
2022-08-02Merge "VPX: Add vp9_quantize_fp_32x32_avx2()." into mainScott LaVarnway
2022-08-01Merge "Provide Arm SDOT optimizations for SAD functions" into mainJames Zern
2022-08-01VPX: Add vp9_quantize_fp_32x32_avx2().Scott LaVarnway
Up to 1.80x faster than vp9_quantize_fp_32x32_ssse3() for full calculations. Bug: b/237714063 Change-Id: Ic4ae4724fce7ac85c7a089535b16a999e02f0a10
2022-07-29Fix off-by-one error of max w/h in validate_configWan-Teh Chang
Fix the off-by-one errors of maximum g_w and g_h in validate_config(). Bug: webm:1774 Change-Id: I343783d06c1f53222be2366be79171b214486201
2022-07-29Provide Arm SDOT optimizations for SAD functionsKonstantinos Margaritis
Change-Id: I497ee1c45d1fc4d643cefad7d87e5aaacd77869c
2022-07-29Merge changes I0c6604ef,Id7e13b3d,I7291d9bd,Ic7c0a2e7,Ic7ce0fd9, ... into mainJames Zern
* changes: x86: normalize type with _mm_cvtsi128_si32 vp9_filter_block_plane_non420: fix implicit conversion warnings variance_avx2.c: fix implicit conversion warnings vp8,read_mb_modes_mv: fix implicit conversion warnings vp8_find_near_mvs: fix implicit conversion warnings encode_test_driver: normalize frame_flags type vp9,decoder_decode: fix ubsan null/zero offset warning y4m_input_fetch_frame: fix ubsan null/zero offset warning
2022-07-27vp9_active_[hv]_edge: add missing vpx_clear_system_stateJames Zern
this fixes runtime errors with clang -fsanitize=integer in x86 builds: ../vp9/encoder/vp9_rdopt.c:3250:17: runtime error: signed integer overflow: 18 - -2147483648 cannot be represented in type 'int' ../vp9/encoder/vp9_rdopt.c:3277:16: runtime error: signed integer overflow: 26 - -2147483648 cannot be represented in type 'int' Bug: b/229626362 Change-Id: Ic9a5063c840b4fce7056f61362234721add056a6
2022-07-27x86: normalize type with _mm_cvtsi128_si32James Zern
prefer int in most cases w/clang -fsanitize=integer fixes warnings of the form: implicit conversion from type 'int' of value -809931979 (32-bit, signed) to type 'uint32_t' (aka 'unsigned int') changed the value to 3485035317 (32-bit, unsigned) Bug: b/229626362 Change-Id: I0c6604efc188f2660c531eddfc7aa10060637813
2022-07-27vp9_filter_block_plane_non420: fix implicit conversion warningsJames Zern
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
2022-07-27variance_avx2.c: fix implicit conversion warningsJames Zern
w/clang -fsanitize=integer fixes warnings of the form: implicit conversion from type 'int' of value -1323 (32-bit, signed) to type 'unsigned int' changed the value to 4294965973 (32-bit, unsigned) Bug: b/229626362 Change-Id: I7291d9bd5cacea0d88d9f4c4624c096764f4a472
2022-07-27vp8,read_mb_modes_mv: fix implicit conversion warningsJames Zern
w/clang -fsanitize=integer fixes warnings of the form: implicit conversion from type 'uint32_t' (aka 'unsigned int') of value 4294443008 (32-bit, unsigned) to type 'int' changed the value to -524288 (32-bit, signed) Bug: b/229626362 Change-Id: Ic7c0a2e7b64a1dd6fd5cc64adcd5765318c2a956
2022-07-27vp8_find_near_mvs: fix implicit conversion warningsJames Zern
unsigned -> int and vice versa reported by clang -fsanitize=integer vp8/common/findnearmv.c:108:11: runtime error: implicit conversion from type 'uint32_t' (aka 'unsigned int') of value 4294443008 (32-bit, unsigned) to type 'int' changed the value to -524288 (32-bit, signed) vp8/common/findnearmv.c:110:33: runtime error: implicit conversion from type 'int' of value -524288 (32-bit, signed) to type 'uint32_t' (aka 'unsigned int') changed the value to 4294443008 (32-bit, unsigned) Bug: b/229626362 Change-Id: Ic7ce0fd98255ccf9307ac73e9fb6a8189b268214
2022-07-27encode_test_driver: normalize frame_flags typeJames Zern
use vpx_enc_frame_flags_t; this avoids int -> unsigned conversion warnings; reported w/clang -fsanitize=integer: test/error_resilience_test.cc:95:9: runtime error: implicit conversion from type 'int' of value -12845057 (32-bit, signed) to type 'unsigned long' changed the value to 4282122239 (32-bit, unsigned) Bug: b/229626362 Change-Id: I0fc1dbe44a258f397cf1a05347d8cb86ee70b1b8
2022-07-27vp9,decoder_decode: fix ubsan null/zero offset warningJames Zern
reported under clang-13. null data may be passed as a flush; move data_end after that check vp9/vp9_dx_iface.c:337:40: runtime error: applying zero offset to null pointer Bug: b/229626362 Change-Id: I845726fd6eb6ac7a776e49272c6477a5ad30ffdf
2022-07-27y4m_input_fetch_frame: fix ubsan null/zero offset warningJames Zern
reported under clang-13; use a while loop in file_read() to force a size check before attempting to read. buf (aux_buf) may be may be null when no conversion is necessary. y4minput.c:29:43: runtime error: applying zero offset to null pointer Bug: b/229626362 Change-Id: Ia3250d6ff9c325faf48eaa31f4399e20837f8f7b
2022-07-27VPX: vp9_quantize_fp_avx2() cleanup.Scott LaVarnway
No change in performance. Bug: b/237714063 Change-Id: I8ea42759cc4dc57be6a29c23784997cb90ad4090
2022-07-27Merge "VPX: Add vpx_highbd_quantize_b_32x32_avx2()." into mainScott LaVarnway