On Tue, Aug 29, 2017 at 11:02:32AM +0200, wm4 wrote:
> On Tue, 29 Aug 2017 02:13:19 +0200
> Michael Niedermayer <mich...@niedermayer.cc> wrote:
> 
> > Signed-off-by: Michael Niedermayer <mich...@niedermayer.cc>
> > ---
> >  libavformat/mxfenc.c | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
> > index 12fc9abbc6..ccfa0d6341 100644
> > --- a/libavformat/mxfenc.c
> > +++ b/libavformat/mxfenc.c
> > @@ -322,6 +322,7 @@ typedef struct MXFContext {
> >      uint8_t umid[16];        ///< unique material identifier
> >      int channel_count;
> >      int signal_standard;
> > +    int color_siting;
> >      uint32_t tagged_value_count;
> >      AVRational audio_edit_rate;
> >      int store_user_comments;
> > @@ -2085,6 +2086,8 @@ static int mxf_write_header(AVFormatContext *s)
> >              case AVCHROMA_LOC_TOP:     sc->color_siting = 1; break;
> >              case AVCHROMA_LOC_CENTER:  sc->color_siting = 3; break;
> >              }
> > +            if (mxf->color_siting >= 0)
> > +                sc->color_siting = mxf->color_siting;
> >  
> >              mxf->timecode_base = (tbc.den + tbc.num/2) / tbc.num;
> >              spf = ff_mxf_get_samples_per_frame(s, tbc);
> > @@ -2668,7 +2671,9 @@ static int mxf_interleave(AVFormatContext *s, 
> > AVPacket *out, AVPacket *pkt, int
> >      { "smpte349m", "SMPTE 349M (1485 Mbps mappings)",\
> >        0, AV_OPT_TYPE_CONST, {.i64 = 6}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, 
> > "signal_standard"},\
> >      { "smpte428", "SMPTE 428-1 DCDM",\
> > -      0, AV_OPT_TYPE_CONST, {.i64 = 7}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, 
> > "signal_standard"},
> > +      0, AV_OPT_TYPE_CONST, {.i64 = 7}, -1, 7, AV_OPT_FLAG_ENCODING_PARAM, 
> > "signal_standard"},\
> > +    { "color_siting", "Force/set Color siting",\
> > +      offsetof(MXFContext, color_siting), AV_OPT_TYPE_INT, {.i64 = -1}, 
> > -1, 7, AV_OPT_FLAG_ENCODING_PARAM, "color_siting"},\
> >  
> >  
> >  
> 
> What an absurd patch. This should be done by generic code overriding
> the chroma_location field on AVFrames sent to the encoders. We don't
> need inconsistent private options for an inconsistent set of encoders
> to override generic parameters in an inconsistent way. What's even the
> point?

The point of this change is to be able to set any color siting value.
MXF has some redundant values. The fields from AVFrame are not enough
to choose this unless we want MXF specific information in AVFrames

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Freedom in capitalist society always remains about the same as it was in
ancient Greek republics: Freedom for slave owners. -- Vladimir Lenin

Attachment: signature.asc
Description: Digital signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to