Skip to content
Lionel Nicolas edited this page May 17, 2026 · 6 revisions

[1] How can I add a command-line option for avmenc?

For any new command-line options, use the key-value API.

Pls refer to this example commit that adds a command-line option: https://github.com/AOMediaCodec/avm/commit/02141605b23b47d21a3700197fb6fc7d7bfa3fd1

[2] Why is the CI Pipeline for my PR stuck / not running?

The CI pipeline runs automatically only if you are a 'Developer' member of the project. If you are NOT, pls ask someone who is a 'Developer' to run the pipeline for you from the 'pipelines' tab of your PR.

https://github.com/AOMediaCodec/avm/pull/4255 contains two large-scale symbol and file renaming commits. To rebase your PR from an earlier commit on top of main head, if the traditional git pull --rebase origin main does not work for you, please follow the following instructions:

  1. Make a back-up copy of your local clone containing your changes just in case.
  2. Update the main branch of your fork on GitHub. Then, from your local clone of your fork:
  3. git checkout your_branch
  4. git fetch origin main
  5. git rebase cfc55bb5306e9034bc361300d293a06c34c65367 to rebase your branch onto the commit right before the large renaming commits from the main branch
  6. git reset cfc55bb5306e9034bc361300d293a06c34c65367 to discard all your commits but to NOT discard your changes (your commits will be squashed, sorry about that)
  7. Apply the following commands to rename all symbols and files:
Script
git grep -rlI aom -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/aom/avm/g'
git grep -rlI Aom -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/Aom/Avm/g'
git grep -rlI AOM -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/AOM/AVM/g'
git grep -rlI av1 -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/av1/av2/g'
git grep -rlI Av1 -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/Av1/Av2/g'
git grep -rlI AV1 -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/AV1/AV2/g'
git grep -rlI avmedia -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/avmedia/aomedia/g'
git grep -rlI Avmedia -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/Avmedia/Aomedia/g'
git grep -rlI AVMedia -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/AVMedia/AOMedia/g'
git grep -rlI avm-testing -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/avm-testing/aom-testing/g'
git grep -rlI avm-test-data -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/avm-test-data/aom-test-data/g'
git grep -rlI av2-1-b -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/av2-1-b/av1-1-b/g'
git grep -rlI av20-2-05 -- ':!CHANGELOG' ':!*.jpg' ':!*.png' ':!*.svg' | xargs sed -i -e 's/av20-2-05/av10-2-05/g'
git restore tools/convexhull_framework/ctc_result/**

find . -maxdepth 1 -name "*aom*" -exec bash -c 'mv $0 $(echo "$0" | sed -r "s/aom/avm/g")' '{}' \;
find . -maxdepth 1 -name "*av1*" -exec bash -c 'mv $0 $(echo "$0" | sed -r "s/av1/av2/g")' '{}' \;
find . -name "*aom*" -exec bash -c 'mv $0 $(echo "$0" | sed -r "s/aom/avm/g")' '{}' \;
find . -name "*AOM*" -exec bash -c 'mv $0 $(echo "$0" | sed -r "s/AOM/AVM/g")' '{}' \;
find . -name "*av1*" -exec bash -c 'mv $0 $(echo "$0" | sed -r "s/av1/av2/g")' '{}' \;
find . -name "*avmedia*" -exec bash -c 'mv $0 $(echo "$0" | sed -r "s/avmedia/aomedia/g")' '{}' \;
git restore tools/convexhull_framework/ctc_result/**
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-constrained/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV1-CTC-v3.12.0-unconstrained/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v1.0.0-alt-anchor-r3.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v10.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v2.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v3.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v4.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v5.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/Perframe_RDResults_avm_av2_STILL_Preset_None.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v6.0.0/RDResults_avm_av2_STILL_Preset_None.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v7.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v8.0.0/RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/Perframe_RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/Perframe_RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/Perframe_RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/Perframe_RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/Perframe_RDResults_avm_av2_STILL_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/RDResults_avm_av2_AI_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/RDResults_avm_av2_AS_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/RDResults_avm_av2_LD_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/RDResults_avm_av2_RA_Preset_0.csv
rm tools/convexhull_framework/ctc_result/AV2-CTC-v9.0.0/RDResults_avm_av2_STILL_Preset_0.csv
  1. git reset dabab256305075d45d721c262667ad305ccafad2 to point to the last of the large renaming commits from the main branch, avoiding any complex rebasing and conflict merging
  2. git diff must only contain your up-to-date changes
  3. Test your changes as usual, but remember that aomenc is avmenc now, use LIBAVM_TEST_DATA_PATH etc. (refer to the up-to-date testing instructions)
  4. git add -A
  5. git commit -a -m "Your commit message" (this is your new squashed commit that should only contain your up-to-date changes)
  6. git pull --rebase origin main to rebase on top of main (resolve conflicts as usual)
  7. git push -f origin your_branch to force-update your PR

Feel free to open an issue if you encounter any problem.

Clone this wiki locally