eq::ROITracker Class Reference

Tracks requested areas for ROI. More...

#include <roiTracker.h>

List of all members.

Classes

struct  Area
 Area of readback.
struct  Stage
 Set of readback areas per compositiong stage.

Public Member Functions

bool useROIFinder (const PixelViewport &pvp, const uint32_t stage, const uint32_t frameID, uint8_t *&ticket)
 Has to be called once before any ROI calculation.
void updateDelay (const PixelViewportVector &pvps, const uint8_t *ticket)
 Has to be called once after every positive result from useROIFinder.

Detailed Description

Tracks requested areas for ROI.

Used to disable ROI when ROI fails.

Definition at line 34 of file roiTracker.h.


Member Function Documentation

bool eq::ROITracker::useROIFinder ( const PixelViewport pvp,
const uint32_t  stage,
const uint32_t  frameID,
uint8_t *&  ticket 
)

Has to be called once before any ROI calculation.

Tels wether ROIFinder should be executed for a particular region or not. If true is returned, then updateDelay must be called once before any next useROIFinder call. If false is returned, then updateDelay shouldn't be called.

This function uses _prvFrame areas data to match with current pvp. If good intersection with one of previous areas is found, it will use information from that area form previous frame to decide wether it should skip ROIFinder execution or not. If good intersection is not found area cosidered new, and function returns true.

Parameters:
pvp same viewport that will be specifyed for FOIFinder
stage current assembling stage
frameID should be different for different frames
ticket should be stored by caller and given to updateDelay
Returns:
true if ROIFinder should be called for given region.

Definition at line 57 of file roiTracker.cpp.

References eq::PixelViewport::getArea(), and eq::PixelViewport::intersect().

Referenced by eq::ROIFinder::findRegions().

Here is the call graph for this function:

Here is the caller graph for this function:

void eq::ROITracker::updateDelay ( const PixelViewportVector pvps,
const uint8_t *  ticket 
)

Has to be called once after every positive result from useROIFinder.

Shouldn't be called otherwise

It checks how much space ROIFinder was able to discard and if it is not enough it will disable usage of ROIFinder for several next frames. If ROIFinder was able to cut-off enought it will reset failure statistics for that region.

Parameters:
pvps result from ROIFinder
ticket value from useROIFinder

Definition at line 126 of file roiTracker.cpp.

References EQ_MIN, and EQERROR.

Referenced by eq::ROIFinder::findRegions().

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
Generated on Sat Feb 6 13:06:25 2010 for Equalizer 0.9.1 by  doxygen 1.6.1