@ -86,6 +86,55 @@ const MXFCodecUL ff_mxf_codec_tag_uls[] = {
{ { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } , 0 , 0 } ,
} ;
const MXFCodecUL ff_mxf_color_primaries_uls [ ] = {
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x01 , 0x00 , 0x00 } , 14 , AVCOL_PRI_SMPTE170M } , /* SMPTE 170M */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x02 , 0x00 , 0x00 } , 14 , AVCOL_PRI_BT470BG } , /* ITU-R BT.470 PAL */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x03 , 0x00 , 0x00 } , 14 , AVCOL_PRI_BT709 } , /* ITU-R BT.709 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x04 , 0x00 , 0x00 } , 14 , AVCOL_PRI_BT2020 } , /* ITU-R BT.2020 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x05 , 0x00 , 0x00 } , 14 , AVCOL_PRI_SMPTE428 } , /* SMPTE-DC28 DCDM */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x06 , 0x00 , 0x00 } , 14 , AVCOL_PRI_SMPTE432 } , /* P3D65 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x08 , 0x00 , 0x00 } , 14 , AVCOL_PRI_SMPTE428 } , /* Cinema Mezzanine */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x0a , 0x00 , 0x00 } , 14 , AVCOL_PRI_SMPTE431 } , /* P3DCI */
/* alternate mappings for encoding */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x03 , 0x01 , 0x00 , 0x00 } , 14 , AVCOL_PRI_SMPTE240M } , /* = AVCOL_PRI_SMPTE170M */
{ { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } , 0 , AVCOL_PRI_UNSPECIFIED } ,
} ;
const MXFCodecUL ff_mxf_color_trc_uls [ ] = {
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x01 , 0x00 , 0x00 } , 14 , AVCOL_TRC_GAMMA22 } , /* ITU-R BT.470 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x02 , 0x00 , 0x00 } , 14 , AVCOL_TRC_BT709 } , /* ITU-R BT.709 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x03 , 0x00 , 0x00 } , 14 , AVCOL_TRC_SMPTE240M } , /* SMPTE 240M */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x04 , 0x00 , 0x00 } , 14 , AVCOL_TRC_BT709 } , /* SMPTE 274/296M (must appear after ITU-R BT.709) */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x05 , 0x00 , 0x00 } , 14 , AVCOL_TRC_BT1361_ECG } , /* ITU-R BT.1361 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x06 , 0x00 , 0x00 } , 14 , AVCOL_TRC_LINEAR } , /* Linear */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x08 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x07 , 0x00 , 0x00 } , 14 , AVCOL_TRC_SMPTE428 } , /* SMPTE-DC28 DCDM */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x08 , 0x00 , 0x00 } , 14 , AVCOL_TRC_IEC61966_2_4 } , /* IEC 61966-2-4 xvYCC */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0E , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x09 , 0x00 , 0x00 } , 14 , AVCOL_TRC_BT2020_10 } , /* ITU-R BT.2020 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x0A , 0x00 , 0x00 } , 14 , AVCOL_TRC_SMPTE2084 } , /* SMPTE ST 2084 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x0B , 0x00 , 0x00 } , 14 , AVCOL_TRC_ARIB_STD_B67 } , /* Hybrid Log-Gamma OETF */
/* alternate mappings for encoding */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x01 , 0x00 , 0x00 } , 14 , AVCOL_TRC_GAMMA28 } , /* = AVCOL_TRC_GAMMA22 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x02 , 0x00 , 0x00 } , 14 , AVCOL_TRC_SMPTE170M } , /* = AVCOL_TRC_BT709 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0E , 0x04 , 0x01 , 0x01 , 0x01 , 0x01 , 0x09 , 0x00 , 0x00 } , 14 , AVCOL_TRC_BT2020_12 } , /* = AVCOL_TRC_BT2020_10 */
{ { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } , 0 , AVCOL_TRC_UNSPECIFIED } ,
} ;
/* aka Coding Equations */
const MXFCodecUL ff_mxf_color_space_uls [ ] = {
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x01 , 0x00 , 0x00 } , 14 , AVCOL_SPC_BT470BG } , /* ITU-R BT.601 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x01 , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x02 , 0x00 , 0x00 } , 14 , AVCOL_SPC_BT709 } , /* ITU-R BT.709 */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x03 , 0x00 , 0x00 } , 14 , AVCOL_SPC_SMPTE240M } , /* SMPTE 240M */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x04 , 0x00 , 0x00 } , 14 , AVCOL_SPC_YCGCO } , /* YCgCo */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x05 , 0x00 , 0x00 } , 14 , AVCOL_SPC_RGB } , /* GBR */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x0D , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x06 , 0x00 , 0x00 } , 14 , AVCOL_SPC_BT2020_NCL } , /* ITU-R BT.2020 Non-Constant Luminance */
/* alternate mappings for encoding */
{ { 0x06 , 0x0E , 0x2B , 0x34 , 0x04 , 0x01 , 0x01 , 0x06 , 0x04 , 0x01 , 0x01 , 0x01 , 0x02 , 0x03 , 0x00 , 0x00 } , 14 , AVCOL_SPC_SMPTE170M } , /* = AVCOL_SPC_SMPTE240M */
{ { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 } , 0 , AVCOL_SPC_UNSPECIFIED } ,
} ;
static const struct {
enum AVPixelFormat pix_fmt ;
const char data [ 16 ] ;