aboutsummaryrefslogtreecommitdiffstats
path: root/libavutil
diff options
context:
space:
mode:
authorStefano Sabatini <stefano.sabatini-lala@poste.it>2011-06-06 01:14:50 +0200
committerJustin Ruggles <justin.ruggles@gmail.com>2011-06-07 13:06:41 -0400
commita6703faa157294efb75619f55c06d7ed5a0aa2bf (patch)
treeec47ec652746522f8c1454e75e0fac315026a54a /libavutil
parent2f37321abcbf9be5f58647b17155c0e257949c0d (diff)
downloadffmpeg-a6703faa157294efb75619f55c06d7ed5a0aa2bf.tar.gz
samplefmt: add av_get_bytes_per_sample()
Deprecate av_get_bits_per_sample_fmt(), which was a misnamed function. For the moment we don't have sample formats with a non-integer number of bytes, in that case we may need to create a new av_get_bits_per_sample() function. In the meanwhile we prefer to adopt this variant, since avoids divisions by 8 all over the place.
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/avutil.h5
-rw-r--r--libavutil/samplefmt.c8
-rw-r--r--libavutil/samplefmt.h16
3 files changed, 25 insertions, 4 deletions
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index 5085a6dd0b..8536790109 100644
--- a/libavutil/avutil.h
+++ b/libavutil/avutil.h
@@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 51
-#define LIBAVUTIL_VERSION_MINOR 3
+#define LIBAVUTIL_VERSION_MINOR 4
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
@@ -57,6 +57,9 @@
* Those FF_API_* defines are not part of public API.
* They may change, break or disappear at any time.
*/
+#ifndef FF_API_GET_BITS_PER_SAMPLE_FMT
+#define FF_API_GET_BITS_PER_SAMPLE_FMT (LIBAVUTIL_VERSION_MAJOR < 52)
+#endif
/**
* Return the LIBAVUTIL_VERSION_INT constant.
diff --git a/libavutil/samplefmt.c b/libavutil/samplefmt.c
index 06b50d9bd9..5b0bfa0257 100644
--- a/libavutil/samplefmt.c
+++ b/libavutil/samplefmt.c
@@ -66,8 +66,16 @@ char *av_get_sample_fmt_string (char *buf, int buf_size, enum AVSampleFormat sam
return buf;
}
+int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt)
+{
+ return sample_fmt < 0 || sample_fmt >= AV_SAMPLE_FMT_NB ?
+ 0 : sample_fmt_info[sample_fmt].bits >> 3;
+}
+
+#if FF_API_GET_BITS_PER_SAMPLE_FMT
int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt)
{
return sample_fmt < 0 || sample_fmt >= AV_SAMPLE_FMT_NB ?
0 : sample_fmt_info[sample_fmt].bits;
}
+#endif
diff --git a/libavutil/samplefmt.h b/libavutil/samplefmt.h
index 2326f4a11a..e38214927f 100644
--- a/libavutil/samplefmt.h
+++ b/libavutil/samplefmt.h
@@ -19,6 +19,8 @@
#ifndef AVUTIL_SAMPLEFMT_H
#define AVUTIL_SAMPLEFMT_H
+#include "avutil.h"
+
/**
* all in native-endian format
*/
@@ -58,13 +60,21 @@ enum AVSampleFormat av_get_sample_fmt(const char *name);
*/
char *av_get_sample_fmt_string(char *buf, int buf_size, enum AVSampleFormat sample_fmt);
+#if FF_API_GET_BITS_PER_SAMPLE_FMT
+/**
+ * @deprecated Use av_get_bytes_per_sample() instead.
+ */
+attribute_deprecated
+int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt);
+#endif
+
/**
- * Return sample format bits per sample.
+ * Return number of bytes per sample.
*
* @param sample_fmt the sample format
- * @return number of bits per sample or zero if unknown for the given
+ * @return number of bytes per sample or zero if unknown for the given
* sample format
*/
-int av_get_bits_per_sample_fmt(enum AVSampleFormat sample_fmt);
+int av_get_bytes_per_sample(enum AVSampleFormat sample_fmt);
#endif /* AVUTIL_SAMPLEFMT_H */