decklink: deprecate PsF in/out options

Since now the options can be specified generically by FourCC 'cfpr' (capture) and 'pfpr'
(display), there is no need to have this explicitly.

Also it doesn't seem to be much useful (at least with the PsF stream from
XDCAM, the stream is detected to be interlaced, not progressive, even
though decklink reports BMDDeckLinkSupportsAutoSwitchingPPsFOnInput=yes).
This commit is contained in:
Martin Pulec
2025-05-06 11:00:23 +02:00
parent 26031495f4
commit 319cfdeef6
2 changed files with 7 additions and 5 deletions

View File

@@ -573,10 +573,6 @@ decklink_help(bool full, const char *query_prop_fcc = nullptr)
col() << "\tIncoming signal should be treated as progressive even if detected as interlaced (PsF).\n";
col() << "\n";
col() << SBOLD("Use1080PsF[=true|false]") << "\n";
col() << "\tIncoming signal should be treated as PsF instead of progressive.\n";
col() << "\n";
col() << SBOLD("nosig-send") << "\n";
col() << "\tSend video even if no signal was detected (useful when video interrupts\n"
"\tbut the video stream needs to be preserved, eg. to keep sync with audio).\n";
@@ -602,6 +598,8 @@ decklink_help(bool full, const char *query_prop_fcc = nullptr)
col() << SBOLD("\taacl[=no]")
<< "\tset analog audio levels to maximum gain "
"(consumer audio level)\n";
col() << SBOLD("\tcfpr[=no]")
<< "\tincoming signal should be treated as PsF instead of progressive\n";
col() << "\n";
} else {
col() << "(other options available, use \"" << SBOLD("fullhelp") << "\" to see complete list of options)\n\n";
@@ -771,6 +769,7 @@ static bool parse_option(struct vidcap_decklink_state *s, const char *opt)
} else if (strcasecmp(opt, "p_not_i") == 0) {
s->p_not_i = true;
} else if (strstr(opt, "Use1080PsF") != nullptr) {
MSG(WARNING, "Use1080PsF deprecated, use 'cfpr[=no] instead\n");
s->device_options[bmdDeckLinkConfigCapture1080pAsPsF].set_flag(strchr(opt, '=') == nullptr || strcasecmp(strchr(opt, '='), "false") != 0);
} else if (strncasecmp(opt, "passthrough", 4) == 0 ||
strncasecmp(opt, "nopassthrough", 6) == 0) {

View File

@@ -584,6 +584,8 @@ show_help(bool full, const char *query_prop_fcc = nullptr)
<< "\tset maximum analog audio attenuation (consumer line level)\n";
col() << SBOLD("\t\tvoio=blac|lafa")
<< "\tdisplay either black or last frame when idle\n";
col() << SBOLD("\t\tpfpr[=no]")
<< "\tuse of PsF on output instead of progressive (no for the opposite)\n";
if (!full) {
col() << SBOLD("\tconversion") << "\toutput size conversion, use '-d decklink:fullhelp' for list of conversions\n";
@@ -616,7 +618,6 @@ show_help(bool full, const char *query_prop_fcc = nullptr)
SBOLD("\t\tup1i") << " - simultaneous output of SD and up-converted pollarbox 1080i\n";
col() << SBOLD("\tHDMI3DPacking") << " can be (used in conjunction with \"3D\" option):\n" <<
SBOLD("\t\tSideBySideHalf, LineByLine, TopAndBottom, FramePacking, LeftOnly, RightOnly\n");
col() << SBOLD("\tUse1080PsF[=true|false|keep]") << " flag sets use of PsF on output instead of progressive (default is false)\n";
col() << SBOLD("\tprofile=<P>") << "\tuse desired device profile:\n";
print_bmd_device_profiles("\t\t");
col() << SBOLD("\tconnection=<conn>") << " set output video connection (usually unneeded)\n";
@@ -1283,6 +1284,8 @@ static bool settings_init(struct state_decklink *s, const char *fmt,
} else if (IS_KEY_PREFIX(ptr, "conversion")) {
s->device_options[bmdDeckLinkConfigVideoOutputConversionMode].parse(strchr(ptr, '=') + 1);
} else if (is_prefix_of(ptr, "Use1080pNotPsF") || is_prefix_of(ptr, "Use1080PsF")) {
MSG(WARNING, "Use1080pNotPsF/Use1080PsF deprecated, "
"use 'pfpr[=no] instead\n");
s->device_options[bmdDeckLinkConfigOutput1080pAsPsF].parse(strchr(ptr, '=') + 1);
if (strncasecmp(ptr, "Use1080pNotPsF", strlen("Use1080pNotPsF")) == 0) { // compat, inverse
s->device_options[bmdDeckLinkConfigOutput1080pAsPsF].set_flag(s->device_options[bmdDeckLinkConfigOutput1080pAsPsF].get_flag());