projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
apply sge motion plugin mods
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
plugins
/
motion
/
motion.h
diff --git
a/cinelerra-5.1/plugins/motion/motion.h
b/cinelerra-5.1/plugins/motion/motion.h
index 1ce29e50c5d56e481ce860f28fb4f7971ba6ad16..56390bad34b206fe6c25d9a155e9e6b840d22115 100644
(file)
--- a/
cinelerra-5.1/plugins/motion/motion.h
+++ b/
cinelerra-5.1/plugins/motion/motion.h
@@
-59,7
+59,7
@@
class RotateScan;
#define MIN_BLOCKS 1
#define MAX_BLOCKS 200
#define MIN_BLOCKS 1
#define MAX_BLOCKS 200
-// Precision of rotation
+// Precision of rotation
(in radian!)
#define MIN_ANGLE 0.0001
#define TRACKING_FILE "/tmp/motion"
#define MIN_ANGLE 0.0001
#define TRACKING_FILE "/tmp/motion"
@@
-98,6
+98,9
@@
public:
// Block position in percentage 0 - 100
double block_x;
double block_y;
// Block position in percentage 0 - 100
double block_x;
double block_y;
+// Noise levels to ignore frame differences as 0-100% of (maxdiff-mindiff)
+ double noise_level;
+ double noise_rotation;
int horizontal_only;
int vertical_only;
int horizontal_only;
int vertical_only;
@@
-111,6
+114,8
@@
public:
int tracking_type;
// Track a single frame, previous frame, or previous frame same block
int tracking_object;
int tracking_type;
// Track a single frame, previous frame, or previous frame same block
int tracking_object;
+// 1 == two pass tracking
+ int twopass;
// Number of single frame to track relative to timeline start
int64_t track_frame;
// Number of single frame to track relative to timeline start
int64_t track_frame;
@@
-128,6
+133,8
@@
public:
int process_buffer(VFrame **frame, int64_t start_position, double frame_rate);
void process_global();
void process_rotation();
int process_buffer(VFrame **frame, int64_t start_position, double frame_rate);
void process_global();
void process_rotation();
+ void refine_global();
+ void refine_rotation();
void draw_vectors(VFrame *frame);
int is_multichannel();
int is_realtime();
void draw_vectors(VFrame *frame);
int is_multichannel();
int is_realtime();
@@
-180,6
+187,7
@@
public:
int64_t cache_key, active_key;
// add constant frame offset values
int dx_offset, dy_offset;
int64_t cache_key, active_key;
// add constant frame offset values
int dx_offset, dy_offset;
+ float dt_offset;
int64_t tracking_frame;
// save/load result values
int load_ok;
int64_t tracking_frame;
// save/load result values
int load_ok;
@@
-276,7
+284,8
@@
public:
VFrame *current_frame,
// Pivot
int block_x,
VFrame *current_frame,
// Pivot
int block_x,
- int block_y);
+ int block_y,
+ int passno);
int64_t get_cache(float angle);
void put_cache(float angle, int64_t difference);
int64_t get_cache(float angle);
void put_cache(float angle, int64_t difference);