Proposal, "(TBD") and "(To be defined)" must be replaced by real values.
(Same as is SMPTE ST 2037 document)
Remark: this is the technical proposal, based on SMPTE ST 2037 document (VC-1 in MXF). We have tried to remove any generic SMPTE boilerplate that is not different for FFV1 and tried to keep only sentences relevant for having a good technical document to define use of FFV1 in MXF without reinventing the wheel. We believe there there are no copyright issues with using basic technical sentences from SMPTE ST 2037 as a basis for the language here, but please contact info@mediaarea.net if you are a copyright holder and disagree so that we may remove this document immediately.
(Same as is SMPTE ST 2037 document)
This standard defines how FFV1 bitstreams shall be mapped in the MXF Generic Container (SMPTE 379M).
FFV1 defines three possible versions for compliant bitstreams: 0, 1, 3. All of these versions are supported by this standard.
FFV1 bitstreams comprise FFV1 encoded Pictures and both intra-coding and inter-coding mechanisms can be used. Both coding mechanisms are supported in this standard.
FFV1 bitstreams comprise FFV1 encoded Pictures in both CDCI or RGB color spaces. Both colors spaces are supported in this standard.
This standard maps the FFV1 encoded Pictures as either frame-wrapped or clip-wrapped using the mechanisms defined in SMPTE 379M, and both progressive and interlaced Picture representations are supported in this standard.
This standard defines the KLV coding, the Essence Container Universal Label, the Essence Compression Universal Label and the Essence Descriptor to be used when wrapping FFV1 bitstreams in the MXF Generic Container.
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
IETF RFC (to be defined) — FFV1 Compressed Video Bitstream Format and Decoding Process
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
The values of the first 12 bytes of the essence element Key are defined in SMPTE 379M. The version (byte 8) shall be set to 0x01. The values of the last four bytes of the Picture Element Key are given in Table 1.
Table 1 – Key Value for the FFV1 Picture Element
Byte No. | Description | Value | Meaning |
---|---|---|---|
1~12 | Defined in SMPTE 379M | See SMPTE 379M | |
13 | Item Type Identifier | 15h | GC Picture Item (as defined in SMPTE 379M) |
14 | Essence Element Count | kkh | Count of Picture Elements in the Picture item |
15 | Essence Element Type | (TBD) | Frame-wrapped FFV1 Picture Element |
(TBD) | Clip-wrapped FFV1 Picture Element | ||
16 | Essence Element Number | Nnh | The Number (used as an Index) of this Picture Element in the Picture Item |
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
The values for the Essence Container UL are given in Table 2.
Table 2 – Specification of the Essence Container Label
Byte No. | Description | Value | Meaning |
---|---|---|---|
1~12 | Defined by Generic Container | As defined in SMPTE 379M | |
13 | Essence Container Kind | 02h | MXF Generic Container |
14 | Mapping Kind | (TBD) | FFV1 Picture Element |
15 | Content Kind | 01h | Frame-wrapped Picture Element |
02h | Clip-wrapped Picture Element | ||
16 | Reserved | 00h |
(Same as is SMPTE ST 2037 document)
Values for the Picture Essence coding UL are given in Table 3.
Table 3 – Specification of the Picture Essence Compression Label
Byte No. | Description | Value | Meaning |
---|---|---|---|
1~8 | Registry Designator | Designator value is defined in SMPTE 400M | |
9 | Parametric | 04h | Node used to define parametric data |
10 | Picture Essence | 01h | Identifies picture essence coding |
11 | Picture Coding Characteristics | 02h | Identifies picture coding characteristics |
12 | Compressed Picture Coding | 02h | Identifies specialized compression |
13 | (TBD) | Identifies FFV1 picture coding | |
14 | xxh | Identifies FFV1 version according to the table below | |
15 | 00h | Unused | |
16 | 00h | Unused |
(Same as is SMPTE ST 2037 document)
The correspondence between byte 14 and the FFV1 version described in IETF RFC (to be defined) is shown in Table 4.
Table 4 – Correspondence Between Byte 14 and FFV1 version
Profile | Value of Byte 14 |
---|---|
0 | 01h |
1 | 02h |
3 | 03h |
This section defines the FFV1PictureEssenceDescriptor that extends the CDCI Picture Essence Descriptor and RGB Picture Essence Descriptor defined in SMPTE 377-1 with additional properties specific to FFV1.
All FFV1 bitstreams wrapped in the MXF Essence Container according to this standard shall be described in the MXF Header Metadata with a FFV1PictureEssenceDescriptor according to the rules defined in SMPTE 377-1 on how to link such descriptors with the Essence Container, and as shown in Table 5.
Table 5 – FFV1 Picture Essence Descriptor
Item Name | Type | Len | UL Value | Req ? | Meaning | Default |
---|---|---|---|---|---|---|
FFV1 Picture Essence Descriptor | Set UL | 16 | See table below | Req | Defines the FFV1 Picture Essence Descriptor Set | |
Length | BER Length | 4 | Req | Set length | ||
All items from the MXF Format CDCI Descriptor | ||||||
FFV1InitializationMetadata | Datastream | 16 | 06 0e 2b 34 (TBD) (TBD) (TBD) |
D/Req | See Section 10.1. | |
FFV1IdenticalGOP | Boolean | 1 | 06 0e 2b 34 (TBD) (TBD) (TBD) |
Opt | TRUE if every GOP in the sequence is constructed the same. | FALSE |
FFV1MaxGOP | UInt16 | 2 | 06 0e 2b 34 (TBD) (TBD) (TBD) |
Opt | Specifies the maximum occurring spacing between I frames. A value of 0 or the absence of this property implies no limit to the maximum GOP |
no limit |
FFV1MaximumBitRate | UInt32 | 4 | 06 0e 2b 34 (TBD) (TBD) (TBD) |
Opt | Maximum bit rate of FFV1 video elementary stream in bit/s. | |
FFV1Version | UInt8 | 1 | 06 0e 2b 34 (TBD) (TBD) (TBD) |
Opt | Specifies the FFV1 video version. Coded as per IETF RFC (to be defined) |
|
FFV1MicroVersion | UInt8 | 1 | 06 0e 2b 34 (TBD) (TBD) (TBD) |
Opt | Specifies the FFV1 video microversion. Coded as per IETF RFC (to be defined) |
This property encodes the Metadata defined in IETF RFC (to be defined) and shall be present for version 3 bitstreams. The value of the property shall consist of the content of ConfigurationRecord as defined in IETF RFC (to be defined).
The set Key of the FFV1 Picture Descriptor shall be as defined in Table 6.
Table 6 – Key Value for the FFV1 Picture Essence Descriptor
Byte No. | Description | Value | Meaning |
---|---|---|---|
1~13 | As defined in SMPTE 377-1, Common Key Value for Structural Metadata (Table 13) | Values for all MXF structural metadata sets | |
14~15 | Set Kind | (TBD) | Defines the Key value for the FFV1 Picture Essence Descriptor |
16 | Reserved | 00h | Reserved value |
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
(Same as is SMPTE ST 2037 document)
FFV1 specification: IETF RFC (to be defined)
(Same as is SMPTE ST 2037 document)