00001 /* 00002 * General DV muxer/demuxer 00003 * Copyright (c) 2003 Roman Shaposhnik 00004 * 00005 * Many thanks to Dan Dennedy <dan@dennedy.org> for providing wealth 00006 * of DV technical info. 00007 * 00008 * Raw DV format 00009 * Copyright (c) 2002 Fabrice Bellard 00010 * 00011 * This file is part of FFmpeg. 00012 * 00013 * FFmpeg is free software; you can redistribute it and/or 00014 * modify it under the terms of the GNU Lesser General Public 00015 * License as published by the Free Software Foundation; either 00016 * version 2.1 of the License, or (at your option) any later version. 00017 * 00018 * FFmpeg is distributed in the hope that it will be useful, 00019 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00020 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00021 * Lesser General Public License for more details. 00022 * 00023 * You should have received a copy of the GNU Lesser General Public 00024 * License along with FFmpeg; if not, write to the Free Software 00025 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00026 */ 00027 00028 #ifndef AVFORMAT_DV_H 00029 #define AVFORMAT_DV_H 00030 00031 #include "avformat.h" 00032 00033 typedef struct DVDemuxContext DVDemuxContext; 00034 DVDemuxContext* dv_init_demux(AVFormatContext* s); 00035 int dv_get_packet(DVDemuxContext*, AVPacket *); 00036 int dv_produce_packet(DVDemuxContext*, AVPacket*, uint8_t*, int); 00037 void dv_offset_reset(DVDemuxContext *c, int64_t frame_offset); 00038 00039 typedef struct DVMuxContext DVMuxContext; 00040 DVMuxContext* dv_init_mux(AVFormatContext* s); 00041 int dv_assemble_frame(DVMuxContext *c, AVStream*, uint8_t*, int, uint8_t**); 00042 void dv_delete_mux(DVMuxContext*); 00043 00044 #endif /* AVFORMAT_DV_H */