Remove experimental status for progressive, layered and scaling mode
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 740ae65..09985ff 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,11 @@
## [Unreleased]
+### Removed since 1.4.0
+
+* Remove experimental status for the following options of avifenc: --progressive,
+ --layered and --scaling-mode, and the extraLayerCount option of avifEncoder.
+
## [1.4.0] - 2026-03-04
### Added since 1.3.0
diff --git a/apps/avifenc.c b/apps/avifenc.c
index 82e7f94..be8ad96 100644
--- a/apps/avifenc.c
+++ b/apps/avifenc.c
@@ -238,8 +238,8 @@
printf(" Use 2 for any you wish to leave unspecified\n");
printf(" -r,--range RANGE : YUV range, one of 'limited' or 'l', 'full' or 'f'. (JPEG/PNG only, default: full; For y4m or stdin, range is retained)\n");
printf(" --target-size S : Set target file size in bytes (up to 7 times slower)\n");
- printf(" --progressive : EXPERIMENTAL: Automatically set parameters to encode a simple layered image supporting progressive rendering from a single input frame.\n");
- printf(" --layered : EXPERIMENTAL: Encode a layered AVIF. Each input is encoded as one layer and at most %d layers can be encoded.\n",
+ printf(" --progressive : Automatically set parameters to encode a simple layered image supporting progressive rendering from a single input frame.\n");
+ printf(" --layered : Encode a layered AVIF. Each input is encoded as one layer and at most %d layers can be encoded.\n",
AVIF_MAX_AV1_LAYER_COUNT);
printf(" -g,--grid MxN : Encode a single-image grid AVIF with M cols & N rows. Either supply MxN identical W/H/D images, or a single\n");
printf(" image that can be evenly split into the MxN grid and follow AVIF grid image restrictions. The grid will adopt\n");
@@ -299,7 +299,7 @@
printf(" --max QP : Deprecated, use -q 0..100 instead\n");
printf(" --minalpha QP : Deprecated, use --qalpha 0..100 instead\n");
printf(" --maxalpha QP : Deprecated, use --qalpha 0..100 instead\n");
- printf(" --scaling-mode N[/D] : EXPERIMENTAL: Set frame (layer) scaling mode as given fraction. If omitted, the denominator defaults to 1. (Default: 1/1)\n");
+ printf(" --scaling-mode N[/D] : Set frame (layer) scaling mode as given fraction. If omitted, the denominator defaults to 1. (Default: 1/1)\n");
printf(" --duration D : Frame durations (in timescales) (default: 1). This option always applies to following inputs with or without the `:u` suffix.\n");
printf(" -a,--advanced KEY[=VALUE] : Pass an advanced, codec-specific key/value string pair directly to the codec. avifenc will warn on any not used by the codec.\n");
printf("\n");
diff --git a/doc/avifenc.1.md b/doc/avifenc.1.md
index d6e3412..52b3311 100644
--- a/doc/avifenc.1.md
+++ b/doc/avifenc.1.md
@@ -92,10 +92,10 @@
: Set target file size in bytes (up to 7 times slower)
**\--progressive**
-: EXPERIMENTAL: Automatically set parameters to encode a simple layered image supporting progressive rendering from a single input frame.
+: Automatically set parameters to encode a simple layered image supporting progressive rendering from a single input frame.
**\--layered**
-: EXPERIMENTAL: Encode a layered AVIF. Each input is encoded as one layer and at most 4 layers can be encoded.
+: Encode a layered AVIF. Each input is encoded as one layer and at most 4 layers can be encoded.
**-g**, **\--grid** _MxN_
: Encode a single-image grid AVIF with M cols & N rows. Either supply MxN identical W/H/D images, or a single
@@ -197,7 +197,7 @@
avifenc starts in automatic tiling mode.
**\--scaling-mode** _N_[/_D_]
-: EXPERIMENTAL: Set frame (layer) scaling mode as given fraction. If omitted, the denominator defaults to 1. (Default: 1/1).
+: Set frame (layer) scaling mode as given fraction. If omitted, the denominator defaults to 1. (Default: 1/1).
**\--duration** _D_
: Frame durations (in timescales) (default: 1). This option always applies to following inputs with or without the `:u` suffix.
diff --git a/include/avif/avif.h b/include/avif/avif.h
index 693e202..1b19fdb 100644
--- a/include/avif/avif.h
+++ b/include/avif/avif.h
@@ -1533,7 +1533,7 @@
// played back `n + 1` times. Defaults to AVIF_REPETITION_COUNT_INFINITE.
int repetitionCount;
- // EXPERIMENTAL: A non-zero value indicates a layered (progressive) image.
+ // A non-zero value indicates a layered (progressive) image.
// Range: [0 - (AVIF_MAX_AV1_LAYER_COUNT-1)].
// To encode a progressive image, set `extraLayerCount` to the number of extra images, then call
// `avifEncoderAddImage()` or `avifEncoderAddImageGrid()` exactly `encoder->extraLayerCount+1` times.