![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
AVCodecContext wrapper - the coder/decoder holder. More...
#include <Media_CodecContext.hxx>

Public Member Functions | |
| Media_CodecContext () | |
| Constructor. | |
| ~Media_CodecContext () override | |
| 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 occ::handle< Media_Packet > &thePacket) const |
| Return true if packet belongs to this stream. | |
| bool | SendPacket (const occ::handle< Media_Packet > &thePacket) |
| avcodec_send_packet() wrapper. | |
| bool | ReceiveFrame (const occ::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 ()=default |
| Destructor must be virtual. | |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| Returns a type descriptor about this object. | |
| bool | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| Returns a true value if this is an instance of Type. | |
| bool | IsInstance (const char *const theTypeName) const |
| Returns a true value if this is an instance of TypeName. | |
| bool | 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. | |
| bool | IsKind (const char *const 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. | |
| int | GetRefCount () const noexcept |
| Get the reference counter of this object. | |
| void | IncrementRefCounter () noexcept |
| Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations. | |
| int | DecrementRefCounter () noexcept |
| Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement. | |
| 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.
|
override |
Destructor.
| bool Media_CodecContext::CanProcessPacket | ( | const occ::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 occ::handle< Media_Frame > & | theFrame | ) |
avcodec_receive_frame() wrapper.
| bool Media_CodecContext::SendPacket | ( | const occ::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