merged hv7 mod
[goodguy/history.git] / cinelerra-5.1 / plugins / interpolatevideo / opticflow.h
index f89a325c4c4dca366a791a2894b58bd54e3d4108..5a0dbefb490f1d4fa0f301e6e41d58e7d900bcda 100644 (file)
@@ -1,12 +1,12 @@
 /*
  * CINELERRA
  * Copyright (C) 1997-2011 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
  * 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
- * 
+ *
  */
+
 #ifndef OPTICFLOW_H
 #define OPTICFLOW_H
 
 
 #include "interpolatevideo.inc"
 #include "loadbalance.h"
-#include "motionscan.inc"
+#include "motioncache-hv.inc"
+#include "motionscan-hv.inc"
 #include "opticflow.inc"
 
 // Need a 2nd table if a large number of packages
@@ -33,7 +34,7 @@ class OpticFlowMacroblock
 public:
        OpticFlowMacroblock();
        void copy_from(OpticFlowMacroblock *src);
-       
+
        int x, y;
        int dx, dy;
        int is_valid;
@@ -57,7 +58,7 @@ public:
        OpticFlowUnit(OpticFlow *server);
        ~OpticFlowUnit();
        void process_package(LoadPackage *package);
-       MotionScan *motion;
+       MotionHVScan *motion;
        OpticFlow *server;
 };
 
@@ -66,13 +67,14 @@ class OpticFlow : public LoadServer
 {
 public:
        OpticFlow(InterpolateVideo *plugin,
-               int total_clients, 
+               int total_clients,
                int total_packages);
        ~OpticFlow();
        void init_packages();
        LoadClient* new_client();
        LoadPackage* new_package();
        InterpolateVideo *plugin;
+       MotionHVCache *downsample_cache;
 };
 
 
@@ -104,7 +106,7 @@ class Warp : public LoadServer
 {
 public:
        Warp(InterpolateVideo *plugin,
-               int total_clients, 
+               int total_clients,
                int total_packages);
        ~Warp();
        void init_packages();
@@ -141,7 +143,7 @@ class BlendMacroblock : public LoadServer
 {
 public:
        BlendMacroblock(InterpolateVideo *plugin,
-               int total_clients, 
+               int total_clients,
                int total_packages);
        ~BlendMacroblock();
        void init_packages();