Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
205 commits
Select commit Hold shift + click to select a range
3935f4b
Apply Zizmor (#5079)
y-guyon Jul 6, 2026
24648fa
Fix MSAN use-of-uninitialized-value in av2_rd_pick_inter_mode_sb(). (…
urvangjoshi Jul 7, 2026
826dde8
Conformance check for multistream atlas OBUs (#5086)
asegallamz Jul 8, 2026
919d0c2
Add 7.4.4 constraints on the OrderHint for OLK and RAS frames (CWG-G0…
asegallamz Jul 8, 2026
1aa25f3
Comment fix for disable_ml_partition_speed_features (#5090)
marpan-max Jul 9, 2026
f905062
Fix reset in av2_disable_ml_based_partition_sf (#5093)
marpan-max Jul 10, 2026
344bc7c
Mark error-resilient switch frames as restricted (#5094)
xinzhao-apple Jul 10, 2026
160c6a7
Clean up unused ref_frame_sign_bias[] in `AV2Common` structure (#5097)
satheeshkumar02 Jul 13, 2026
5716c9f
Fix settings in multi_layers tests (#5105)
marpan-max Jul 14, 2026
4c27759
Invoke av2_setup_ref_frame_sides() unconditionally (#5096)
satheeshkumar02 Jul 14, 2026
93fcbc0
Github CI Bugfixes for Enc/Dec Run Jobs (#5107)
urvangjoshi Jul 14, 2026
e15ae00
Fix the cast for the BITSTREAM_PROFILE profile var (#5113)
wantehchang Jul 15, 2026
4b7dfb1
Fixed an error that occurred when compiling the executable file (#506…
snowman20230101 Jul 15, 2026
7802259
Fix setting in multi_layers tests (#5117)
marpan-max Jul 16, 2026
229f4f9
Fix typo during checks for allowing extended sdp
ram-mohan Jul 1, 2026
1682701
Unify extended partition search functions
ram-mohan Jul 9, 2026
7821330
Refactor ext partition search in av2_rd_pick_partition
ram-mohan Jul 9, 2026
431c17f
Refactor av2_rd_pick_partition()
ram-mohan Jul 3, 2026
636fcda
Fix partition timing data collection
ram-mohan Jul 6, 2026
63be727
Check the requirement on is_first_tile_group (#5143)
wantehchang Jul 27, 2026
2ed883d
Assert MAX_PROFILES & PROFILE_BITS are consistent (#5182)
wantehchang Aug 1, 2026
48a7a18
Add the void cast to the tp_orig variable itself (#5174)
jzern Aug 1, 2026
3efe9fa
extract_proto.cc: prefer std::size over ABSL_ARRAYSIZE (#5175)
jzern Aug 1, 2026
94d3c8e
Remove unneeded filtering of avmdec and avmenc
wantehchang Jul 31, 2026
ec3b746
Declare two fuctions static
wantehchang Jul 31, 2026
e838568
Add NEON for highbd warp affine filter (#5169)
jjustiss-apple Aug 3, 2026
1633b4a
Remove unneeded av2_get_chroma_format_idc() calls
wantehchang Jul 31, 2026
fa5e6f5
av2_get_chroma_format_idc: more monochrome checks
wantehchang Jul 30, 2026
3c93d30
Add 12-bit profile (Main_444C_12_IP2) (#5112)
xinzhao-apple Aug 4, 2026
7a4706b
Fix for timing info rounding due to integer division (#5201)
andrey-norkin Aug 4, 2026
ff9fe10
Simplify and rename reconstruct_tile_info_max_tile (#5190)
wantehchang Aug 5, 2026
1a325a8
Check i<MAX_TILE_COLS in read_tile_syntax_info() (#5187)
y-guyon Aug 5, 2026
1d89973
Add NEON for highbd convolve8, convolve_copy, and upsampled_pred (#5204)
jjustiss-apple Aug 5, 2026
4b04e73
Refactor write_tile_info_max_tile (#5221)
wantehchang Aug 6, 2026
12ab7c6
Simplify the second parameter of reuse_tile_params (#5223)
wantehchang Aug 6, 2026
2969f22
Add NEON for highbd inv_txfm (#5205)
jjustiss-apple Aug 6, 2026
9849883
Have write_tile_params() call avm_internal_error() (#5225)
wantehchang Aug 10, 2026
2423eb4
Fix encoder test-decode failure when S-frames are enabled (#5210)
xinzhao-apple Aug 10, 2026
2efcd35
Fix incorrect display_clock_tick calculation (#5215)
andrey-norkin Aug 10, 2026
4831498
av2_set_seq_tile_info,av2_set_tile_info detect err (#5224)
wantehchang Aug 11, 2026
5c6aa87
add CTC result for AVM v14.0.0 and v15.0.0 release (#5244)
RyanLei-Meta Aug 11, 2026
316dac3
Partially undo avm_highbd_upsampled_pred_c changes (#5245)
wantehchang Aug 12, 2026
c9431c4
avm_highbd_upsampled_pred_c: Set temp to comp_pred (#5259)
wantehchang Aug 13, 2026
c3d517b
decoder: check profile interop conformance ASAP (#5181)
wantehchang Aug 17, 2026
8a2a0a9
check_frame_unit_data returns 0 if vcl_found false (#5277)
wantehchang Aug 18, 2026
4cdeb66
Remove local var bfirst in check_frame_unit_data() (#5278)
wantehchang Aug 19, 2026
dcc6b02
Call memcpy() in avm_[highbd_]convolve_copy_*() (#5258)
wantehchang Aug 20, 2026
61038ee
Fix MSDO/LCR conformance check for the 12-bit profile (#5290)
xinzhao-apple Aug 20, 2026
21ad150
Add range check min_gf_interval in validate_config (#5298)
xinzhao-apple Aug 20, 2026
4bdc679
Fix encoder segfault when a GF group is truncated to one frame (#5302)
xinzhao-apple Aug 21, 2026
cf38569
Use encoder-only method for reduced-tx-part-set option (#5313)
urvangjoshi Aug 25, 2026
868edb0
Add NEON for highbd convolve_2d_sr, convolve_x_sr, convolve_y_sr (#5312)
jjustiss-apple Aug 25, 2026
493a008
Do not enable simple_motion_search_prune_rect (#5311)
xinzhao-apple Aug 25, 2026
e7c2e35
Rework speed features 2 - 5 (#5080)
chengchen-google Jul 1, 2026
00e6f49
Move set_sb_size() to encoder dir (#5084)
jingninghan Jul 8, 2026
7712b85
Move get_partition() to enc dir (#5091)
jingninghan Jul 9, 2026
a78da9e
Partitioning bugfix (#5095)
chengchen-google Jul 11, 2026
6eb1009
Inter mode search: restructure loop, prune_motion_mode (#5098)
yeqing-wu Jul 14, 2026
9a98ca1
Remove FSC path from intra joint UV function (#5111)
jingninghan Jul 15, 2026
46ce624
Rework single-ref to compound pruning (#5099)
yeqing-wu Jul 15, 2026
5056908
Fix latent assert in handle_newmv MV-precision cache lookup (#5114)
yeqing-wu Jul 15, 2026
47f964b
Add per-ref RD-based pruning for single-ref NEWMV / WARP_NEWMV (#5100)
yeqing-wu Jul 15, 2026
ada5dd7
Single-ref NEWMV DRL search speed features (#5101)
yeqing-wu Jul 15, 2026
7201c3c
Add pruning for refinemv, INTERINTRA, and WARP_DELTA (#5102)
yeqing-wu Jul 16, 2026
f46e69e
Skip IST/STX cascade for intra-luma zero-quant primary (#5103)
yeqing-wu Jul 16, 2026
8056498
Rework av2_encode_block_intra_joint_uv (#5118)
jingninghan Jul 16, 2026
3b750ab
Remove mlayer/implicit-ref-map TIP suppression (#5119)
yeqing-wu Jul 17, 2026
ffa9264
Add cctx type array update back (#5123)
jingninghan Jul 18, 2026
c666781
Skip temporary prediction for opfl modes. (#5126)
jadhuran Jul 21, 2026
38b6c95
Hybrid search of multi way transform in rough search and winner mode …
jadhuran Jul 21, 2026
a421252
Add a speed level for intra region in inter frames (#5130)
leolzhao Jul 22, 2026
8c38c92
Add 6 param warp search in winner mode by tid (#5129)
jadhuran Jul 22, 2026
61dd959
Disable switchable SMVR at speed >= 1 and rename DMVR as SMVR or refi…
kslu-aom Jul 22, 2026
9e44a60
Enhanced inter mode cache reuse (#5133)
leolzhao Jul 22, 2026
7180f49
Refactor search_tx_type() (#5136)
mudassir-sg Jul 22, 2026
f7f6b5b
Increase TCQ threshold based on base QP (#5132)
motongxu Jul 23, 2026
61f689a
Add a speed feature to improve intra mode pruning
ranjit-tulabandu Jul 22, 2026
31b7299
Enable skip tx search when max_eob<512 (#5144)
motongxu Jul 23, 2026
6ab2b41
Encoder speedup for pruning partitions
linzhen-beep Jul 22, 2026
dcffe9a
Add realtime(rt) flag, encoder options / config
jianj-g Jul 22, 2026
d7a266e
Speed up on uneven 4way partition and MV precision. (#5149)
jadhuran Jul 27, 2026
6b587a1
Add SSE2 optimization for interp_cubic() (#5135)
deepa-kg Jul 27, 2026
a8999fd
Transform partition encoder speedup (#5165)
linzhen-beep Jul 27, 2026
d5d4752
Pruning compound reference frame search in speed >= 1 (#5163)
kslu-aom Jul 27, 2026
802013f
Add macro for maximum qp selection (#5145)
arnab-dey-12 Jul 27, 2026
b17b42a
Fast method for AMVD with newmv mode (#5166)
leolzhao Jul 27, 2026
a4c1b1f
Skip AMVD modes for NEAR NEWMV, NEW NEARMV modes (#5167)
jadhuran Jul 27, 2026
888d484
Add warp interintra in winner based on wrl index (#5164)
jadhuran Jul 28, 2026
01d2e36
Improve readability of search_tx_type() (#5160)
mudassir-sg Jul 28, 2026
1d12946
MLP intra mode pruning (#5162)
YixinDu1 Jul 28, 2026
ff8d9d0
Cleanup PartitionSearchState context (#5157)
ram-mohan Jul 28, 2026
a076a37
Use MFMV_STACK_SIZE as `process_ref` array size
satheeshkumar02 Jul 27, 2026
788833c
Refactor check_and_add_process_ref()
satheeshkumar02 Jul 27, 2026
a01d4c7
Remove unused `ProcessRefTMVP->type` and associated code
satheeshkumar02 Jul 27, 2026
409e175
Prevent auto inlining of motion_field_projection_side()
satheeshkumar02 Jul 27, 2026
de5f844
Adaptive tx search level (#5170)
motongxu Jul 29, 2026
3bb453d
Rework av2_update_nbr_diagonal_c (#5172)
jingninghan Jul 29, 2026
6ada811
MLP-based partition pre-screener (#5168)
YixinDu1 Jul 29, 2026
b9be7ce
Add default speed features for RTC (#5155)
jianj-g Jul 29, 2026
0a3f553
Simplify pc tree recurse functions
ram-mohan Jul 21, 2026
865d74e
Tweak adaptive_tx_type_search speed feature
linzhen-beep Jul 29, 2026
819fe8d
Add enable_low_complexity_decode (LC) mode (#5183)
yunqingwang1 Jul 31, 2026
edee28c
Cleanup unused code in compound type search (#5176)
RemyaPrakasan Jul 31, 2026
2e7096f
Enable deblock filter for partition research (#5180)
jianle973 Aug 2, 2026
5ddfe21
Fix typo in collect_mv_stats_sb while accessing subtree
arnab-dey-12 Jul 22, 2026
799fe93
Simplify ptree recurse functions
arnab-dey-12 Jul 24, 2026
fd75e08
Fix array subscript out of bounds warning in rdopt.c
jianj-g Jul 31, 2026
b5c720f
Extend perform_coeff_opt qindex threshold (#5196)
YixinDu1 Aug 4, 2026
802097c
Extend prune_inter_tx_part_rd_eval qindex threshold (#5197)
YixinDu1 Aug 4, 2026
9d14fb3
Reduce winner mode transform candidates to 2 (#5198)
jadhuran Aug 4, 2026
22629e6
Improve AVX2 of av2_wedge_sse_from_residuals()
deepa-kg Jul 13, 2026
e7baf42
Add AVX2 implementation for avm_highbd_comp_avg_upsampled_pred()
deepa-kg Jul 22, 2026
e106525
Optimize AVX2 of highbd SAD kernels
deepa-kg Jul 26, 2026
d5bc0d4
Avoid repeated function calls in av2_setup_motion_field()
satheeshkumar02 Aug 5, 2026
5702f42
Add helper function add_nearest_past_future_ref()
satheeshkumar02 Aug 5, 2026
617888c
Abstract TIP related code in av2_setup_motion_field()
satheeshkumar02 Aug 5, 2026
1e4a4ce
Add helper function sort_and_update_ref_idx()
satheeshkumar02 Aug 5, 2026
7453ebc
Remove unused segmentation functions (#5203)
arnab-dey-12 Aug 5, 2026
571e413
Simplify tcq avx2 functions (#5208)
jingninghan Aug 5, 2026
32f6cbf
Bugfix for deblocking filter in partition search: fix distortion scal…
urvangjoshi Aug 5, 2026
5c29568
Speed up warped-motion refinement at speed 4 (#5206)
YixinDu1 Aug 5, 2026
4cda07f
Prune evaluation of compound modes using estimated RD-Cost (#5211)
ranjit-tulabandu Aug 6, 2026
4f5ab08
Enable DC-block prediction at speed 4 and 5 (#5207)
YixinDu1 Aug 6, 2026
17cff57
Reduce NEWMV DRL search limit at speed >= 4 (#5218)
YixinDu1 Aug 6, 2026
9f35bf5
Disable deblocking in partition search for speed >= 3 (#5219)
YixinDu1 Aug 6, 2026
d83b451
Extend ref_mv_idx search pruning to speed 1-5 (#5220)
YixinDu1 Aug 6, 2026
6adb582
Simplify tx_class related code in tcq avx2 (#5217)
jingninghan Aug 6, 2026
ae87510
Add tools-off options for low complexity decoding (#5213)
yunqingwang1 Aug 6, 2026
5fe2776
Optimize AV2 encoder by removing redundant memset calls (#5194)
JimDBh Aug 6, 2026
03bc9fe
Revert "Optimize AV2 encoder by removing redundant memset calls (#519…
urvangjoshi Aug 7, 2026
493fd0f
Move lossless DPCM check inside prune_intra_y_mode
mudassir-sg Jul 27, 2026
3ec6d52
Implement real-time variance-based partitioning
jianj-g Jul 29, 2026
08b90b9
Prune uneven 4A/4B partitions with neighbor block boundaries (#5193)
urvangjoshi Aug 10, 2026
35a42ed
Code cleanup: remove partition arg from pick_sb_modes (#5229)
urvangjoshi Aug 10, 2026
8690e18
Fix cost calculation in rectangular partition search
ram-mohan Aug 7, 2026
e54b66f
Deduplicate boundary scans in extended-partition pruning
ram-mohan Aug 9, 2026
e3c4178
Refactor rd_try_subblock_new for reuse in partition search
ram-mohan Aug 4, 2026
1ca6a86
Refactor search intra region partitioning function
ram-mohan Aug 4, 2026
d497126
Refactor rectangular split partition search function
ram-mohan Aug 5, 2026
ca39566
Refactor none_partition_search for consistency
ram-mohan Aug 6, 2026
f71f83c
Refactor partition split search function
ram-mohan Aug 5, 2026
f5532be
Apply fast method to new_newmv and new_newmv_opfl amvd sub-mode (#5238)
leolzhao Aug 10, 2026
b1d1de4
CCSO early terminate by cost threshold (#5237)
jadhuran Aug 10, 2026
9b6e005
set_params_rd_pick_inter_mode: Remove dead code. (#5230)
urvangjoshi Aug 10, 2026
624de3e
Rename `dist_wtd` and related terms to `cwp` (#5228)
satheeshkumar02 Aug 10, 2026
40ae2fa
Add an aggressive low-complexity level
yunqingwang1 Aug 6, 2026
29e4218
Add encoder options for aggressive low-complexity level
yunqingwang1 Aug 6, 2026
e2fe2c3
Increase exhaustive search threshold for speed 1
deepa-kg Aug 10, 2026
2be2cb3
Implement non-RD partition evaluation for real-time mode (#5236)
jianj-g Aug 12, 2026
40e958d
Fix "Optimize AV2 encoder by removing redundant memset calls" (#5255)
JimDBh Aug 12, 2026
6ee6a7a
Remove *Large from RTC test (#5257)
jianj-g Aug 13, 2026
aa90cea
Revert the unintended change under COLLECT_TX_SIZE_DATA (#5251)
mudassir-sg Aug 13, 2026
b8e165a
Increase exhaustive search threshold for speed >=2 (#5252)
deepa-kg Aug 13, 2026
87bfe3a
Add reference-frame-selective warp search speed feature
JimDBh Aug 13, 2026
c2409e8
Fix format
JimDBh Aug 13, 2026
2950bcb
Optimize speed features to disable H / 4-way Partitions (#5254)
urvangjoshi Aug 14, 2026
ace3aac
Use high_precision_mv_usage = LAST_MV_DATA for all speeds (#5266)
urvangjoshi Aug 14, 2026
c9400b7
mv_sf tuning for speed >= 1 (#5265)
linzhen-beep Aug 14, 2026
011f98e
Disable extended SDP at speed 2 (#5260)
motongxu Aug 14, 2026
107795f
Disable enable_winner_mode_for_coeff_opt (#5267)
jianle973 Aug 14, 2026
c8f4bdb
Force max pb aspect ratio to be 4 at speed 4 (#5246)
motongxu Aug 14, 2026
ec20308
Further increase exhaustive search threshold for speed 1 (#5263)
deepa-kg Aug 15, 2026
7f656f6
Enable partition-deblock-rd for speed 3-6 (#5271)
jianle973 Aug 17, 2026
d9a6a35
Enable TCQ for all speed levels (#5270)
jadhuran Aug 17, 2026
0da3756
Add a speed feature to prune ref_mv_idx for WARP_NEWMV (#5269)
ranjit-tulabandu Aug 17, 2026
45e5b21
Two-pass superblock partition search (#5253)
yeqing-wu Aug 18, 2026
171fec0
Refactor ccso search (#5268)
ram-mohan Aug 18, 2026
e8c204a
Fast warp delta search for four and six param models in warp newmv (#…
jadhuran Aug 18, 2026
e062332
Disable a speed feature to recover coding gains at sp3 (#5281)
chengchen-google Aug 18, 2026
d20e3b3
Allow MV precision based on last frame MV data for < 4K resolution. (…
urvangjoshi Aug 18, 2026
e1e616f
Enable dc block pred level 1 at Speed 3 (#5283)
chengchen-google Aug 18, 2026
f37b2f7
Disable a speed feature to recover coding gains at sp4 (#5285)
chengchen-google Aug 18, 2026
572c351
Refactor handle_inter_mode and separate single and compound mode sear…
kslu-aom Aug 19, 2026
7b3bb26
CCSO BO-first warm start under early termination (#5286)
chengchen-google Aug 19, 2026
12e5b4a
Bypass Luma plane search in CCSO (#5273)
jingninghan Aug 19, 2026
c7b93c8
Handle near zero coefficients in tcq (#5261)
jingninghan Aug 19, 2026
8756061
Promote feature DC-block-pred-level to speed 3 (#5287)
chengchen-google Aug 19, 2026
42ae3a0
Fix non-monotonic behavior for screen content (#5292)
yunqingwang1 Aug 19, 2026
4abfd77
Disable three speed-4 features that cost quality and save little time…
chengchen-google Aug 20, 2026
2a9136d
rtc: Reuse pc_tree in non-RD partition search (#5284)
jianj-g Aug 20, 2026
b59e9df
Consolidate intra FSC mode search into outer loop
SamuthirikaS Jul 16, 2026
cc2c753
Abstract intra mode pruning logic into a function
SamuthirikaS Jul 29, 2026
739a071
Abstract multi-winner mode processing into helper function
SamuthirikaS Jul 8, 2026
8cb7d44
Rename variables for intra mode search
SamuthirikaS Jul 30, 2026
2d97d8d
Refactor av2_rd_pick_intra_sby_mode
SamuthirikaS Jul 29, 2026
6804210
Abstract intra mode cost calculation into a function
SamuthirikaS Jul 30, 2026
8e078b4
Simplify av2_trellis_quant function (#5295)
jingninghan Aug 20, 2026
ec7975d
Promote WienerNS zero-refine to speed 1 (#5293)
chengchen-google Aug 20, 2026
5a4b089
Skip unit size search for Loop Restoration based on pyramid level for…
tianqitliu Aug 21, 2026
b948286
Transform partition stationarity pruning (#5274)
chengchen-google Aug 21, 2026
c367721
Refactor av2_compound_type_rd
RemyaPrakasan Aug 13, 2026
750e584
Consolidate RD cost related members in COMP_RD_STATS
RemyaPrakasan Aug 14, 2026
7418a50
Unify pick_wedge() and pick_wedge_fixed_sign()
RemyaPrakasan Aug 13, 2026
0d4122e
Cosmetic changes in compound_type.c
RemyaPrakasan Aug 14, 2026
772a9d9
Set default configuration for realtime usage (--rt) (#5299)
jianj-g Aug 21, 2026
70b9102
Adjust speed features for RTC speed >= 6. (#5300)
marpan-max Aug 21, 2026
b0d3d31
Promote tx stat pruning to Speed 3 (#5282)
chengchen-google Aug 21, 2026
55d02ed
Reduce intra mode top count to 3 for speed 3 and 4 (#5289)
chengchen-google Aug 24, 2026
f41bc1f
Bound the two-pass wet-pass mode search with the dry pass's rd (#5304)
yeqing-wu Aug 24, 2026
a5ab19f
Conditionally reduce max DRL ref MVs for speeds >= 2 (#5279)
kslu-aom Aug 25, 2026
3c10235
Temporal filter function optimization
yunqingwang1 Aug 21, 2026
60cfe78
Promote the uneven-4-way partition disable to speed 1 (#5305)
chengchen-google Aug 25, 2026
c39b7f1
Add early termination in warp delta refinement (#5309)
deepa-kg Aug 25, 2026
63bf361
Add frame level on/off bawp (#5156)
jianle973 Aug 25, 2026
b579dae
Skip pixel-domain distortion using tx-domain RD estimate (#5314)
ranjit-tulabandu Aug 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions .github/workflows/build-job-reusable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,11 @@ jobs:
AVM_BUILD_CONFIG: ${{ inputs.avm-build-config }}
PARENT_JOB_NAME: ${{ inputs.parent-job-name }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 50
lfs: true
persist-credentials: false

- uses: ./.github/actions/common-setup
with:
Expand All @@ -71,7 +72,7 @@ jobs:
- name: Run before-script
run: ${{ inputs.before-script }}

- uses: actions/cache/restore@v5
- uses: actions/cache/restore@caa296126883cff596d87d8935842f9db880ef25 # v5
with:
path: ccache
key: non-existent
Expand Down Expand Up @@ -124,9 +125,6 @@ jobs:
bitstream-mismatch-debug)
CMAKE_FLAGS="${CMAKE_FLAGS} -DCONFIG_BITSTREAM_DEBUG=1 -DCONFIG_MISMATCH_DEBUG=1"
;;
enable-12bit-profile)
CMAKE_FLAGS="${CMAKE_FLAGS} -DCONFIG_TESTONLY_12BIT_SUPPORT=1"
;;
nasm)
CMAKE_FLAGS="${CMAKE_FLAGS} -DENABLE_NASM=1"
;;
Expand Down Expand Up @@ -179,13 +177,13 @@ jobs:
run: |
ccache --show-stats

- uses: actions/cache/save@v5
- uses: actions/cache/save@caa296126883cff596d87d8935842f9db880ef25 # v5
with:
path: ccache
key: ${{ inputs.parent-job-name }}-${{ inputs.avm-build-config }}-${{ github.run_id }}

- name: Upload artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: ${{ success() && inputs.artifact-paths != '' }}
with:
name: ${{ inputs.parent-job-name }}-${{ inputs.avm-build-config }}
Expand Down
39 changes: 13 additions & 26 deletions .github/workflows/common-builds-reusable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ jobs:
- nasm
- no-examples
- debug
- enable-12bit-profile

build-entropy-stats:
name: Build (entropy-stats)
Expand Down Expand Up @@ -105,21 +104,6 @@ jobs:
avm-build-config:
- bitstream-mismatch-debug

build-enable-12bit-profile:
name: Build (enable-12bit-profile)
uses: ./.github/workflows/build-job-reusable.yaml
if: (!cancelled())
with:
avm-build-config: ${{ matrix.avm-build-config }}
parent-job-name: build-enable-12bit-profile
runner: ${{ inputs.runner }}
container-image: ${{ inputs.container-image }}
show-github-context: true
strategy:
matrix:
avm-build-config:
- enable-12bit-profile

build-x86-linux-gcc:
name: Build (x86-linux-gcc)
uses: ./.github/workflows/build-job-reusable.yaml
Expand Down Expand Up @@ -302,10 +286,11 @@ jobs:
container:
image: ${{ inputs.container-image }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 50
lfs: true
persist-credentials: false

- uses: ./.github/actions/common-setup

Expand All @@ -326,7 +311,7 @@ jobs:
cmake --build avm_docs_build --target docs

- name: Upload artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: success()
with:
name: documentation
Expand All @@ -353,14 +338,15 @@ jobs:
CCACHE_COMPILERCHECK: content

steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 50
lfs: true
persist-credentials: false

- uses: ./.github/actions/common-setup

- uses: actions/cache/restore@v5
- uses: actions/cache/restore@caa296126883cff596d87d8935842f9db880ef25 # v5
with:
path: ccache
key: non-existent
Expand Down Expand Up @@ -427,13 +413,13 @@ jobs:
run: |
ccache --show-stats

- uses: actions/cache/save@v5
- uses: actions/cache/save@caa296126883cff596d87d8935842f9db880ef25 # v5
with:
path: ccache
key: ${{ github.job }}-${{ matrix.avm-sanitizer-type }}-${{ github.run_id }}

- name: Upload artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: always()
with:
name: avm-sanitizers-${{ matrix.avm-sanitizer-type }}
Expand Down Expand Up @@ -465,15 +451,16 @@ jobs:
CCACHE_DIR: ${{ github.workspace }}/ccache
CCACHE_COMPILERCHECK: content
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 50
fetch-tags: true
lfs: true
persist-credentials: false

- uses: ./.github/actions/common-setup

- uses: actions/cache/restore@v5
- uses: actions/cache/restore@caa296126883cff596d87d8935842f9db880ef25 # v5
with:
path: ccache
key: non-existent
Expand Down Expand Up @@ -502,13 +489,13 @@ jobs:
run: |
ccache --show-stats

- uses: actions/cache/save@v5
- uses: actions/cache/save@caa296126883cff596d87d8935842f9db880ef25 # v5
with:
path: ccache
key: ${{ github.job }}-${{ github.run_id }}

- name: Upload artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: success()
with:
name: example-build
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/common-test-data-reusable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,11 @@ jobs:
env:
LIBAVM_TEST_DATA_PATH: ${{ github.workspace }}/libavm-test-data
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 50
lfs: true
persist-credentials: false

- uses: ./.github/actions/common-setup

Expand All @@ -39,7 +40,7 @@ jobs:
cmake --build avm_testdata --target testdata

- name: Upload artifacts
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: success()
with:
name: "${{ github.job }}"
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,12 @@ jobs:
"

steps:
- uses: actions/checkout@v5
with:
fetch-depth: 50

- uses: ./.github/actions/common-setup

- name: Configure AVM encoder
run: |
if [ -z "${AVMENC_OUTPUT}" ]; then
Expand Down Expand Up @@ -484,7 +490,7 @@ jobs:
ALLOW_FAIL=0
FAILED=0

if [ -n "$(git --no-pager log --grep STATS_CHANGED --format=format:"%H" "${{ github.event.pull_request.base.sha }}..${{ github.sha }}")" ]; then
if [ -n "$(git --no-pager log --grep STATS_CHANGED --format=format:"%H" "${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}")" ]; then
ALLOW_FAIL=1
fi

Expand All @@ -507,7 +513,7 @@ jobs:
echo " commits contain the STATS_CHANGED keyword, so mismatch"
echo " of encode outputs is allowed."
echo "Commits containing STATS_CHANGED added in this MR:"
git --no-pager log --grep STATS_CHANGED --format=format:"%h: %s; \"%aN\" <%aE>" "${{ github.event.pull_request.base.sha }}..${{ github.sha }}"
git --no-pager log --grep STATS_CHANGED --format=format:"%h: %s; \"%aN\" <%aE>" "${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}"
echo ""
exit 0
fi
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/sanitizer-job-reusable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,23 +61,24 @@ jobs:
AVM_SANITIZER_TYPE: ${{ inputs.avm-sanitizer-type }}
USE_LARGE_TESTS: ${{ inputs.use-large-tests }}
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5
with:
fetch-depth: 50
lfs: true
persist-credentials: false

- uses: ./.github/actions/common-setup
with:
show-github-context: ${{ inputs.show-github-context }}
extra-env-vars: ${{ inputs.extra-env-vars }}

- name: Get sanitizer build
uses: actions/download-artifact@v8
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: avm-sanitizers-${{ inputs.avm-sanitizer-type }}

- name: Get test data
uses: actions/download-artifact@v8
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
name: test-data
path: libavm-test-data
Expand Down Expand Up @@ -227,7 +228,7 @@ jobs:
exit ${exit_code}

- name: Upload logs
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
if: ${{ always() }}
with:
name: sanitizer-${{ inputs.avm-sanitizer-type }}-logs
Expand Down
9 changes: 4 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -911,7 +911,8 @@ foreach(avm_app ${AVM_APP_TARGETS})
target_link_libraries(${avm_app} ${AVM_LIB_LINK_TYPE} avm)
endforeach()

if(ENABLE_EXAMPLES
if(ENABLE_APPS
OR ENABLE_EXAMPLES
OR ENABLE_TESTS
OR ENABLE_TOOLS)
if(CONFIG_LIBYUV)
Expand Down Expand Up @@ -1015,10 +1016,8 @@ if(ENABLE_EXAMPLES AND "${CMAKE_GENERATOR}" MATCHES "Makefiles$")
file(MAKE_DIRECTORY "${AVM_CONFIG_DIR}/examples")

foreach(target ${AVM_EXAMPLE_TARGETS})
if(NOT "${target}" MATCHES "avmdec\|avmenc")
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
"${AVM_CONFIG_DIR}/examples")
endif()
set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY
"${AVM_CONFIG_DIR}/examples")
endforeach()

if(ENABLE_TOOLS AND AVM_TOOL_TARGETS)
Expand Down
11 changes: 8 additions & 3 deletions apps/avmenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ const arg_def_t *main_args[] = { &g_av2_codec_arg_defs.help,
&g_av2_codec_arg_defs.skip,
&g_av2_codec_arg_defs.step,
&g_av2_codec_arg_defs.good_dl,
&g_av2_codec_arg_defs.rt_dl,
&g_av2_codec_arg_defs.quietarg,
&g_av2_codec_arg_defs.verbosearg,
&g_av2_codec_arg_defs.psnrarg,
Expand Down Expand Up @@ -303,6 +304,7 @@ const arg_def_t *av2_key_val_args[] = {
&g_av2_codec_arg_defs.enable_joint_mvd,
&g_av2_codec_arg_defs.enable_keyframe_filtering,
&g_av2_codec_arg_defs.enable_lf_sub_pu,
&g_av2_codec_arg_defs.enable_low_complexity_decode,
&g_av2_codec_arg_defs.enable_masked_comp,
&g_av2_codec_arg_defs.enable_mfh_obu_signaling,
&g_av2_codec_arg_defs.enable_mhccp,
Expand Down Expand Up @@ -631,6 +633,7 @@ static void init_config(cfg_options_t *config) {
config->scan_type_info_present_flag = 0;
config->enable_mfh_obu_signaling = 0;
config->operating_points_count = 1;
config->enable_low_complexity_decode = 0;
}

int read_icc_profile(struct AvxEncoderConfig *global, const char *file) {
Expand Down Expand Up @@ -702,6 +705,8 @@ static void parse_global_config(struct AvxEncoderConfig *global, char ***argv) {
global->usage = arg_parse_uint(&arg);
} else if (arg_match(&arg, &g_av2_codec_arg_defs.good_dl, argi)) {
global->usage = AVM_USAGE_GOOD_QUALITY; // Good quality usage
} else if (arg_match(&arg, &g_av2_codec_arg_defs.rt_dl, argi)) {
global->usage = AVM_USAGE_REALTIME; // REALTIME usage
} else if (arg_match(&arg, &g_av2_codec_arg_defs.use_yv12, argi)) {
global->color_type = YV12;
} else if (arg_match(&arg, &g_av2_codec_arg_defs.use_i420, argi)) {
Expand Down Expand Up @@ -2159,12 +2164,12 @@ int main(int argc, const char **argv_) {
}
}

#if CONFIG_TESTONLY_12BIT_SUPPORT
#if CONFIG_12BIT_PROFILE
if (stream->config.cfg.g_bit_depth > 10) {
stream->config.cfg.g_profile = TEST_ONLY_12BIT_PROFILE;
stream->config.cfg.g_profile = MAIN_444C_12_IP2;
profile_updated = 1;
}
#endif // CONFIG_TESTONLY_12BIT_SUPPORT
#endif // CONFIG_12BIT_PROFILE

// Force encoder to use 16-bit pipeline for 8-bit video/image
if (profile_updated && !global.quiet) {
Expand Down
8 changes: 7 additions & 1 deletion av2/arg_defs.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ const av2_codec_arg_definitions_t g_av2_codec_arg_defs = {
.step = ARG_DEF(NULL, "step", 1,
"Encode every n-th frame (after the --skip frames)"),
.good_dl = ARG_DEF(NULL, "good", 0, "Use Good Quality Deadline"),
.rt_dl = ARG_DEF(NULL, "rt", 0, "Use Realtime Quality Deadline"),
.quietarg = ARG_DEF("q", "quiet", 0, "Do not print encode progress"),
.verbosearg = ARG_DEF("v", "verbose", 0, "Show encoder parameters"),
.psnrarg = ARG_DEF(
Expand Down Expand Up @@ -383,7 +384,7 @@ const av2_codec_arg_definitions_t g_av2_codec_arg_defs = {
.disable_ml_partition_speed_features =
ARG_DEF(NULL, "disable-ml-partition-speed-features", 1,
"Disable ML partition speed features "
"(0: false (default), 1: true)"),
"(0: false, 1: true (default))"),
.erp_pruning_level =
ARG_DEF(NULL, "erp-pruning-level", 1,
"Set the level of aggressiveness for erp pruning."
Expand Down Expand Up @@ -885,6 +886,11 @@ const av2_codec_arg_definitions_t g_av2_codec_arg_defs = {
.use_short_metadata = ARG_DEF(NULL, "use-short-metadata", 1,
"Use short metadata OBU format "
"(0: GROUP format [default], 1: SHORT format)"),
.enable_low_complexity_decode =
ARG_DEF(NULL, "enable-low-complexity-decode", 1,
"Enable low complexity decode. "
"(0: false (default), 1: standard low-complexity level, 2: "
"aggressive low-complexity level)"),
#endif // CONFIG_AV2_ENCODER
.enable_short_refresh_frame_flags =
ARG_DEF(NULL, "enable-short-refresh-frame-flags", 1,
Expand Down
2 changes: 2 additions & 0 deletions av2/arg_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ typedef struct av2_codec_arg_definitions {
arg_def_t skip;
arg_def_t step;
arg_def_t good_dl;
arg_def_t rt_dl;
arg_def_t quietarg;
arg_def_t verbosearg;
arg_def_t psnrarg;
Expand Down Expand Up @@ -277,6 +278,7 @@ typedef struct av2_codec_arg_definitions {
arg_def_t dpb_size;
arg_def_t enable_bru;
arg_def_t disable_loopfilters_across_tiles;
arg_def_t enable_low_complexity_decode;
#endif // CONFIG_AV2_ENCODER
arg_def_t frame_hash_metadata;
arg_def_t frame_hash_per_plane;
Expand Down
Loading