Am 22.02.2017 um 23:46 schrieb Marton Balint: > diff --git a/doc/outdevs.texi b/doc/outdevs.texi > index e68653f..df41cc8 100644 > --- a/doc/outdevs.texi > +++ b/doc/outdevs.texi > @@ -131,8 +131,8 @@ and @code{--extra-ldflags}. > On Windows, you need to run the IDL files through @command{widl}. > > DeckLink is very picky about the formats it supports. Pixel format is always > -uyvy422, framerate and video size must be determined for your device with > -@command{-list_formats 1}. Audio sample rate is always 48 kHz. > +uyvy422, framerate, field order and video size must be determined for your > +device with @command{-list_formats 1}. Audio sample rate is always 48 kHz.
The "@mode" syntax does not work for output devices. Let me add a patch, I will send it tonight. > diff --git a/libavdevice/decklink_common.cpp b/libavdevice/decklink_common.cpp > @@ -187,18 +201,21 @@ int ff_decklink_set_format(AVFormatContext *avctx, > BMDTimeValue bmd_tb_num, bmd_tb_den; > int bmd_width = mode->GetWidth(); > int bmd_height = mode->GetHeight(); > + BMDFieldDominance bmd_field_dominance = mode->GetFieldDominance(); > > mode->GetFrameRate(&bmd_tb_num, &bmd_tb_den); > AVRational mode_tb = av_make_q(bmd_tb_num, bmd_tb_den); > > - if ((bmd_width == width && bmd_height == height && > - !av_cmp_q(mode_tb, target_tb)) || i == num) { > + if ((bmd_width == width && > + bmd_height == height && > + !av_cmp_q(mode_tb, target_tb) && > + field_order_eq(field_order, bmd_field_dominance)) || i == num) { I worked on the same thing in the past days and had the following in mind: if ((!num && bmd_width == width && bmd_height == height && !av_cmp_q(mode_tb, target_tb) && field_order_eq(field_order, bmd_field_dominance)) || i == num) { So you can disable the "autodetect" when you explicitly specify a mode number. Matthias _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel