mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
lavc: introduce av_get_pcm_codec.
This commit is contained in:
parent
4217dfe87b
commit
9cbf17e9af
@ -13,6 +13,9 @@ libavutil: 2011-04-18
|
||||
|
||||
API changes, most recent first:
|
||||
|
||||
2012-02-21 - xxxxxxx - lavc 54.4.100
|
||||
Add av_get_pcm_codec() function.
|
||||
|
||||
2012-02-16 - xxxxxxx - libswr 0.7.100
|
||||
Add swr_set_matrix() function.
|
||||
|
||||
|
@ -4055,6 +4055,14 @@ void avcodec_default_free_buffers(AVCodecContext *s);
|
||||
*/
|
||||
int av_get_bits_per_sample(enum CodecID codec_id);
|
||||
|
||||
/**
|
||||
* Return the PCM codec associated with a sample format.
|
||||
* @param be endianness, 0 for little, 1 for big,
|
||||
* -1 (or anything else) for native
|
||||
* @return CODEC_ID_PCM_* or CODEC_ID_NONE
|
||||
*/
|
||||
enum CodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be);
|
||||
|
||||
/* frame parsing */
|
||||
typedef struct AVCodecParserContext {
|
||||
void *priv_data;
|
||||
|
@ -1902,6 +1902,27 @@ int av_get_bits_per_sample(enum CodecID codec_id){
|
||||
}
|
||||
}
|
||||
|
||||
enum CodecID av_get_pcm_codec(enum AVSampleFormat fmt, int be)
|
||||
{
|
||||
static const enum CodecID map[AV_SAMPLE_FMT_NB][2] = {
|
||||
[AV_SAMPLE_FMT_U8 ] = { CODEC_ID_PCM_U8, CODEC_ID_PCM_U8 },
|
||||
[AV_SAMPLE_FMT_S16 ] = { CODEC_ID_PCM_S16LE, CODEC_ID_PCM_S16BE },
|
||||
[AV_SAMPLE_FMT_S32 ] = { CODEC_ID_PCM_S32LE, CODEC_ID_PCM_S32BE },
|
||||
[AV_SAMPLE_FMT_FLT ] = { CODEC_ID_PCM_F32LE, CODEC_ID_PCM_F32BE },
|
||||
[AV_SAMPLE_FMT_DBL ] = { CODEC_ID_PCM_F64LE, CODEC_ID_PCM_F64BE },
|
||||
[AV_SAMPLE_FMT_U8P ] = { CODEC_ID_PCM_U8, CODEC_ID_PCM_U8 },
|
||||
[AV_SAMPLE_FMT_S16P] = { CODEC_ID_PCM_S16LE, CODEC_ID_PCM_S16BE },
|
||||
[AV_SAMPLE_FMT_S32P] = { CODEC_ID_PCM_S32LE, CODEC_ID_PCM_S32BE },
|
||||
[AV_SAMPLE_FMT_FLTP] = { CODEC_ID_PCM_F32LE, CODEC_ID_PCM_F32BE },
|
||||
[AV_SAMPLE_FMT_DBLP] = { CODEC_ID_PCM_F64LE, CODEC_ID_PCM_F64BE },
|
||||
};
|
||||
if (fmt < 0 || fmt >= AV_SAMPLE_FMT_NB)
|
||||
return CODEC_ID_NONE;
|
||||
if (be < 0 || be > 1)
|
||||
be = AV_NE(1, 0);
|
||||
return map[fmt][be];
|
||||
}
|
||||
|
||||
#if !HAVE_THREADS
|
||||
int ff_thread_init(AVCodecContext *s){
|
||||
return -1;
|
||||
|
@ -21,8 +21,8 @@
|
||||
#define AVCODEC_VERSION_H
|
||||
|
||||
#define LIBAVCODEC_VERSION_MAJOR 54
|
||||
#define LIBAVCODEC_VERSION_MINOR 3
|
||||
#define LIBAVCODEC_VERSION_MICRO 101
|
||||
#define LIBAVCODEC_VERSION_MINOR 4
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user