• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

libavformat/mxf.h

Go to the documentation of this file.
00001 /*
00002  * MXF
00003  * Copyright (c) 2006 SmartJog S.A., Baptiste Coudurier <baptiste dot coudurier at smartjog dot com>
00004  *
00005  * This file is part of FFmpeg.
00006  *
00007  * FFmpeg is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * FFmpeg is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with FFmpeg; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
00020  */
00021 #ifndef AVFORMAT_MXF_H
00022 #define AVFORMAT_MXF_H
00023 
00024 #include "libavcodec/avcodec.h"
00025 #include <stdint.h>
00026 
00027 typedef uint8_t UID[16];
00028 
00029 enum MXFMetadataSetType {
00030     AnyType,
00031     MaterialPackage,
00032     SourcePackage,
00033     SourceClip,
00034     TimecodeComponent,
00035     Sequence,
00036     MultipleDescriptor,
00037     Descriptor,
00038     Track,
00039     CryptoContext,
00040     Preface,
00041     Identification,
00042     ContentStorage,
00043     SubDescriptor,
00044     IndexTableSegment,
00045     EssenceContainerData,
00046     TypeBottom,// add metadata type before this
00047 };
00048 
00049 typedef struct {
00050     UID key;
00051     int64_t offset;
00052     uint64_t length;
00053 } KLVPacket;
00054 
00055 typedef struct {
00056     UID uid;
00057     unsigned matching_len;
00058     int id;
00059 } MXFCodecUL;
00060 
00061 extern const MXFCodecUL ff_mxf_data_definition_uls[];
00062 extern const MXFCodecUL ff_mxf_codec_uls[];
00063 
00064 #ifdef DEBUG
00065 #define PRINT_KEY(pc, s, x) dprintf(pc, "%s %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n", s, \
00066                              (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])
00067 #else
00068 #define PRINT_KEY(pc, s, x)
00069 #endif
00070 
00071 #endif /* AVFORMAT_MXF_H */

Generated on Fri Sep 16 2011 17:17:49 for FFmpeg by  doxygen 1.7.1