33 * @author Martin Pulec <pulec@cesnet.cz>
44 *
55 * This file contains multiple temporal deinterlacers (doubling frame-rate):
6- * 1. double-framerate
7- * 2. bob
8- * 2 . linear
6+ * 1. double_framerate - field interleaver, actual deinterlace as an option
7+ * 2. bob - doubles field lines
8+ * 3 . linear - like bob but interpolates missing lines from adjacent
99 */
1010/*
11- * Copyright (c) 2012-2023 CESNET, z. s. p. o.
11+ * Copyright (c) 2012-2026 CESNET, zájmové sdružení právnických osob
1212 * All rights reserved.
1313 *
1414 * Redistribution and use in source and binary forms, with or without
@@ -79,16 +79,18 @@ static void print_common_opts() {
7979
8080static void df_usage ()
8181{
82- char desc [] = TBOLD ("double-framerate" ) " is an interleaver that "
83- "creates creates a progressive stream by consecutive "
84- "interleaving fields, eg. f1f2f3f4f5f6 -> \"f1-- f1f2 f3f2 "
85- "f3f4 f5f4 f5f6 --f6\". So saw-like artifacts will still occur "
86- "and blending can be used.\n\n" ;
82+ char desc [] = TBOLD ("double_framerate" )
83+ " is an interleaver that creates a progressive stream by "
84+ "consecutive interleaving fields, eg. f1f2f3f4f5f6 -> "
85+ "\"f1-- f1f2 f3f2 f3f4 f5f4 f5f6 --f6\".\n\n"
86+ "Saw-like interlacing artifacts will still occur "
87+ "- use " TBOLD (":d" )
88+ " to deinterlace (blend).\n\n" ;
8789 color_printf ("%s" , wrap_paragraph (desc ));
8890 color_printf ("Usage:\n" );
8991 color_printf ("\t" TBOLD (TRED ("-p double_framerate" ) "[:d][:nodelay]" ) "\n" );
9092 color_printf ("\nwhere:\n" );
91- color_printf ("\t" TBOLD ("d " ) " - blend the output\n" );
93+ color_printf ("\t" TBOLD ("d " ) " - deintrlace the output (linear blend) \n" );
9294 print_common_opts ();
9395}
9496
@@ -111,6 +113,10 @@ static void * init_common(enum algo algo, const char *config) {
111113 struct state_df * s = calloc (1 , sizeof * s );
112114 assert (s != NULL );
113115 s -> algo = algo ;
116+ if (algo == DF || !deinterlace ) {
117+ MSG (WARNING , "double_framerate without deinterlacing - "
118+ "consider adding ':d' option\n" );
119+ }
114120
115121 s -> in = vf_alloc (1 );
116122 s -> buffers [0 ] = s -> buffers [1 ] = NULL ;
0 commit comments