[FFmpeg-devel] [PATCH] avformat/mxfenc: Allow overriding /manual setting of the signal standard
Michael Niedermayer
michaelni at gmx.at
Mon Jun 8 12:45:47 CEST 2015
On Mon, Jun 08, 2015 at 09:48:33AM +0100, tim nicholson wrote:
> On 06/06/15 02:23, Michael Niedermayer wrote:
> > Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> > ---
> > libavformat/mxfenc.c | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
> > index c612747..f2a7f0a 100644
> > --- a/libavformat/mxfenc.c
> > +++ b/libavformat/mxfenc.c
> > @@ -316,6 +316,7 @@ typedef struct MXFContext {
> > uint32_t instance_number;
> > uint8_t umid[16]; ///< unique material identifier
> > int channel_count;
> > + int signal_standard;
> > uint32_t tagged_value_count;
> > AVRational audio_edit_rate;
> > } MXFContext;
> > @@ -2104,6 +2105,8 @@ static int mxf_write_header(AVFormatContext *s)
> >
> > sc->signal_standard = 1;
> > }
> > + if (mxf->signal_standard >= 0)
> > + sc->signal_standard = mxf->signal_standard;
> > } else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
> > if (st->codec->sample_rate != 48000) {
> > av_log(s, AV_LOG_ERROR, "only 48khz is implemented\n");
> > @@ -2627,7 +2630,12 @@ static int mxf_interleave(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int
> > mxf_interleave_get_packet, mxf_compare_timestamps);
> > }
> >
> > +#define COMMON_OPTIONS \
>
> nit MXF_COMMON_OPTIONS ?
> feels more comfortable to me when grepping the code etc.
>
> > + { "signal_standard", "Force/set Sigal Standard",\
> > + offsetof(MXFContext, signal_standard), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 8, AV_OPT_FLAG_ENCODING_PARAM},
> > +
>
> Isn't 07h the largest valid value (G.2.3)? Or do I misunderstand the
> constraint values? (AVOPTION not my strong point)
>
> I thought numeric options were deprecated these days in favour of more
> understandable string values, or are the string values also too obscure
> to be useful in this case? (Just wondering what the current protocol was
> on this nowadays, not a real concern in this case)
changed
>
> > static const AVOption mxf_options[] = {
> > + COMMON_OPTIONS
> > { NULL },
> > };
> >
> > @@ -2641,6 +2649,7 @@ static const AVClass mxf_muxer_class = {
> > static const AVOption d10_options[] = {
> > { "d10_channelcount", "Force/set channelcount in generic sound essence descriptor",
> > offsetof(MXFContext, channel_count), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 8, AV_OPT_FLAG_ENCODING_PARAM},
> > + COMMON_OPTIONS
> > { NULL },
> > };
> >
> > @@ -2654,6 +2663,7 @@ static const AVClass mxf_d10_muxer_class = {
> > static const AVOption opatom_options[] = {
> > { "mxf_audio_edit_rate", "Audio edit rate for timecode",
> > offsetof(MXFContext, audio_edit_rate), AV_OPT_TYPE_RATIONAL, {.dbl=25}, 0, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM },
> > + COMMON_OPTIONS
> > { NULL },
> > };
> >
> >
>
> otherwise LGTM.
applied
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150608/051099ec/attachment.asc>
More information about the ffmpeg-devel
mailing list