#include <motion.h>
Inherits LoadServer.

Public Member Functions | |
| MotionScan (MotionMain *plugin, int total_clients, int total_packages) | |
| ~MotionScan () | |
| void | init_packages () |
| LoadClient * | new_client () |
| LoadPackage * | new_package () |
| void | scan_frame (VFrame *previous_frame, VFrame *current_frame) |
| int64_t | get_cache (int x, int y) |
| void | put_cache (int x, int y, int64_t difference) |
Data Fields | |
| int | dx_result |
| int | dy_result |
Private Attributes | |
| VFrame * | previous_frame |
| VFrame * | current_frame |
| MotionMain * | plugin |
| int | skip |
| int | block_x1 |
| int | block_x2 |
| int | block_y1 |
| int | block_y2 |
| int | scan_x1 |
| int | scan_y1 |
| int | scan_x2 |
| int | scan_y2 |
| int | total_pixels |
| int | total_steps |
| int | subpixel |
| ArrayList< MotionScanCache * > | cache |
| Mutex * | cache_lock |
Friends | |
| class | MotionScanUnit |
Definition at line 308 of file motion.h.
| MotionScan::MotionScan | ( | MotionMain * | plugin, | |
| int | total_clients, | |||
| int | total_packages | |||
| ) |
| MotionScan::~MotionScan | ( | ) |
| void MotionScan::init_packages | ( | ) | [virtual] |
Reimplemented from LoadServer.
Definition at line 1946 of file motion.C.
References block_x1, MotionScanPackage::block_x1, block_x2, MotionScanPackage::block_x2, block_y1, MotionScanPackage::block_y1, block_y2, MotionScanPackage::block_y2, MotionScanPackage::difference1, MotionScanPackage::difference2, MotionScanPackage::dx, MotionScanPackage::dy, LoadServer::get_package(), LoadServer::get_total_packages(), MotionScanPackage::pixel, scan_x1, MotionScanPackage::scan_x1, scan_x2, MotionScanPackage::scan_x2, scan_y1, MotionScanPackage::scan_y1, scan_y2, MotionScanPackage::scan_y2, total_pixels, total_steps, and MotionScanPackage::valid.

| LoadClient * MotionScan::new_client | ( | ) | [virtual] |
Reimplemented from LoadServer.
Definition at line 1970 of file motion.C.
References MotionScanUnit, and plugin.
| LoadPackage * MotionScan::new_package | ( | ) | [virtual] |
Definition at line 1981 of file motion.C.
References BCTEXTLEN, block_x1, block_x2, block_y1, block_y2, cache, MotionMain::clamp_scan(), MotionScanPackage::difference1, MotionScanPackage::difference2, dx_result, dy_result, fclose(), fopen(), fprintf, fscanf(), VFrame::get_h(), LoadServer::get_package(), PluginClient::get_source_position(), LoadServer::get_total_packages(), VFrame::get_w(), input, MotionConfig::LOAD, MIN, MOTION_FILE, MotionConfig::NO_CALCULATE, MotionConfig::NOTHING, output, OVERSAMPLE, MotionScanPackage::pixel, plugin, LoadServer::process_packages(), ArrayList< TYPE >::remove_all_objects(), MotionConfig::SAVE, scan_x1, scan_x2, scan_y1, scan_y2, LoadServer::set_package_count(), skip, MotionConfig::STABILIZE, subpixel, MotionMain::total_dx, MotionMain::total_dy, total_pixels, total_steps, MotionConfig::TRACK, and MotionConfig::TRACK_PREVIOUS.
Referenced by MotionMain::process_global().

| int64_t MotionScan::get_cache | ( | int | x, | |
| int | y | |||
| ) |
Definition at line 2352 of file motion.C.
References cache, cache_lock, MotionScanCache::difference, Mutex::lock(), ArrayList< TYPE >::total, Mutex::unlock(), ArrayList< TYPE >::values, MotionScanCache::x, and MotionScanCache::y.
Referenced by MotionScanUnit::process_package().

| void MotionScan::put_cache | ( | int | x, | |
| int | y, | |||
| int64_t | difference | |||
| ) |
Definition at line 2369 of file motion.C.
References ArrayList< TYPE >::append(), cache, cache_lock, Mutex::lock(), and Mutex::unlock().
Referenced by MotionScanUnit::process_package().

friend class MotionScanUnit [friend] |
Definition at line 332 of file motion.h.
Referenced by MotionMain::process_global(), and scan_frame().
Definition at line 333 of file motion.h.
Referenced by MotionMain::process_global(), and scan_frame().
VFrame* MotionScan::previous_frame [private] |
VFrame* MotionScan::current_frame [private] |
MotionMain* MotionScan::plugin [private] |
int MotionScan::skip [private] |
int MotionScan::block_x1 [private] |
int MotionScan::block_x2 [private] |
int MotionScan::block_y1 [private] |
int MotionScan::block_y2 [private] |
int MotionScan::scan_x1 [private] |
int MotionScan::scan_y1 [private] |
int MotionScan::scan_x2 [private] |
int MotionScan::scan_y2 [private] |
int MotionScan::total_pixels [private] |
int MotionScan::total_steps [private] |
int MotionScan::subpixel [private] |
Definition at line 352 of file motion.h.
Referenced by MotionScanUnit::process_package(), and scan_frame().
ArrayList<MotionScanCache*> MotionScan::cache [private] |
Mutex* MotionScan::cache_lock [private] |
Definition at line 356 of file motion.h.
Referenced by get_cache(), MotionScan(), put_cache(), and ~MotionScan().
1.5.5