diff --git a/index.bs b/index.bs
index 539ed85..0be36cc 100755
--- a/index.bs
+++ b/index.bs
@@ -108,6 +108,7 @@ url: https://www.iso.org/standard/66067.html; spec: HEIF; type: dfn;
text: aux_type
text: AuxiliaryTypeInfoBox
text: AuxiliaryTypeProperty
+ text: bits_per_channel
url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: dfn;
text: compatible_brands
@@ -134,7 +135,7 @@ url: https://www.iso.org/standard/68960.html; spec: ISOBMFF; type: dfn;
url: https://www.iso.org/standard/74417.html; spec: MIAF; type: dfn;
text: miaf
- text: primary image
+ text: primary image item
text: MIAF image item
text: MIAF image sequence
text: MIAF auxiliary image item
@@ -406,7 +407,7 @@ No color space conversion, matrix coefficients, or transfer characteristics func
The output reconstructed image is made up of the output samples, whose values shall be each clamped to fit in the number of bits per sample as defined by the '[=pixi=]'
property of the reconstructed image item. The [=full_range_flag=]
field of the '[=colr=]'
property of [=colour_type=]
'[=nclx=]'
also defines a range of values to clamp to, as defined in [[!CICP]].
-
'[=AVIF/altr=]'
group. This will be perceived as a backward-compatible regular 8-bit image to readers not supporting [=Sample Transform Derived Image Items=], and can be decoded as a 16-bit image otherwise, making that pattern a bit-depth extension mechanism.SampleTransform
structure) of the [=Sample Transform Derived Image Item=].SampleTransform
structure) of the [=Sample Transform Derived Image Item=].[=sato/token=]
shall be at most [=reference_count=]
when evaluating a sample [=sato/operand=] (when ).[=sato/token=]
.[=sato/token=]
.
@@ -697,12 +698,12 @@ The 'ster' entity group as defined in [[!HEIF]] may be use
The brand to identify [=AV1 image items=] is avif.
Files that indicate this brand in the [=compatible_brands=]
field of the [=FileTypeBox=]
shall comply with the following:
- - [=avif=]
in the [=compatible_brands=]
field of the [=FileTypeBox=]
.[=avio=]
in the [=compatible_brands=]
field of the [=FileTypeBox=]
, then [=avio=]
should be used in the [=compatible_brands=]
field of the [=FileTypeBox=]
[=avio=]
in the [=compatible_brands=]
field of the [=FileTypeBox=]
, then [=avio=]
should be used in the [=compatible_brands=]
field of the [=FileTypeBox=]
[=FileTypeBox=]
should declare at least one profile that enables decoding of the primary image item.[=FileTypeBox=]
should declare at least one profile that enables decoding of the [=primary image item=].'[=avis=]'
is declared in the [=FileTypeBox=]
and a profile is declared in the [=FileTypeBox=]
, the profile shall also enable decoding of at least one image sequence track.'[=pixi=]'
property with [=bits_per_channel=]
=8,
+ - Another [=MIAF image item=] being a lossily or losslessly coded image item with the same dimensions and number of samples as the first input image item,'[=pixi=]'
property with [=bits_per_channel=]
=8,
+ - A [=Sample Transform Derived Image Item=] with the two items above as input in this order,'[=pixi=]'
property with [=bits_per_channel=]
=16,[=SampleTransform=]
fields:
+ - [=sato/version=]
=0
+ - [=sato/bit_depth=]
=2 (signed 32-bit [=sato/constant=]
s, stack values and intermediate results)
+ - [=sato/token_count=]
=5
+ - [=sato/token=]
=0, [=sato/constant=]
=256
+ - [=sato/token=]
=1 (sample from 1st input image item)
+ - [=sato/token=]
=130 (product)
+ - [=sato/token=]
=2 (sample from 2nd input image item)
+ - [=sato/token=]
=128 (sum)
+
+This is equivalent to the following postfix notation (parentheses for clarity):
+
+
+
+This is equivalent to the following infix notation:
+
+
+
+Each output sample is equal to the sum of a sample of the first input image item shifted to the left by 8 and of a sample of the second input image item. This can be viewed as a bit depth extension of the first input image item by the second input image item. The first input image item contains the 8 most significant bits and the second input image item contains the 8 least significant bits of the output reconstructed image item which has a bit depth of 16, something that is impossible to achieve with a single [=AV1 image item=].
+
+NOTE: If the first input image item is the [=primary image item=] and is enclosed in an '[=AVIF/altr=]'
group with the [=Sample Transform Derived Image Item=], the first input image item is also a backward-compatible 8-bit regular coded image item that can be used by readers that do not support [=Sample Transform Derived Image Items=] or do not need extra precision.
+
+NOTE: The second input image item loses its meaning of least significant part if any of the most significant bits changes, so the first input image item has to be losslessly encoded. The second input image item supports reasonable loss during encoding.
+
+NOTE: This pattern can be used for reconstructed bit depths beyond 16 by combining more than two input image items or with various input bit depth configurations and operations.
+
+'[=pixi=]'
property with [=bits_per_channel=]
=12,
+ - Another [=MIAF image item=] being a lossily or losslessly coded image item with the same dimensions and number of samples as the first input image item,'[=pixi=]'
property with [=bits_per_channel=]
=8,NOTE: Files that do not respect this constraint will still decode successfully because Clause [[#sample-transform-definition]] mandates the resulting values to be each clamped to fit in the number of bits per sample as defined by the '[=pixi=]'
property of the reconstructed image item.
'[=pixi=]'
property with [=bits_per_channel=]
=16,[=SampleTransform=]
fields:
+ - [=sato/version=]
=0
+ - [=sato/bit_depth=]
=2 (signed 32-bit [=sato/constant=]
s, stack values and intermediate results)
+ - [=sato/token_count=]
=7
+ - [=sato/token=]
=0, [=sato/constant=]
=16
+ - [=sato/token=]
=1 (sample from 1st input image item)
+ - [=sato/token=]
=130 (product)
+ - [=sato/token=]
=2 (sample from 2nd input image item)
+ - [=sato/token=]
=128 (sum)
+ - [=sato/token=]
=0, [=sato/constant=]
=-128
+ - [=sato/token=]
=128 (sum)
+
+This is equivalent to the following postfix notation (parentheses for clarity):
+
+
+
+This is equivalent to the following infix notation:
+
+
+
+Each output sample is equal to the sum of a sample of the first input image item shifted to the left by 4 and of a sample of the second input image item offset by -128. This can be viewed as a bit depth extension of the first input image item by the second input image item which contains the residuals to correct the precision loss of the first input image item.
+
+NOTE: If the first input image item is the [=primary image item=] and is enclosed in an '[=AVIF/altr=]'
group with the derived image item, the first input image item is also a backward-compatible 12-bit regular coded image item that can be used by decoding contexts that do not support [=Sample Transform Derived Image Items=] or do not need extra precision.
+
+NOTE: The first input image item supports reasonable loss during encoding because the second input image item "overlaps" by 4 bits to correct the loss. The second input image item supports reasonable loss during encoding.
+
+NOTE: This pattern can be used for reconstructed bit depths beyond 16 by combining more than two input image items or with various input bit depth configurations and operations.