This project is mirrored from https://aomedia.googlesource.com/aom.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
- 11 Feb, 2025 1 commit
-
-
Wan-Teh Chang authored
Bug: 394596176 Change-Id: Ib4e56b433fadab1d4a8d5cb4c8fd5b870f53ac6a
-
- 08 Feb, 2025 1 commit
-
-
Wan-Teh Chang authored
Bug: b:394563983 Change-Id: Iaa7148962df5afcbfa554bad42026bae361ca150 (cherry picked from commit 96c8ce61)
-
- 07 Feb, 2025 3 commits
-
-
Marco Paniconi authored
These parameters are causing the tsan race condition in the issue below. Removing them for now. This may cause some slowdown in some cases of webrtc usage, so we may add them back in later. Add screen 2TL test with 4 threads to catch the issue below. Bug: b:394563983 Change-Id: I9d1abc58ecc57921ddbbd79fb1da1dc114f974ac (cherry picked from commit 2454213a)
-
Wan-Teh Chang authored
Bug: 394596176 Change-Id: I8e3c4194090a0d2941ab936065441e298f1ea906
-
Wan-Teh Chang authored
The comment in aom/aomcx.h was missed in https://aomedia-review.googlesource.com/c/aom/+/194641. Also change "on frame qindex" to "based on frame qindex". Bug: aomedia:375221136 Change-Id: I110951c3f59661659ce32821620df9103cd7c7e0 (cherry picked from commit 39e039b2)
-
- 06 Feb, 2025 1 commit
-
-
Wan-Teh Chang authored
Bug: 394596176 Change-Id: Ifb8ab56f868e0a7123a4b9b4443f4ad8c8c17a4b
-
- 05 Feb, 2025 1 commit
-
-
Wan-Teh Chang authored
We want tune=ssimulacra2 to mean a mode that maximizes the SSIMULACRA 2 metric. The current tune=ssimulacra2 mode increases image quality by using the SSIMULACRA 2 metric as a guidance and validating with subjective visual quality checks. Rename it tune=iq, which stands for image quality or intra quality. Bug: b:390668380 Change-Id: I6f1943395ffc186e9cc773e96d0d69c80d857641
-
- 31 Jan, 2025 1 commit
-
-
James Zern authored
This was missed due to `/* clang-format off */`, which was meant for the `av1_warped_filter[]` array entries. Change-Id: I9abb43349ed98b119da06d2dc307575eafde47c9
-
- 30 Jan, 2025 1 commit
-
-
Salome Thirot authored
Interleaving is not necessary and interleaving load/stores can be very slow. Write new helper functions for old compiler versions that don't support these _x2/_x4 variants. Change-Id: I9d865acc68528e3ea192d56e2cceab5bad87d14b
-
- 28 Jan, 2025 10 commits
-
-
James Zern authored
Fixes a `-Wsign-compare` warning seen with clang 18.1.8 shipped with Microsoft Visual Studio 2022 17.12.4. aomenc.c:2321:76: warning: comparison of integers of different signs: 'unsigned int' and 'aom_bit_depth_t' (aka 'enum aom_bit_depth') [-Wsign-compare] | if ((global.show_psnr == 2) && (stream->config.cfg.g_input_bit_depth == | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ | stream->config.cfg.g_bit_depth)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Change-Id: Ifb30405efe6b7e4c9cba72922ef79b2e635c4084
-
jerry authored
Change-Id: Ic9184eb4a58256fbbe204835593c3d07bc8564fa
-
Salome Thirot authored
Port the optimizations and cleanups found while porting these functions to SVT-AV1. Change-Id: I894460ea2b1790d3c1312a0a38c7c5ab2c445aa6
-
Salome Thirot authored
Port the optimizations and cleanups found while porting these functions to SVT-AV1. Change-Id: I71037e2a4c6df5a291ceaac6ff4de7c354c78442
-
Salome Thirot authored
Port the optimizations and cleanups found while porting these functions to SVT-AV1. Change-Id: I5a07c67bbf393536a8d85b760d2ade19112400f1
-
Salome Thirot authored
Some minor optimizations and cleanup were found while porting these functions to SVT-AV1, so backport them here. Change-Id: Ib31b66de90438c6b3de918bfa61d4b69b1dc3a0f
-
Salome Thirot authored
Use the existing helper to compute filter4() and return if filtering isn't needed. This is a port from 487fa384eeb542e3cd885b161b212578c97dc908 in SVT-AV1. Change-Id: I557ed6a9ecc367243858ab4ab71e781d8b4ae9e8
-
Salome Thirot authored
The Neon implementations of aom_lpf_vertical_14 and aom_lpf_horizontal_14 compute every filter (filter4(), filter8() and filter14()) before selecting for each element which filter is actually needed. In practice, however, a lot of cases only need one of the filters, so specialize for these scenarios, computing only the filters that are needed and eliminate bitwise select. This makes the case where all filters are needed slightly slower, but as it is far from the most common case this is ok. Also move the actual filter computation to separate functions to avoid code duplication. This is a port from 4d6f560d1f4a35a47e5dfc9b7c2dc4f5483d49dc in SVT-AV1. Change-Id: Id608edad6fee69fc263eb6ee9e0956ca6311d77f
-
Salome Thirot authored
The Neon implementations of aom_lpf_vertical_8 and aom_lpf_horizontal_8 compute both filter4() and filter8() before selecting for each element which filter is actually needed. In practice, however, a lot of cases only need one of the filters, so specialize for these scenarios, computing only the filters that are needed and eliminate bitwise select. This makes the case where all filters are needed slightly slower, but as it is far from the most common case this is ok. Also move the actual filter computation to separate functions to avoid code duplication. This is a port from d8ebdeec1edc1df12b2b19a6ffe477aea4bc158e in SVT-AV1. Change-Id: I2e7157f26515f9ec51e82ad32434117adc4be928
-
Salome Thirot authored
The Neon implementations of aom_lpf_vertical_6 and aom_lpf_horizontal_6 compute both filter4() and filter6() before selecting for each element which filter is actually needed. In practice, however, a lot of cases only need one of the filters, so specialize for these scenarios, computing only the filters that are needed and eliminate bitwise select. This makes the case where all filters are needed slightly slower, but as it is far from the most common case this is ok. Also move the actual filter computation to separate functions to avoid code duplication. This is a port from d29673138e044fa7dec420f74e1451c53a9ea8ca in SVT-AV1. Change-Id: Ibda2567c3781e51a9d43c59480284072115ceab6
-
- 24 Jan, 2025 1 commit
-
-
James Zern authored
When building with `BUILD_SHARED_LIBS=1` the aom_av1_rc library will link against a static version of libaom as it requires some internal functions. This causes the library to contain duplicate versions of some of the symbols in libaom which causes link errors when targeting cygwin or msys2/mingw-w64. `--allow-multiple-definition` is added to the linker flags as a workaround. A better fix will be to limit the symbols exported by the library to only the public interface, as is done with libaom. Fixes errors of the form: .../x86_64-pc-cygwin/bin/ld: libaom.a(aom_codec.c.o):aom_codec.c:(.text+0x30): multiple definition of 'aom_codec_iface_name'; libaom_av1_rc.dll.a(cygaom_av1_rc_dll_d000055.o):(.text+0x0): first defined here Bug: aomedia:391715078 Change-Id: Ib6c7431de6b7d6f867371c9518ac4b5fdd80667d
-
- 23 Jan, 2025 2 commits
-
-
James Zern authored
fixes: .../x86_64-pc-cygwin/bin/ld: unrecognized option '-z' .../x86_64-pc-cygwin/bin/ld: use the --help option for usage information collect2: error: ld returned 1 exit status Bug: aomedia:391549038 Change-Id: I263fa211eb676029448a88ec1cdaedc44528ea32
-
James Zern authored
Previously the values of rc_buf_sz, rc_buf_initial_sz and rc_buf_optimal_sz would be ignored when rc_end_usage was set to AOM_VBR and the targets set to quite large values. Change-Id: I68b302d702e389f0341968bfcc0019fb40da7066
-
- 22 Jan, 2025 1 commit
-
-
Marco Paniconi authored
Add more conditions for increasing the horiz/col scroll motion window, to reduce speed regression. Condition it on the high motion frame-level flag and whether the last TL0 had horiz scroll. Leave the condition as is for now for the vert/row scroll since its more common. Bug: b:383306740 Change-Id: Idf54694ef53f024da2e9a7561f25db77f9348bf0
-
- 21 Jan, 2025 1 commit
-
-
Mahesh Madhav authored
Set table data type from 16-bit to 8-bit when not using ARM/X86 intrinsics. Changing to narrower 8-bit type matches how data is used naturally in the code; all values are 8-bit anyway. Narrower width allows compiler to use consistent type, enabling better vectorization and reducing memory bandwidth. aarch64 and x86-64 intrinsics paths have similar optimizations. Change-Id: I03fb0e016143b38a0b7197f8b21577b470578a61
-
- 17 Jan, 2025 2 commits
-
-
Wan-Teh Chang authored
Complete the work started in commit eac382e1. Change-Id: I2bfd03fe18276d97e96c29569f3f2d0dbf77371d
-
Wan-Teh Chang authored
The int16_t * casts were apparently added to fix the following compiler warning: warning: incompatible pointer types assigning to 'const short *' from 'const int16_t (*)[8]' (aka 'const short (*)[8]') [-Wincompatible-pointer-types] Using av1_warped_filter[...] (instead of av1_warped_filter + ...) has the correct type. The av1_warped_filter[...] form is used in av1/common/warped_motion.c. Note: The int16_t * casts also cast away the const inadvertently because av1_warped_filter is a const array. Change-Id: Iabb564cd0eb1f62a75e8f0283d292e6c64a3088d
-
- 15 Jan, 2025 1 commit
-
-
James Zern authored
These binaries also work with Visual Studio and the yasm version may work better with GitHub actions based builds. Bug: webm:355182136 Change-Id: I4fa79618e8c7696ce09a1a6da84473f571b5c70c
-
- 14 Jan, 2025 1 commit
-
-
jerry authored
Change-Id: Ibe20e6932632e8167948982d177760e28f8459ff
-
- 10 Jan, 2025 1 commit
-
-
James Zern authored
The functions are private, declared in aom_mem/aom_mem.h. These functions are used by test_libaom only when test_libaom is linked with the libaom static library. Bug: 370599806 Change-Id: I9cf12429e1866adacd8ea1fa3f3316193950de00
-
- 09 Jan, 2025 1 commit
-
-
Marco Paniconi authored
Add screendata.1920_1080.y4m clip. Change-Id: I4b8141286289bad366edfa32c2ce129a8e1ccc95
-
- 06 Jan, 2025 1 commit
-
-
Marco Paniconi authored
When testing sample superblocks off-center within the frame, make sure the row/col position is within max search window. This fixes the issue below and brings back the gains from the revert: https://aomedia-review.googlesource.com/c/aom/+/196401 Bug: b:387021199, b:383306740 Change-Id: Ie259a1cbe665f28f6b324f5222904acef6f527fd
-
- 04 Jan, 2025 1 commit
-
-
Marco Paniconi authored
This reverts commit f74eae54. Reason for revert: Culprit CL for issue b:387021199, revert for now until issue is fixed. Bug: b:387021199, b:383306740 Change-Id: Ia44eabe764a4430c168995c465322beb85f9ba30
-
- 31 Dec, 2024 1 commit
-
-
Marco Paniconi authored
For scene changes that occur on non_reference frames (highest temporal layer) the encoder will do a skip encoding. The logic to do this is in the variance_partitioning, but this path may be bypassed under high motion flag and sb source sad, which is not correct. This can lead to some superblocks not being skip encoded while others are. This fixes the artifact observed in comment#18 of the issue below. Bug: b:383306740 Change-Id: I35ca017edf352efe4e66a5cfbd2879ab73d8a0f6
-
- 27 Dec, 2024 1 commit
-
-
Jerome Jiang authored
Bug: b:383744068 Change-Id: Ibb44d790f14ae990b5d041d06dda26edcd0cc9f6
-
- 21 Dec, 2024 3 commits
-
-
James Zern authored
Tested with gcc-12/13/14, clang-14/16. Change-Id: Ifc841db9e3c78531d313aa4b346b982c7f932436
-
Wan-Teh Chang authored
DECODE_WIDTH_LIMIT and DECODE_HEIGHT_LIMIT (used when CONFIG_SIZE_LIMIT is defined as 1) are intended for the decoder only. Since aom_realloc_frame_buffer() is shared by the decoder and the encoder, it should not check DECODE_WIDTH_LIMIT and DECODE_HEIGHT_LIMIT. Move the check to the aom_realloc_frame_buffer() call in the read_uncompressed_header() function. Bug: 385367183 Change-Id: Icdb3660e3631fefb690ef9f28a4d782e4c9a939d
-
Marco Paniconi authored
Scroll detection occurs in two places: 1) at the frame level in estimate_scroll_motion(). This is only done under certain conditions and only for a few superblocks. 2) at the superblock level in the variance partitioning, this is done on every frame. This change only increases the horiz/col search window (makes it equal to the vert/row motion for high frame_source_sad) in the estimate_scroll_motion(), to avoid speed slowdown for now. Reduces artifacts in the issue below for horiz scrolling. Stats changed for speed 11 rtc_screen: negligible change in speed/IC. Bug: b:383306740 Change-Id: I54f329cff424299252cf5bd46d1329eb68009f59
-
- 20 Dec, 2024 1 commit
-
-
Marco Paniconi authored
Change-Id: I7419d3ca97e4596f675e3375635a34b60f6e5508
-
- 18 Dec, 2024 2 commits
-
-
Jerome Jiang authored
Bug: b:383744068 Change-Id: Ide61a2f99075ea0b35fd2e8f9283fa0f57ca5ca5
-
Wan-Teh Chang authored
Create the temp output files as text files in multilayer_metadata_test.cc because we parse them as text files using std::ifstream. This works around a bug in the MSVC Standard C++ Library (https://github.com/microsoft/STL/issues/1784). Add a `text_mode` boolean parameter to the libaom_test::TempOutFile constructor and the libaom_test::GetTempOutFile() function, default to true. Bug: 383816673 Change-Id: Ic070105482c86efb13ad20451da7f3be93f113c5
-