You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: readme/apv_isobmff.md
+117-1Lines changed: 117 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ ISOBMFF binding for APV
5
5
6
6
This document specifies methods to store data encoded with Advanced Professional Video (APV) codec in ISO Base Media File Format (ISOBMFF) files. APV is a mezzanine video codec for storage, exchange and editing of professional quality video. To support extensive, repeated editing including multiple rounds of decompression and compression all the necessary information for decoding, frame header and metadata for processing of decoded video and presentation are put together for fast and simple access. For example, frame header data are repeated in each frame even if the information in frame header are exactly identical for series of frames. When APV bitstream is stored in a file, to avoid such inefficiency codec configuration box indicates whether header information is identical to entire frames stored in a track. In this file format, for efficient access of portions of a frame, a method to identify the location of tiles are supported.
7
7
8
-
# ISOBMFF binding for APV
8
+
# ISOBMFF binding for APV video
9
9
10
10
## APV Sample Entry
11
11
@@ -208,6 +208,122 @@ The keys are defined as 4CC values and the value used for each keys are defined
208
208
209
209
For example, codecs="apv1.apvf44.apvl210.apvb3" indicates the track is compliant to 'apv1' sample entry type and the largest value of the profile in APVDecoderConfigurationRecord of the track is 422-12 profile, the level is 7 and the band is 3.
210
210
211
+
212
+
# ISOBMFF and HEIF binding for APV image items
213
+
214
+
## APV image items - general
215
+
216
+
This section describes how to encapsulate APV encoded images and image collections into the Image File Format
217
+
specified in ISO/IEC 23008-12 (also known as "HEIF").
218
+
219
+
This format allows multiple images to be included in a single file, allowing stereo or multi-view images, and
220
+
panoramas. Not all of the images need to be in the same format, such that an APV image could have an embedded
221
+
thumbnail in JPEG or HEIC (H.265) format. The format also allows image sequences (essentially video with
222
+
advisory timing), which are further specified [below](#isobmff-and-heif-binding-for-apv-image-sequences).
223
+
224
+
ISO/IEC 23008-12 is an extension to ISO/IEC 14496-12 (ISOBMFF), and it is valid to include combinations of
225
+
video, image and image sequences plus associated metadata in a single file. The nature of APV allows the
226
+
bitstream data for a frame to be common between the video track and image (or image sequence frame) if desired.
227
+
228
+
## APV image item data
229
+
230
+
### APV image item data definition
231
+
232
+
An item of type `apvi` consists of an APV bitstream corresponding to one and only one access unit of APV coded data.
233
+
The item content does not start with the `au_size` since this can be determined from the sum of the extents given in the
234
+
`iloc` for the item.
235
+
236
+
### APV image item data syntax
237
+
238
+
TODO
239
+
240
+
### APV image item data semantics
241
+
242
+
TODO
243
+
244
+
## APV configuration item property
245
+
246
+
+ Box type: `apvC`
247
+
248
+
+ Property type: Descriptive item property
249
+
250
+
+ Container: `ItemPropertyContainerBox`
251
+
252
+
+ Mandatory (per item): Yes, for an image item of type `apvi`
253
+
254
+
+ Quantity (per item): One for an image item of type `apvi`
255
+
256
+
Each APV image item shall have an associated property that is exactly identical to the `APVConfigurationBox` defined [above](#definition-1).
257
+
258
+
`essential` shall be equal to 1 for an `apvC` item property associated with an image item of type `apvi`.
259
+
260
+
## APV auxiliary images
261
+
262
+
EDITOR NOTE: We could consider prohibiting this, since they could just be in the AU.
263
+
264
+
Auxiliary images may be used to provide supplemental frame data such as depth images or alpha images. The URNs specified for HEVC in
265
+
ISO/IEC 23008-12:2025 Section B.2.4 may also be used with APV.
266
+
267
+
An APV coded auxiliary image uses an `item_type` value of `apvi`. An APV coded auxiliary image does not use the `aux_subtype` byte array in
268
+
`AuxiliaryTypeProperty`.
269
+
270
+
# ISOBMFF and HEIF binding for APV image sequences
271
+
272
+
TODO: To be specified.
273
+
274
+
# APV-specific brands
275
+
276
+
## APV video brand
277
+
278
+
The brand `apv1` shall be used to indicate that the file is conformant with the [APV video](#isobmff-binding-for-apv-video) section of this document.
279
+
280
+
EDITOR NOTE: We could relax this requirement and specify the parts we actually need (e.g. not requiring `stss` since its all sync samples).
281
+
282
+
The `apv1` brand requires support for the `isom` brand as defined in ISO/IEC 14496-12.
283
+
284
+
## APV image and image collection brand
285
+
286
+
### APV image brand
287
+
288
+
The brand `apvi` ("APV image") is specified in the following subclauses.
289
+
290
+
A coded image item is specified to conform to the `apvi` brand when all of the following constraints are true:
291
+
292
+
- the item has type `avp1` and conforms to the specification for [APV image items described above](#isobmff-and-heif-binding-for-apv-image-items).
293
+
- the item is not associated with any essential item properties other than `apvC`, `colr`, `irot`, `clap`, and `imir`.
294
+
295
+
### Requirements on files
296
+
297
+
Files shall include `mif1` among the compatible brands and hence conform to the associated requirements in ISO/IEC 23008-12:2025
298
+
Section 10.
299
+
300
+
Files including `apvi` as a compatible brand shall include an image item that is present in the file, as either the primary item
301
+
or any item from the alternate group containing the primary item, and that meets one of the following constraints:
302
+
303
+
- the item is a coded image item conforming to the `apvi` brand specified [above](#apv-image-brand)
304
+
- the item is a crop-rotate-mirror derived image item, and the source image item of the item is either a crop-rotate-mirror
305
+
derived image item or a coded image item conforming to the `apvi` brand specified [above](#apv-image-brand).
306
+
307
+
### Requirements on readers
308
+
309
+
The requirements in ISO/IEC 23008-12:2025 Section 10 for `mif1` readers shall be supported.
310
+
311
+
Readers conforming to the `apvi` brand shall support displaying an item that is either the primary item or any item from the alternate group
312
+
containing the primary item, where that item meets one of the following constraints:
313
+
314
+
- the item is a coded image item conforming to the `apvi` brand specified [above](#apv-image-brand)
315
+
- the item is a crop-rotate-mirror derived image item, and the source image item of the item is either a crop-rotate-mirror
316
+
derived image item or a coded image item conforming to the `apvi` brand specified [above](#apv-image-brand).
317
+
318
+
Readers conforming to the `apvi` brand are recommended to decode all profiles and levels of the APV codec, but are not required to do so.
319
+
320
+
File readers should support displaying an image with opacity information specified by an associated auxiliary image with `aux_type` equal
0 commit comments