changeset 5537:3d10c3e84f96 libavcodec

Add av_get_bits_per_sample_format()
author conrad
date Mon, 13 Aug 2007 05:23:38 +0000
parents 44e140e3cd6a
children 33a32de3c1bc
files avcodec.h utils.c
diffstat 2 files changed, 26 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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;