Libav 0.7.1
|
00001 /* 00002 * RAW PCM muxers 00003 * Copyright (c) 2002 Fabrice Bellard 00004 * 00005 * This file is part of Libav. 00006 * 00007 * Libav 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 * Libav 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 Libav; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00020 */ 00021 00022 #include "avformat.h" 00023 #include "rawenc.h" 00024 00025 #define PCMDEF(name, long_name, ext, codec) \ 00026 AVOutputFormat ff_pcm_ ## name ## _muxer = {\ 00027 #name,\ 00028 NULL_IF_CONFIG_SMALL(long_name),\ 00029 NULL,\ 00030 ext,\ 00031 0,\ 00032 codec,\ 00033 CODEC_ID_NONE,\ 00034 NULL,\ 00035 ff_raw_write_packet,\ 00036 .flags= AVFMT_NOTIMESTAMPS,\ 00037 }; 00038 00039 PCMDEF(f64be, "PCM 64 bit floating-point big-endian format", 00040 NULL, CODEC_ID_PCM_F64BE) 00041 00042 PCMDEF(f64le, "PCM 64 bit floating-point little-endian format", 00043 NULL, CODEC_ID_PCM_F64LE) 00044 00045 PCMDEF(f32be, "PCM 32 bit floating-point big-endian format", 00046 NULL, CODEC_ID_PCM_F32BE) 00047 00048 PCMDEF(f32le, "PCM 32 bit floating-point little-endian format", 00049 NULL, CODEC_ID_PCM_F32LE) 00050 00051 PCMDEF(s32be, "PCM signed 32 bit big-endian format", 00052 NULL, CODEC_ID_PCM_S32BE) 00053 00054 PCMDEF(s32le, "PCM signed 32 bit little-endian format", 00055 NULL, CODEC_ID_PCM_S32LE) 00056 00057 PCMDEF(s24be, "PCM signed 24 bit big-endian format", 00058 NULL, CODEC_ID_PCM_S24BE) 00059 00060 PCMDEF(s24le, "PCM signed 24 bit little-endian format", 00061 NULL, CODEC_ID_PCM_S24LE) 00062 00063 PCMDEF(s16be, "PCM signed 16 bit big-endian format", 00064 AV_NE("sw", NULL), CODEC_ID_PCM_S16BE) 00065 00066 PCMDEF(s16le, "PCM signed 16 bit little-endian format", 00067 AV_NE(NULL, "sw"), CODEC_ID_PCM_S16LE) 00068 00069 PCMDEF(s8, "PCM signed 8 bit format", 00070 "sb", CODEC_ID_PCM_S8) 00071 00072 PCMDEF(u32be, "PCM unsigned 32 bit big-endian format", 00073 NULL, CODEC_ID_PCM_U32BE) 00074 00075 PCMDEF(u32le, "PCM unsigned 32 bit little-endian format", 00076 NULL, CODEC_ID_PCM_U32LE) 00077 00078 PCMDEF(u24be, "PCM unsigned 24 bit big-endian format", 00079 NULL, CODEC_ID_PCM_U24BE) 00080 00081 PCMDEF(u24le, "PCM unsigned 24 bit little-endian format", 00082 NULL, CODEC_ID_PCM_U24LE) 00083 00084 PCMDEF(u16be, "PCM unsigned 16 bit big-endian format", 00085 AV_NE("uw", NULL), CODEC_ID_PCM_U16BE) 00086 00087 PCMDEF(u16le, "PCM unsigned 16 bit little-endian format", 00088 AV_NE(NULL, "uw"), CODEC_ID_PCM_U16LE) 00089 00090 PCMDEF(u8, "PCM unsigned 8 bit format", 00091 "ub", CODEC_ID_PCM_U8) 00092 00093 PCMDEF(alaw, "PCM A-law format", 00094 "al", CODEC_ID_PCM_ALAW) 00095 00096 PCMDEF(mulaw, "PCM mu-law format", 00097 "ul", CODEC_ID_PCM_MULAW)