1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
FFmpeg/libavformat/pcmenc.c
Michael Niedermayer b5da7d4c1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Drop pointless "format" from container long names
  swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.
  wv: K&R formatting cosmetics
  configure: Add missing descriptions to help output
  h264_ps: declare array of colorspace strings on its own line.
  fate: amix: specify f32 sample format for comparison
  tiny_psnr: support 32-bit float samples
  eamad/eatgq/eatqi: call special EA IDCT directly
  eamad: remove use of MpegEncContext
  mpegvideo: remove unnecessary inclusions of faandct.h
  af_asyncts: avoid overflow in out_size with large delta values
  af_asyncts: add first_pts option

Conflicts:
	configure
	libavcodec/eamad.c
	libavcodec/h264_ps.c
	libavformat/crcenc.c
	libavformat/ffmdec.c
	libavformat/ffmenc.c
	libavformat/framecrcenc.c
	libavformat/md5enc.c
	libavformat/nutdec.c
	libavformat/rawenc.c
	libavformat/yuv4mpeg.c
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 23:28:31 +02:00

95 lines
3.0 KiB
C

/*
* RAW PCM muxers
* Copyright (c) 2002 Fabrice Bellard
*
* This file is part of FFmpeg.
*
* FFmpeg is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* FFmpeg is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with FFmpeg; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "avformat.h"
#include "rawenc.h"
#define PCMDEF(name_, long_name_, ext, codec) \
AVOutputFormat ff_pcm_ ## name_ ## _muxer = { \
.name = #name_, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
.extensions = ext, \
.audio_codec = codec, \
.video_codec = CODEC_ID_NONE, \
.write_packet = ff_raw_write_packet, \
.flags = AVFMT_NOTIMESTAMPS, \
};
PCMDEF(f64be, "PCM 64-bit floating-point big-endian",
NULL, CODEC_ID_PCM_F64BE)
PCMDEF(f64le, "PCM 64-bit floating-point little-endian",
NULL, CODEC_ID_PCM_F64LE)
PCMDEF(f32be, "PCM 32-bit floating-point big-endian",
NULL, CODEC_ID_PCM_F32BE)
PCMDEF(f32le, "PCM 32-bit floating-point little-endian",
NULL, CODEC_ID_PCM_F32LE)
PCMDEF(s32be, "PCM signed 32-bit big-endian",
NULL, CODEC_ID_PCM_S32BE)
PCMDEF(s32le, "PCM signed 32-bit little-endian",
NULL, CODEC_ID_PCM_S32LE)
PCMDEF(s24be, "PCM signed 24-bit big-endian",
NULL, CODEC_ID_PCM_S24BE)
PCMDEF(s24le, "PCM signed 24-bit little-endian",
NULL, CODEC_ID_PCM_S24LE)
PCMDEF(s16be, "PCM signed 16-bit big-endian",
AV_NE("sw", NULL), CODEC_ID_PCM_S16BE)
PCMDEF(s16le, "PCM signed 16-bit little-endian",
AV_NE(NULL, "sw"), CODEC_ID_PCM_S16LE)
PCMDEF(s8, "PCM signed 8-bit",
"sb", CODEC_ID_PCM_S8)
PCMDEF(u32be, "PCM unsigned 32-bit big-endian",
NULL, CODEC_ID_PCM_U32BE)
PCMDEF(u32le, "PCM unsigned 32-bit little-endian",
NULL, CODEC_ID_PCM_U32LE)
PCMDEF(u24be, "PCM unsigned 24-bit big-endian",
NULL, CODEC_ID_PCM_U24BE)
PCMDEF(u24le, "PCM unsigned 24-bit little-endian",
NULL, CODEC_ID_PCM_U24LE)
PCMDEF(u16be, "PCM unsigned 16-bit big-endian",
AV_NE("uw", NULL), CODEC_ID_PCM_U16BE)
PCMDEF(u16le, "PCM unsigned 16-bit little-endian",
AV_NE(NULL, "uw"), CODEC_ID_PCM_U16LE)
PCMDEF(u8, "PCM unsigned 8-bit",
"ub", CODEC_ID_PCM_U8)
PCMDEF(alaw, "PCM A-law",
"al", CODEC_ID_PCM_ALAW)
PCMDEF(mulaw, "PCM mu-law",
"ul", CODEC_ID_PCM_MULAW)