Mercurial > libavcodec.hg
diff avcodec.h @ 92:1d3eb6cdc6b5 libavcodec
added pcm codecs
author | glantau |
---|---|
date | Sun, 23 Sep 2001 17:16:51 +0000 |
parents | cdd89f96cbe1 |
children | 1e4a4af694d1 |
line wrap: on
line diff
--- a/avcodec.h Fri Sep 21 21:30:15 2001 +0000 +++ b/avcodec.h Sun Sep 23 17:16:51 2001 +0000 @@ -1,3 +1,6 @@ +#ifndef AVCODEC_H +#define AVCODEC_H + #include "common.h" enum CodecID { @@ -9,11 +12,20 @@ CODEC_ID_AC3, CODEC_ID_MJPEG, CODEC_ID_MPEG4, - CODEC_ID_PCM, CODEC_ID_RAWVIDEO, CODEC_ID_MSMPEG4, CODEC_ID_H263P, CODEC_ID_H263I, + + /* various pcm "codecs" */ + CODEC_ID_PCM_S16LE, + CODEC_ID_PCM_S16BE, + CODEC_ID_PCM_U16LE, + CODEC_ID_PCM_U16BE, + CODEC_ID_PCM_S8, + CODEC_ID_PCM_U8, + CODEC_ID_PCM_MULAW, + CODEC_ID_PCM_ALAW, }; enum CodecType { @@ -30,6 +42,11 @@ PIX_FMT_YUV444P, }; +/* currently unused, may be used if 24/32 bits samples ever supported */ +enum SampleFormat { + SAMPLE_FMT_S16 = 0, /* signed 16 bits */ +}; + /* in bytes */ #define AVCODEC_MAX_AUDIO_FRAME_SIZE 18432 @@ -74,6 +91,7 @@ /* audio only */ int sample_rate; /* samples per sec */ int channels; + int sample_fmt; /* sample format, currenly unused */ /* the following data should not be initialized */ int frame_size; /* in samples, initialized when calling 'init' */ @@ -130,13 +148,28 @@ extern AVCodec h263i_decoder; extern AVCodec rv10_decoder; extern AVCodec mjpeg_decoder; +extern AVCodec mp3_decoder; -/* dummy raw codecs */ -extern AVCodec pcm_codec; +/* pcm codecs */ +#define PCM_CODEC(id, name) \ +extern AVCodec name ## _decoder; \ +extern AVCodec name ## _encoder; + +PCM_CODEC(CODEC_ID_PCM_S16LE, pcm_s16le); +PCM_CODEC(CODEC_ID_PCM_S16BE, pcm_s16be); +PCM_CODEC(CODEC_ID_PCM_U16LE, pcm_u16le); +PCM_CODEC(CODEC_ID_PCM_U16BE, pcm_u16be); +PCM_CODEC(CODEC_ID_PCM_S8, pcm_s8); +PCM_CODEC(CODEC_ID_PCM_U8, pcm_u8); +PCM_CODEC(CODEC_ID_PCM_ALAW, pcm_alaw); +PCM_CODEC(CODEC_ID_PCM_MULAW, pcm_mulaw); + +#undef PCM_CODEC + +/* dummy raw video codec */ extern AVCodec rawvideo_codec; /* the following codecs use external GPL libs */ -extern AVCodec mp3_decoder; extern AVCodec ac3_decoder; /* resample.c */ @@ -203,3 +236,5 @@ int avcodec_close(AVCodecContext *avctx); void avcodec_register_all(void); + +#endif /* AVCODEC_H */