Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavformat
mxf.h
Go to the documentation of this file.
1
/*
2
* MXF
3
* Copyright (c) 2006 SmartJog S.A., Baptiste Coudurier <baptiste dot coudurier at smartjog dot com>
4
*
5
* This file is part of Libav.
6
*
7
* Libav is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Lesser General Public
9
* License as published by the Free Software Foundation; either
10
* version 2.1 of the License, or (at your option) any later version.
11
*
12
* Libav is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Lesser General Public License for more details.
16
*
17
* You should have received a copy of the GNU Lesser General Public
18
* License along with Libav; if not, write to the Free Software
19
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20
*/
21
#ifndef AVFORMAT_MXF_H
22
#define AVFORMAT_MXF_H
23
24
#include "
libavcodec/avcodec.h
"
25
#include <stdint.h>
26
27
typedef
uint8_t
UID
[16];
28
29
enum
MXFMetadataSetType
{
30
AnyType
,
31
MaterialPackage
,
32
SourcePackage
,
33
SourceClip
,
34
TimecodeComponent
,
35
Sequence
,
36
MultipleDescriptor
,
37
Descriptor
,
38
Track
,
39
CryptoContext
,
40
Preface
,
41
Identification
,
42
ContentStorage
,
43
SubDescriptor
,
44
IndexTableSegment
,
45
EssenceContainerData
,
46
TypeBottom
,
// add metadata type before this
47
};
48
49
typedef
struct
{
50
UID
key
;
51
int64_t
offset
;
52
uint64_t
length
;
53
}
KLVPacket
;
54
55
typedef
struct
{
56
UID
uid
;
57
unsigned
matching_len
;
58
int
id
;
59
}
MXFCodecUL
;
60
61
extern
const
MXFCodecUL
ff_mxf_data_definition_uls
[];
62
extern
const
MXFCodecUL
ff_mxf_codec_uls
[];
63
64
int
ff_mxf_decode_pixel_layout
(
const
char
pixel_layout[16],
enum
PixelFormat
*
pix_fmt
);
65
66
#define PRINT_KEY(pc, s, x) av_dlog(pc, "%s %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n", s, \
67
(x)[0], (x)[1], (x)[2], (x)[3], (x)[4], (x)[5], (x)[6], (x)[7], (x)[8], (x)[9], (x)[10], (x)[11], (x)[12], (x)[13], (x)[14], (x)[15])
68
69
#endif
/* AVFORMAT_MXF_H */
MXFMetadataSetType
MXFMetadataSetType
Definition:
mxf.h:29
Descriptor
Definition:
mxf.h:37
pix_fmt
enum PixelFormat pix_fmt
Definition:
v4l.c:65
SourceClip
Definition:
mxf.h:33
TimecodeComponent
Definition:
mxf.h:34
KLVPacket::key
UID key
Definition:
mxf.h:50
KLVPacket::offset
int64_t offset
Definition:
mxf.h:51
ff_mxf_data_definition_uls
const MXFCodecUL ff_mxf_data_definition_uls[]
SMPTE RP224 http://www.smpte-ra.org/mdd/index.html.
Definition:
mxf.c:28
SourcePackage
Definition:
mxf.h:32
MXFCodecUL::id
int id
Definition:
mxf.h:58
UID
uint8_t UID[16]
Definition:
mxf.h:27
KLVPacket
Definition:
mxf.h:49
CryptoContext
Definition:
mxf.h:39
MultipleDescriptor
Definition:
mxf.h:36
Preface
Definition:
mxf.h:40
MXFCodecUL::matching_len
unsigned matching_len
Definition:
mxf.h:57
ContentStorage
Definition:
mxf.h:42
KLVPacket::length
uint64_t length
Definition:
mxf.h:52
Track
Definition:
mxf.h:38
SubDescriptor
Definition:
mxf.h:43
ff_mxf_codec_uls
const MXFCodecUL ff_mxf_codec_uls[]
Definition:
mxf.c:34
MaterialPackage
Definition:
mxf.h:31
avcodec.h
external API header
IndexTableSegment
Definition:
mxf.h:44
MXFCodecUL
Definition:
mxf.h:55
TypeBottom
Definition:
mxf.h:46
ff_mxf_decode_pixel_layout
int ff_mxf_decode_pixel_layout(const char pixel_layout[16], enum PixelFormat *pix_fmt)
Definition:
mxf.c:88
PixelFormat
PixelFormat
Pixel format.
Definition:
pixfmt.h:62
Sequence
Definition:
mxf.h:35
EssenceContainerData
Definition:
mxf.h:45
Identification
Definition:
mxf.h:41
MXFCodecUL::uid
UID uid
Definition:
mxf.h:56
AnyType
Definition:
mxf.h:30