[FFmpeg-cvslog] avformat/mxfenc: Set the component depth from the pixel format if available

Michael Niedermayer git at videolan.org
Mon May 18 11:09:31 CEST 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat May 16 19:59:18 2015 +0200| [58afb3128bc650dbc22ae0a8d167be24d8863dfe] | committer: Michael Niedermayer

avformat/mxfenc: Set the component depth from the pixel format if available

Reviewed-by: tim nicholson <nichot20 at yahoo.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=58afb3128bc650dbc22ae0a8d167be24d8863dfe
---

 libavformat/mxfenc.c |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index 5966792..14449c9 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -39,6 +39,7 @@
 #include "libavutil/random_seed.h"
 #include "libavutil/timecode.h"
 #include "libavutil/avassert.h"
+#include "libavutil/pixdesc.h"
 #include "libavutil/time_internal.h"
 #include "libavcodec/bytestream.h"
 #include "libavcodec/dnxhddata.h"
@@ -2029,10 +2030,16 @@ static int mxf_write_header(AVFormatContext *s)
         }
 
         if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
+            const AVPixFmtDescriptor *pix_desc = av_pix_fmt_desc_get(st->codec->pix_fmt);
             // TODO: should be avg_frame_rate
             AVRational rate, tbc = st->time_base;
             // Default component depth to 8
             sc->component_depth = 8;
+
+            if (pix_desc) {
+                sc->component_depth = pix_desc->comp[0].depth_minus1 + 1;
+            }
+
             mxf->timecode_base = (tbc.den + tbc.num/2) / tbc.num;
             spf = ff_mxf_get_samples_per_frame(s, tbc);
             if (!spf) {



More information about the ffmpeg-cvslog mailing list