FramePatternDetector Class Reference
Adaptor class FramePatternDetector counts by-passing frames by frame type and detects if a video has a constant frame pattern, how many b-frames are between and how large is the GOP-size <short description="">. More...
#include <FramePatternDetector.hpp>
Inheritance diagram for FramePatternDetector:
Public Member Functions | |
FramePatternDetector (VideoESInfo *esi, bool updateEsInfoAtClose) | |
list< Frame * > | adapt (Frame *frm) |
Accepts as input a frame, and checks if it can adapt the frame, If the frame is modified, a new Frame object is created and inserted into the return list. | |
Adaptor * | clone () |
Create a shallow copy of the Adaptor. | |
void | initialize () |
Initialize internal data structures. | |
list< Frame * > | close () |
Close and destroy an Adaptor. | |
void | setESInfo (ESInfo *esi) |
Sets a reference to an ESInfo object. | |
ESInfo * | getESInfo () |
bool | hasDecidedOnGopSize () const |
returns if the analyzer has already seen enough GOPs to decide if the GOP pattern is static or not | |
bool | hasDecidedOnBFrames () const |
returns if the analyzer has already seen enough GOPs to decide on the number of b-frames in between | |
bool | isStaticGopSize () const |
returns if all GOPs consists of the same number of frames (not type!) | |
int | getGopSize () const |
int | getBFramesBetween () const |
u32 | getTotalSizeOfBFrames () const |
returns the sum of sizes of all b-frames that passed through this adaptor. | |
u32 | getTotalSizeOfFrames () const |
returns the sum of sizes of all frames that passed through this adaptor. | |
u32 | getTranscodingCosts () const |
returns adaptation costs (CPU only) | |
Protected Attributes | |
VideoESInfo * | es |
bool | updateESInfo |
int | bFramesBetween |
int | bFramesBetweenCounter [FRAMEPATTERNDETECTOR_MAX_BFRAMES_BETWEEN] |
int | framesSinceIFrame |
including I-frame | |
u32 | lastCTSIFrame |
int | gopSizesDetected [FRAMEPATTERNDETECTOR_MAX_GOP_ANALYZE] |
pos[i] in the array stores the GOP size from I-frame [i] to (excluding) I-frame[i+1] | |
int | foundBFramesBetween |
int | foundGopSize |
bool | staticGopSize |
bool | staticGopPattern |
int | currentGOP |
Frame::FrameType | lastFrame |
bool | stopBFrames |
bool | stopGOPSize |
u32 | bFrameSize |
u32 | totalVideoSize |
Detailed Description
Adaptor class FramePatternDetector counts by-passing frames by frame type and detects if a video has a constant frame pattern, how many b-frames are between and how large is the GOP-size <short description="">.
- Author:
- Peter Schojer
- Version:
- Id
- FramePatternDetector.hpp,v 1.4 2006/01/20 15:37:17 mkropfbe Exp
Definition at line 66 of file FramePatternDetector.hpp.
Member Function Documentation
|
Accepts as input a frame, and checks if it can adapt the frame, If the frame is modified, a new Frame object is created and inserted into the return list. This new frame is returned only, if the size of the payload is larger than zero. If the frame was not modified, it is also inserted into the list. For more complex adaptors, it will happen, that the adaptor caches up one complete GOP and returns the full GOP in network order. A caching adaptor has to create deep-copies for each frames. Never directly modify the payload of the input frm, always create copies!!!
Reimplemented from Adaptor. Definition at line 79 of file FramePatternDetector.cpp. References framesSinceIFrame, Frame::getAU(), and Frame::getType().
|
|
Create a shallow copy of the Adaptor. Creates an Adaptor with the same setup (without copying the current status).
Implements Adaptor. Definition at line 79 of file FramePatternDetector.hpp.
|
|
Close and destroy an Adaptor. Releases all internally buffered frame objects, and deallocate all allocated memory. The Adaptor must not be used after calling the close method!!!
Reimplemented from Adaptor. Definition at line 229 of file FramePatternDetector.cpp.
|
|
returns the sum of sizes of all b-frames that passed through this adaptor. Be careful when using with network input (frame loss!)Definition at line 115 of file FramePatternDetector.hpp.
|
|
returns the sum of sizes of all frames that passed through this adaptor. Be careful when using with network input (frame loss!)Definition at line 122 of file FramePatternDetector.hpp.
|
|
Initialize internal data structures.
Implements Adaptor. Definition at line 72 of file FramePatternDetector.cpp.
|
|
Sets a reference to an ESInfo object. Adaptors are allowed to change ESInfo objects. If you don't want that, pass an es->clone() Reimplemented from Adaptor. Definition at line 89 of file FramePatternDetector.hpp.
|
The documentation for this class was generated from the following files: