Open CASCADE Technology 7.8.2.dev
|
AVCodecContext wrapper - the coder/decoder holder. More...
#include <Media_CodecContext.hxx>
Public Member Functions | |
Media_CodecContext () | |
Constructor. | |
virtual | ~Media_CodecContext () |
Destructor. | |
AVCodecContext * | Context () const |
Return context. | |
bool | Init (const AVStream &theStream, double thePtsStartBase, int theNbThreads=-1) |
Open codec specified within the stream. | |
bool | Init (const AVStream &theStream, double thePtsStartBase, int theNbThreads, int theCodecId) |
Open codec. | |
void | Close () |
Close input. | |
int | SizeX () const |
int | SizeY () const |
int | StreamIndex () const |
Return stream index. | |
void | Flush () |
avcodec_flush_buffers() wrapper. | |
bool | CanProcessPacket (const Handle< Media_Packet > &thePacket) const |
Return true if packet belongs to this stream. | |
bool | SendPacket (const Handle< Media_Packet > &thePacket) |
avcodec_send_packet() wrapper. | |
bool | ReceiveFrame (const Handle< Media_Frame > &theFrame) |
avcodec_receive_frame() wrapper. | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. | |
virtual | ~Standard_Transient () |
Destructor must be virtual. | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. | |
Standard_Integer | GetRefCount () const noexcept |
Get the reference counter of this object. | |
void | IncrementRefCounter () noexcept |
Increments the reference counter of this object. | |
Standard_Integer | DecrementRefCounter () noexcept |
Decrements the reference counter of this object; returns the decremented value. | |
virtual void | Delete () const |
Memory deallocator for transient classes. | |
Protected Attributes | |
AVCodecContext * | myCodecCtx |
codec context | |
AVCodec * | myCodec |
opened codec | |
double | myPtsStartBase |
starting PTS in context | |
double | myPtsStartStream |
starting PTS in the stream | |
double | myTimeBase |
stream timebase | |
int | myStreamIndex |
stream index | |
float | myPixelAspectRatio |
pixel aspect ratio | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. | |
Static Public Member Functions inherited from Standard_Transient | |
static constexpr const char * | get_type_name () |
Returns a type descriptor about this object. | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. | |
AVCodecContext wrapper - the coder/decoder holder.
Media_CodecContext::Media_CodecContext | ( | ) |
Constructor.
|
virtual |
Destructor.
bool Media_CodecContext::CanProcessPacket | ( | const Handle< Media_Packet > & | thePacket | ) | const |
Return true if packet belongs to this stream.
void Media_CodecContext::Close | ( | ) |
Close input.
|
inline |
Return context.
void Media_CodecContext::Flush | ( | ) |
avcodec_flush_buffers() wrapper.
bool Media_CodecContext::Init | ( | const AVStream & | theStream, |
double | thePtsStartBase, | ||
int | theNbThreads, | ||
int | theCodecId ) |
Open codec.
theStream | stream to open |
thePtsStartBase | PTS start in seconds |
theNbThreads | amount of threads to use for AVMEDIA_TYPE_VIDEO stream; -1 means OSD_Parallel::NbLogicalProcessors(), 0 means auto by FFmpeg itself >0 means specified number of threads (decoder should support multi-threading to take effect) |
theCodecId | codec (AVCodecID) to open |
bool Media_CodecContext::Init | ( | const AVStream & | theStream, |
double | thePtsStartBase, | ||
int | theNbThreads = -1 ) |
Open codec specified within the stream.
theStream | stream to open |
thePtsStartBase | PTS start in seconds |
theNbThreads | amount of threads to use for AVMEDIA_TYPE_VIDEO stream; -1 means OSD_Parallel::NbLogicalProcessors(), 0 means auto by FFmpeg itself >0 means specified number of threads (decoder should support multi-threading to take effect) |
bool Media_CodecContext::ReceiveFrame | ( | const Handle< Media_Frame > & | theFrame | ) |
avcodec_receive_frame() wrapper.
bool Media_CodecContext::SendPacket | ( | const Handle< Media_Packet > & | thePacket | ) |
avcodec_send_packet() wrapper.
int Media_CodecContext::SizeX | ( | ) | const |
int Media_CodecContext::SizeY | ( | ) | const |
|
inline |
Return stream index.
|
protected |
opened codec
|
protected |
codec context
|
protected |
pixel aspect ratio
|
protected |
starting PTS in context
|
protected |
starting PTS in the stream
|
protected |
stream index
|
protected |
stream timebase