summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-30Merge "L2E: Add gop size and ARF existence to frame info" into mainCheng Chen
2022-08-26highbd_variance_neon,cosmetics: reorder a few linesJames Zern
Change-Id: Ia6fa54652d7f94687e64108482bb0f28ca06cf49
2022-08-26L2E: Add gop size and ARF existence to frame infoCheng Chen
Pass the encode frame info to external ml model, with the information of gop size and whether alt ref is used. Change-Id: I55be2d3de83d7182c1a1a174e44ead7e19045c9d
2022-08-26Merge "[NEON] Add highbd *variance* functions" into mainJames Zern
2022-08-26Merge "vpx_encoder.h: note VPX_ERROR_RESILIENT_PARTITIONS is VP8-only" into mainJames Zern
2022-08-25[NEON] Add highbd *variance* functionsKonstantinos Margaritis
Total gain for 12-bit encoding: * ~7.2% for best profile * ~5.8% for rt profile Change-Id: I5b70415fb89d1bbb02a0c139eb317ba6b08adede
2022-08-25Merge "vp9: fix ubsan sub-overflows" into mainJames Zern
2022-08-25vpx_encoder.h: note VPX_ERROR_RESILIENT_PARTITIONS is VP8-onlyJames Zern
Change-Id: If71b2ec766f9f41253ce5a34987ffd208f9c8381
2022-08-25Merge "vp8_ratectrl_rtc_test.cc: ensure frame_type is initialized" into mainJames Zern
2022-08-24libs.doxy_template: remove obsolete CLASS_DIAGRAMSJames Zern
This was reported with doxygen 1.9.4. Also update the comment for CLASS_GRAPH by running "doxygen -u" because the original comment for CLASS_GRAPH mentions the obsolete tag 'CLASS_DIAGRAMS', Change-Id: I3bca547201f794d363bd814b7c7f7c9d7088797a
2022-08-24vp8_ratectrl_rtc_test.cc: ensure frame_type is initializedJames Zern
this fixes a valgrind failure: ==1095597== Conditional jump or move depends on uninitialised value(s) ==1095597== at 0x12E0CC: (anonymous namespace)::Vp8RcInterfaceTest::PreEncodeFrameHook(libvpx_test::VideoSource*, libvpx_test:: > Encoder*) (vp8_ratectrl_rtc_test.cc:131) ==1095597== by 0x1255A9: libvpx_test::EncoderTest::RunLoop(libvpx_test::VideoSource*) (encode_test_driver.cc:205) Bug: webm:1776 Change-Id: Id3b40f62573ee513e79c74b6315c71b6ecd22c9a Fixed: webm:1776
2022-08-24Merge "[NEON] Improve vpx_quantize_b* functions" into mainJames Zern
2022-08-23.clang-format: update to clang-format-11clang-format
only store the deltas from --style Google in the file and reapply using Debian clang-format version 11.1.0-6+build1 Bug: b/229626362 Change-Id: I3e18a2e7c17a90a48405b3cf1b37ebc652aba0db
2022-08-23[NEON] Improve vpx_quantize_b* functionsKonstantinos Margaritis
Slight optimization, prefetch gives a 1% improvement in 1st pass Change-Id: Iba4664964664234666406ab53893e02d481fbe61
2022-08-22vp9_ratectrl_rtc_test: initialize loopfilter_ctrl[]James Zern
this was added in: 7beafefd1 vp9: Allow for disabling loopfilter per spatial layer but the test doesn't zero initialize its svc_params_ member. fixes the use of an uninitialized value, reported by valgrind and integer sanitizer: [ RUN ] VP9/RcInterfaceSvcTest.Svc/0 ==1064682== Conditional jump or move depends on uninitialised value(s) ==1064682== at 0x1C5624: loopfilter_frame (vp9_encoder.c:3285) ==1064682== by 0x1C9B54: encode_frame_to_data_rate (vp9_encoder.c:5595) ==1064682== by 0x1CA2EE: SvcEncode (vp9_encoder.c:5789) ==1064682== by 0x1CEA01: vp9_get_compressed_data (vp9_encoder.c:7891) ==1064682== by 0x185F0E: encoder_encode (vp9_cx_iface.c:1437) ==1064682== by 0x1503BB: vpx_codec_encode (vpx_encoder.c:208) vp9/encoder/vp9_svc_layercontext.c:362:26: runtime error: implicit conversion from type 'int' of value -1 (32-bit, signed) to type 'LOOPFILTER_CONTROL' changed the value to 4294967295 (32-bit, unsigned) #0 0x558925f45377 in vp9_restore_layer_context vp9/encoder/vp9_svc_layercontext.c:362:26 #1 0x558925ef89fd in vp9_get_compressed_data vp9/encoder/vp9_encoder.c:7781:5 #2 0x558925e3ef3e in encoder_encode vp9/vp9_cx_iface.c:1437:20 Bug: b/229626362 Change-Id: I33d244be7752c68b71efa9c62ca45d6b202ec761
2022-08-22Merge "vp9.read_inter_block_mode_info: return on corruption" into mainJames Zern
2022-08-22Merge "highbd_quantize_neon.c: remove unneeded assert.h" into mainJames Zern
2022-08-22Merge "vp9,search_new_mv: descale rather than scale sse" into mainJames Zern
2022-08-22Merge changes Iabed118b,I60a384b2 into mainJames Zern
* changes: use VPX_NO_UNSIGNED_SHIFT_CHECK with entropy functions compiler_attributes.h: add VPX_NO_UNSIGNED_SHIFT_CHECK
2022-08-22[NEON] Add vpx_highbd_subtract_block functionKonstantinos Margaritis
Total gain for 12-bit encoding: * ~1% for best and rt profile Change-Id: I4039120dc570baab1ae519a5e38b1acff38d81f0
2022-08-22[NEON] Added vpx_highbd_sad* functionsKonstantinos Margaritis
Total gain for 12-bit encoding: * ~7.8% for best profile * ~10% for rt profile Change-Id: I89eda5c4372a5b628c9df84cdeb4c8486fc44789
2022-08-22highbd_quantize_neon.c: remove unneeded assert.hJames Zern
Change-Id: I041f5fb23b856a2b519669b5bf8a40d3772b4a6e
2022-08-22Merge "[NEON] Added vpx_highbd_quantize_b* functions" into mainJames Zern
2022-08-22Merge "Fix TEST_P(SADx4Test, DISABLED_Speed)" into mainScott LaVarnway
2022-08-20[NEON] Added vpx_highbd_quantize_b* functionsKonstantinos Margaritis
Total gain for 12-bit encoding: * ~4.8% for best profile * ~6.2% for rt profile Change-Id: I61e646ab7aedf06a25db1365d6d1cf7b05101c21
2022-08-20Merge "loopfilter.c: normalize flat func param type" into mainJames Zern
2022-08-19vp9.read_inter_block_mode_info: return on corruptionJames Zern
with block sizes < 8x8 previously only the inner loop was aborted. this could cause propagation of invalid motion vectors to scale_mv(). this quiets integer sanitizer warnings of the form: vp9/common/vp9_mvref_common.h:239:18: runtime error: implicit conversion from type 'int' of value 32768 (32-bit, signed) to type 'int16_t' (aka 'short') changed the value to -32768 (16-bit, signed) Bug: b/229626362 Change-Id: I58b5a425adf21542cbf4cc4dd5ab3cc5ed008264
2022-08-18use VPX_NO_UNSIGNED_SHIFT_CHECK with entropy functionsJames Zern
these shift values off the most significant bit as part of the process; vp8_regular_quantize_b_sse4_1 is included here for a special case of mask creation quiets warnings of the form: vp8/decoder/dboolhuff.h:81:11: runtime error: left shift of 2373679303235599696 by 3 places cannot be represented in type 'VP8_BD_VALUE' (aka 'unsigned long') vp8/encoder/bitstream.c:257:18: runtime error: left shift of 2147493041 by 1 places cannot be represented in type 'unsigned int' vp8/encoder/x86/quantize_sse4.c:114:18: runtime error: left shift of 4294967294 by 1 places cannot be represented in type 'unsigned int' vp9/encoder/vp9_pickmode.c:1632:41: runtime error: left shift of 4294967295 by 1 places cannot be represented in type 'unsigned int' Bug: b/229626362 Change-Id: Iabed118b2a094232783e5ad0e586596d874103ca
2022-08-18compiler_attributes.h: add VPX_NO_UNSIGNED_SHIFT_CHECKJames Zern
and use it on MD5Transform(); this behavior is well defined and is only a warning with -fsanitize=integer, not -fsanitize=undefined. quiets warnings of the form: md5_utils.c:163:3: runtime error: left shift of 143704723 by 7 places cannot be represented in type 'unsigned int' Bug: b/229626362 Change-Id: I60a384b2c2556f5ce71ad8ebce050329aba0b4e4
2022-08-18vp9,search_new_mv: descale rather than scale sseJames Zern
this changes from scaling best sse to downscaling base sse in comparisons. this quiets an integer sanitizer warning of the form: vp9/encoder/vp9_pickmode.c:1632:41: runtime error: left shift of 4294967295 by 1 places cannot be represented in type 'unsigned int' Bug: b/229626362 Change-Id: Iee2920474ba700a46177d4514ba6ef7691958069
2022-08-18update_thresh_freq_fact_row_mt: normalize param typesJames Zern
make source_variance unsigned; this matches update_thresh_freq_fact() and the type of the MACROBLOCK member. quiets integer sanitizer warnings of the form: vp9/encoder/vp9_pickmode.c:2710:58: runtime error: implicit conversion from type 'unsigned int' of value 4294967295 (32-bit, unsigned) to type 'int' changed the value to -1 (32-bit, signed) Bug: b/229626362 Change-Id: I812c6ca914507bf25cad323dea3d91a3a2ea4f1d
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-18Fix TEST_P(SADx4Test, DISABLED_Speed)Scott LaVarnway
The reference code was being timed instead of the optimized code. Change-Id: I67eb08dcda80e20eaa075dc2c91b7e8ef5c0cdfb
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