[FFmpeg-devel] [PATCH] libavcodec/utils: av_get_exact_bits_per_sample fixed to return "1" for DSD codecs.

Ihar A. Tumashyk itumashyk at gmail.com
Sat Aug 1 00:52:17 CEST 2015


All DSD codes have 1 bit per sample.
https://en.wikipedia.org/wiki/Direct_Stream_Digital

Signed-off-by: Ihar A. Tumashyk <itumashyk at gmail.com>
---
 libavcodec/utils.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 5dbd0cf..52bfe01 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -3311,6 +3311,11 @@ void avcodec_flush_buffers(AVCodecContext *avctx)
 int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
 {
     switch (codec_id) {
+    case AV_CODEC_ID_DSD_LSBF:
+    case AV_CODEC_ID_DSD_MSBF:
+    case AV_CODEC_ID_DSD_LSBF_PLANAR:
+    case AV_CODEC_ID_DSD_MSBF_PLANAR:
+        return 1;
     case AV_CODEC_ID_8SVX_EXP:
     case AV_CODEC_ID_8SVX_FIB:
     case AV_CODEC_ID_ADPCM_CT:
@@ -3321,10 +3326,6 @@ int av_get_exact_bits_per_sample(enum AVCodecID codec_id)
     case AV_CODEC_ID_ADPCM_G722:
     case AV_CODEC_ID_ADPCM_YAMAHA:
         return 4;
-    case AV_CODEC_ID_DSD_LSBF:
-    case AV_CODEC_ID_DSD_MSBF:
-    case AV_CODEC_ID_DSD_LSBF_PLANAR:
-    case AV_CODEC_ID_DSD_MSBF_PLANAR:
     case AV_CODEC_ID_PCM_ALAW:
     case AV_CODEC_ID_PCM_MULAW:
     case AV_CODEC_ID_PCM_S8:
-- 
2.1.4



More information about the ffmpeg-devel mailing list