[FFmpeg-devel] [PATCH 1/2] avformat/mxfenc: Set the component depth from the pixel format if available

tim nicholson nichot20 at yahoo.com
Mon May 18 10:36:04 CEST 2015


On 16/05/15 19:18, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
>  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) {
> 

LGTM

-- 
Tim.
Key Fingerprint 38CF DB09 3ED0 F607 8B67 6CED 0C0B FC44 8B0B FC83


More information about the ffmpeg-devel mailing list