Change list-encoders & show_parameters
SVT is no new compression format, it is just a different encoder for AV1. Hence, I do not understand the change.
I believe that show_parameters 'P' should display all functions for all added codecs. I believe that list-encoders function should show all available codecs and their versions. I think adding an encoder function should show specific av1 codec, not all of them. It is a matter of taste. For aom I miss information that codec has turned on. heifenc_avx.exe -P
Encoders (HEIF is default):
Parameters for encoder `x265 HEVC encoder (3.5+41-0b75c44)`:
quality, default=50, [0;100]
lossless, default=false
preset, default=slow, { ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo }
tune, default=ssim, { psnr,ssim,grain,fastdecode }
tu-intra-depth, default=2, [1;4]
complexity, [0;100]
chroma, default=420, { 420,422,444 }
Parameters for encoder `AOMedia Project AV1 Encoder 3.5.0-3981dcb`:
realtime, default=false
speed, default=5, [0;9]
threads, default=4, [1;16]
quality, default=50, [0;100]
lossless, default=false
chroma, default=420, { 420,422,444 }
tune, default=ssim, { psnr,ssim,butteraugli }
min-q, default=1, [1;62]
max-q, default=63, [0;63]
alpha-quality, [0;100]
alpha-min-q, [1;62]
alpha-max-q, [0;63]
lossless-alpha, default=false
Parameters for encoder `SVT-AV1 encoder 1.2.1-dddda74`:
speed, default=12, [0;13]
threads, default=4, [1;16]
tile-rows, default=4, {1, 2, 4, 8, 16, 32, 64}
tile-cols, default=4, {1, 2, 4, 8, 16, 32, 64}
chroma, default=420, { 420,422,444 }
qp, default=50, [0;63]
heifenc_avx.exe --list-encoders
- x265 = x265 HEVC encoder (3.5+41-0b75c44)
- aom = AOMedia Project AV1 Encoder 3.5.0-3981dcb
- svt = SVT-AV1 encoder 1.2.1-dddda74
heifenc_avx.exe image_21447_24bit.png -v -L -q 100 --avif --no-alpha -p chroma=444 -p threads=4 -p speed=5 --matrix_coefficients=0 --full_range_flag=1 -o image_21447_24bit.avif
Encoders (AVIF is default):
- aom = AOMedia Project AV1 Encoder 3.5.0-3981dcb
not like with heif_compression_AV1 are all codec versions
Encoders (AVIF is default):
- aom = AOMedia Project AV1 Encoder 3.5.0-3981dcb
- svt = SVT-AV1 encoder 1.2.1-dddda74
How about this: --list-encoders only shows the short list with the IDs of the encoders, but if we have both "--list-encoders -P", all encoders are shown with their parameters?
I understand that in your solution I only have: heifenc_avx.exe --list-encoders -P Where are the AOM codecs?
Encoders (HEIF is default):
Parameters for encoder `x265 HEVC encoder (3.5+41-0b75c44)`:
quality, default=50, [0;100]
lossless, default=false
preset, default=slow, { ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo }
tune, default=ssim, { psnr,ssim,grain,fastdecode }
tu-intra-depth, default=2, [1;4]
complexity, [0;100]
chroma, default=420, { 420,422,444 }
We don't have that yet. It was a proposal to design is such that "--list-encoders -P" would in the future list all encoders and parameters.
Hmm, but you have to guess the --list-encoders -P configuration. I tried to make something simple, but the SVT codec doesn't work with heif_compression_SVT. AOM lossless works for PNG, but lossy does not. It's probably a bug but not in my fix anymore.
Test codec heifenc_avx.exe image_21447_24bit.png -v -L -q 100 --avif --no-alpha -p chroma=444 -p threads=4 -p speed=5 --matrix_coefficients=0 --full_range_flag=1 -o image_21447_24bita.avif
libavutil 57. 39.101 / 57. 39.101
libavcodec 59. 50.100 / 59. 50.100
libavformat 59. 34.101 / 59. 34.101
libavdevice 59. 8.101 / 59. 8.101
libavfilter 8. 49.101 / 8. 49.101
libswscale 6. 8.112 / 6. 8.112
libswresample 4. 9.100 / 4. 9.100
libpostproc 56. 7.100 / 56. 7.100
[libdav1d @ 000002022d807900] libdav1d 1.0.0-83-gcac76e4 0B f=0/0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002022d7f5f80] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'image_21447_24bita.avif':
Metadata:
major_brand : avif
minor_version : 0
compatible_brands: avifmif1miaf
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0[0x1]: Video: av1 (High), yuv444p(pc, smpte170m/unknown/unknown), 4000x3000 [SAR 1:1 DAR 4:3], 1 fps, 1 tbr, 1 tbn
Why is colormatrix smpte170m?
heifenc_avx.exe image_21447_24bit.png -v -q 90 --avif --no-alpha -p chroma=420 -p threads=4 -p speed=5 --matrix_coefficients=0 --full_range_flag=1 -o image_21447_24bitaa.avif
Codec isn't created. Probably AOM problem. Error is not displayed.
av1enc_avx.exe -avif -q 90 -420 -size 4000x3000 -effort 5 -thread 4 -tune ssim image_21447_24bit.png -d image_21447_24bitaw.avif
Codec isn't created. Probably AOM problem. Error is not displayed.
heifenc_avx.exe image_21447_24bit.png -v -e svt --avif --no-alpha -p qp=26 -p chroma=420 -p threads=4 -p speed=5 --matrix_coefficients=6 --full_range_flag=0 -o image_21447_24bitsa.avif
Codec is created but not displayed. Why is quality inactive for svt?
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000022e358b5f40] moov atom not found0
image_21447_24bitsa.avif: Invalid data found when processing input
avifenc_avx.exe -c svt --min 24 --max 26 -d 8 -y 420 -r limited -s 5 -j 4 image_21447_24bit.jpg image_21447_24bitsaw_svt.avif It's OK. heifenc_avx.exe image_21447_24bit.png -v -L -q 100 --no-alpha -p preset=placebo -p chroma=444 -p x265:thread=4 --matrix_coefficients=0 --full_range_flag=1 -o image_21447_24bit.heif It's OK heifenc_avx.exe image_21447_24bit.png -v -q 90 --no-alpha -p preset=placebo -p chroma=420 -p x265:thread=4 --matrix_coefficients=6 --full_range_flag=0 -o image_21447_24bit.heif
Codec is created but not displayed.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000020550d75f00] moov atom not found0 image_21447_24bit.heif: Invalid data found when processing input