[FFmpeg-cvslog] samplefmt: add av_get_bytes_per_sample()
Stefano Sabatini
git at videolan.org
Wed Jun 8 05:31:35 CEST 2011
ffmpeg | branch: master | Stefano Sabatini <stefano.sabatini-lala at poste.it> | Mon Jun 6 01:14:50 2011 +0200| [a6703faa157294efb75619f55c06d7ed5a0aa2bf] | committer: Justin Ruggles
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a6703faa157294efb75619f55c06d7ed5a0aa2bf
---
doc/APIchanges | 4 ++++
libavutil/avutil.h | 5 ++++-
libavutil/samplefmt.c | 8 ++++++++
libavutil/samplefmt.h | 16 +++++++++++++---
4 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index 77eb6d2..1133397 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -13,6 +13,10 @@ libavutil: 2011-04-18
API changes, most recent first:
+2011-06-07 - xxxxxxx - lavu 51.4.0 - av_get_bytes_per_sample()
+ Add av_get_bytes_per_sample() in libavutil/samplefmt.h.
+ Deprecate av_get_bits_per_sample_fmt().
+
2011-06-xx - xxxxxxx - lavu 51.3.0 - opt.h
Add av_opt_free convenience function.
diff --git a/libavutil/avutil.h b/libavutil/avutil.h
index 5085a6d..8536790 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 06b50d9..5b0bfa0 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 2326f4a..e382149 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 */
More information about the ffmpeg-cvslog
mailing list