[FFmpeg-cvslog] matroskaenc: set the actual PCM bitdepth in the header
Hendrik Leppkes
git at videolan.org
Wed Mar 16 13:07:49 CET 2016
ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Wed Mar 16 12:39:19 2016 +0100| [c43d4858119e79db0c24f673bcbf20eb3870b307] | committer: Hendrik Leppkes
matroskaenc: set the actual PCM bitdepth in the header
The actual bitdepth can be different to the storage format (ie. sample format).
Fixes the stored bitdepth for 24-bit formats like FLAC.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c43d4858119e79db0c24f673bcbf20eb3870b307
---
libavformat/matroskaenc.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 05b1b94..6ad9aed 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -850,8 +850,12 @@ static int mkv_write_track(AVFormatContext *s, MatroskaMuxContext *mkv,
return 0;
}
- if (!bit_depth && codec->codec_id != AV_CODEC_ID_ADPCM_G726)
- bit_depth = av_get_bytes_per_sample(codec->sample_fmt) << 3;
+ if (!bit_depth && codec->codec_id != AV_CODEC_ID_ADPCM_G726) {
+ if (codec->bits_per_raw_sample)
+ bit_depth = codec->bits_per_raw_sample;
+ else
+ bit_depth = av_get_bytes_per_sample(codec->sample_fmt) << 3;
+ }
if (!bit_depth)
bit_depth = codec->bits_per_coded_sample;
More information about the ffmpeg-cvslog
mailing list