# HG changeset patch # User conrad # Date 1186982618 0 # Node ID 3d10c3e84f96d710f0845cfca3d9aec4217ed0ab # Parent 44e140e3cd6a59d23e01a7dd8d2abc4539a45f0b Add av_get_bits_per_sample_format() diff -r 44e140e3cd6a -r 3d10c3e84f96 avcodec.h --- a/avcodec.h Mon Aug 13 01:06:04 2007 +0000 +++ b/avcodec.h Mon Aug 13 05:23:38 2007 +0000 @@ -33,8 +33,8 @@ #define AV_STRINGIFY(s) AV_TOSTRING(s) #define AV_TOSTRING(s) #s -#define LIBAVCODEC_VERSION_INT ((51<<16)+(40<<8)+4) -#define LIBAVCODEC_VERSION 51.40.4 +#define LIBAVCODEC_VERSION_INT ((51<<16)+(41<<8)+0) +#define LIBAVCODEC_VERSION 51.41.0 #define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT #define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) @@ -2706,6 +2706,14 @@ */ int av_get_bits_per_sample(enum CodecID codec_id); +/** + * Returns sample format bits per sample. + * + * @param[in] sample_fmt the sample format + * @return Number of bits per sample or zero if unknown for the given sample format. + */ +int av_get_bits_per_sample_format(enum SampleFormat sample_fmt); + /* frame parsing */ typedef struct AVCodecParserContext { void *priv_data; diff -r 44e140e3cd6a -r 3d10c3e84f96 utils.c --- a/utils.c Mon Aug 13 01:06:04 2007 +0000 +++ b/utils.c Mon Aug 13 05:23:38 2007 +0000 @@ -1322,6 +1322,22 @@ } } +int av_get_bits_per_sample_format(enum SampleFormat sample_fmt) { + switch (sample_fmt) { + case SAMPLE_FMT_U8: + return 8; + case SAMPLE_FMT_S16: + return 16; + case SAMPLE_FMT_S24: + return 24; + case SAMPLE_FMT_S32: + case SAMPLE_FMT_FLT: + return 32; + default: + return 0; + } +} + #if !defined(HAVE_THREADS) int avcodec_thread_init(AVCodecContext *s, int thread_count){ return -1;