Libav
|
00001 /* 00002 * RIFF codec tags 00003 * copyright (c) 2000 Fabrice Bellard 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 00028 #ifndef AVFORMAT_RIFF_H 00029 #define AVFORMAT_RIFF_H 00030 00031 #include "libavcodec/avcodec.h" 00032 #include "avio.h" 00033 00034 int64_t ff_start_tag(ByteIOContext *pb, const char *tag); 00035 void ff_end_tag(ByteIOContext *pb, int64_t start); 00036 00037 typedef struct AVCodecTag { 00038 enum CodecID id; 00039 unsigned int tag; 00040 } AVCodecTag; 00041 00042 void ff_put_bmp_header(ByteIOContext *pb, AVCodecContext *enc, const AVCodecTag *tags, int for_asf); 00043 int ff_put_wav_header(ByteIOContext *pb, AVCodecContext *enc); 00044 enum CodecID ff_wav_codec_get_id(unsigned int tag, int bps); 00045 void ff_get_wav_header(ByteIOContext *pb, AVCodecContext *codec, int size); 00046 00047 extern const AVCodecTag ff_codec_bmp_tags[]; 00048 extern const AVCodecTag ff_codec_wav_tags[]; 00049 00050 unsigned int ff_codec_get_tag(const AVCodecTag *tags, int id); 00051 enum CodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag); 00052 void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssize, int *au_scale); 00053 00054 #endif /* AVFORMAT_RIFF_H */