edl plugin names eng, fix segv for opengl brender, renderfarm rework strategy, perf...
[goodguy/history.git] / cinelerra-5.1 / plugins / ivtc / ivtc.C
index f85c3a7ae5647c2b7888a6fb00e7b214ed4df8d9..fc74ad0ef95f16d7906d6e19cacf4083e5406270 100644 (file)
@@ -2,21 +2,21 @@
 /*
  * CINELERRA
  * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
- * 
+ *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
- * 
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
- * 
+ *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * 
+ *
  */
 
 #include "clip.h"
@@ -31,7 +31,7 @@
 
 
 #if 0
-static const char *pattern_text[] = 
+static const char *pattern_text[] =
 {
        N_("A  B  BC  CD  D"),
        N_("AB  BC  CD  DE  EF"),
@@ -53,7 +53,7 @@ IVTCConfig::IVTCConfig()
 IVTCMain::IVTCMain(PluginServer *server)
  : PluginVClient(server)
 {
-       
+
        engine = 0;
        previous_min = 0x4000000000000000LL;
        previous_strategy = 0;
@@ -61,7 +61,7 @@ IVTCMain::IVTCMain(PluginServer *server)
 
 IVTCMain::~IVTCMain()
 {
-       
+
 
        if(engine)
        {
@@ -73,7 +73,7 @@ IVTCMain::~IVTCMain()
        }
 }
 
-const char* IVTCMain::plugin_title() { return _("Inverse Telecine"); }
+const char* IVTCMain::plugin_title() { return N_("Inverse Telecine"); }
 int IVTCMain::is_realtime() { return 1; }
 
 
@@ -157,7 +157,7 @@ int IVTCMain::process_realtime(VFrame *input_ptr, VFrame *output_ptr)
        {
                temp_frame[0] = 0;
                temp_frame[1] = 0;
-       
+
                engine = new IVTCEngine(this, smp + 1);
        }
 
@@ -165,18 +165,12 @@ int IVTCMain::process_realtime(VFrame *input_ptr, VFrame *output_ptr)
        int pattern_position = (PluginClient::source_position + config.frame_offset) % 5;
 
 //printf("IVTCMain::process_realtime %d %d\n", pattern_position, config.first_field);
-       if(!temp_frame[0]) temp_frame[0] = new VFrame(0,
-               -1,
-               input_ptr->get_w(),
-               input_ptr->get_h(),
-               input_ptr->get_color_model(),
-               -1);
-       if(!temp_frame[1]) temp_frame[1] = new VFrame(0,
-               -1,
-               input_ptr->get_w(),
-               input_ptr->get_h(),
-               input_ptr->get_color_model(),
-               -1);
+       if(!temp_frame[0])
+               temp_frame[0] = new VFrame(input_ptr->get_w(), input_ptr->get_h(),
+                       input_ptr->get_color_model(), 0);
+       if(!temp_frame[1])
+               temp_frame[1] = new VFrame(input_ptr->get_w(), input_ptr->get_h(),
+                       input_ptr->get_color_model(), 0);
 
        int row_size = VFrame::calculate_bytes_per_pixel(input_ptr->get_color_model()) * input_ptr->get_w();
        this->input = input_ptr;
@@ -244,7 +238,7 @@ int IVTCMain::process_realtime(VFrame *input_ptr, VFrame *output_ptr)
        else
        if(config.pattern == IVTCConfig::AUTOMATIC)
        {
-// Compare averaged rows with original rows and 
+// Compare averaged rows with original rows and
 // with previous rows.
 // Take rows which are most similar to the averaged rows.
 // Process frame.
@@ -273,7 +267,7 @@ int IVTCMain::process_realtime(VFrame *input_ptr, VFrame *output_ptr)
 
 
 // First strategy.
-// Even lines from previous frame are more similar to 
+// Even lines from previous frame are more similar to
 // averaged even lines in current frame.
 // Take even lines from previous frame
                min = even_vs_prev;
@@ -585,7 +579,7 @@ void IVTCUnit::process_package(LoadPackage *package)
                        IVTC_MACRO(uint16_t, int, 4, 1);
                        break;
        }
-       
+
 }