Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions
Graphic3d_MediaTextureSet Class Reference

Texture adapter for Media_Frame. More...

#include <Graphic3d_MediaTextureSet.hxx>

Inheritance diagram for Graphic3d_MediaTextureSet:
Inheritance graph
[legend]

Public Types

typedef void(* CallbackOnUpdate_t) (void *theUserPtr)
 Callback definition.
 
- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Public Member Functions

 Graphic3d_MediaTextureSet ()
 Empty constructor.
 
void SetCallback (CallbackOnUpdate_t theCallbackFunction, void *theCallbackUserPtr)
 Setup callback to be called on queue progress (e.g. when new frame should be displayed).
 
void Notify ()
 Call callback.
 
const TCollection_AsciiStringInput () const
 Return input media.
 
void OpenInput (const TCollection_AsciiString &thePath, bool theToWait)
 Open specified file. Passing an empty path would close current input.
 
const occ::handle< Media_PlayerContext > & PlayerContext () const
 Return player context; it can be NULL until first OpenInput().
 
bool SwapFrames ()
 Swap front/back frames.
 
NCollection_Vec2< intFrameSize () const
 Return front frame dimensions.
 
occ::handle< Graphic3d_ShaderProgramShaderProgram () const
 Return shader program for displaying texture set.
 
bool IsPlanarYUV () const
 Return TRUE if texture set defined 3 YUV planes.
 
bool IsFullRangeYUV () const
 Return TRUE if YUV range is full.
 
double Duration () const
 Return duration in seconds.
 
double Progress () const
 Return playback progress in seconds.
 
- Public Member Functions inherited from Graphic3d_TextureSet
 Graphic3d_TextureSet ()=default
 Empty constructor.
 
 Graphic3d_TextureSet (int theNbTextures)
 Constructor.
 
 Graphic3d_TextureSet (const occ::handle< Graphic3d_TextureMap > &theTexture)
 Constructor for a single texture.
 
bool IsEmpty () const
 Return TRUE if texture array is empty.
 
int Size () const
 Return number of textures.
 
int Lower () const
 Return the lower index in texture set.
 
int Upper () const
 Return the upper index in texture set.
 
const occ::handle< Graphic3d_TextureMap > & First () const
 Return the first texture.
 
void SetFirst (const occ::handle< Graphic3d_TextureMap > &theTexture)
 Return the first texture.
 
const occ::handle< Graphic3d_TextureMap > & Value (int theIndex) const
 Return the texture at specified position within [0, Size()) range.
 
void SetValue (int theIndex, const occ::handle< Graphic3d_TextureMap > &theTexture)
 Return the texture at specified position within [0, Size()) range.
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (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_TransientThis () 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.
 

Media_IFrameQueue interface

occ::handle< Media_PlayerContextmyPlayerCtx
 player context
 
occ::handle< Media_FramemyFramePair [2]
 front/back frames pair
 
occ::handle< Graphic3d_ShaderProgrammyShaderYUV
 shader program for YUV texture set
 
occ::handle< Graphic3d_ShaderProgrammyShaderYUVJ
 shader program for YUVJ texture set
 
std::mutex myMutex
 mutex for accessing frames
 
TCollection_AsciiString myInput
 input media
 
CallbackOnUpdate_t myCallbackFunction
 callback function
 
voidmyCallbackUserPtr
 callback data
 
NCollection_Vec2< intmyFrameSize
 front frame size
 
double myProgress
 playback progress in seconds
 
double myDuration
 stream duration
 
int myFront
 index of front texture
 
bool myToPresentFrame
 flag
 
bool myIsPlanarYUV
 front frame contains planar YUV data or native texture format
 
bool myIsFullRangeYUV
 front frame defines full-range or reduced-range YUV
 

Additional Inherited Members

- Static Public Member Functions inherited from Standard_Transient
static constexpr const charget_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.
 
- Protected Attributes inherited from Graphic3d_TextureSet
NCollection_Array1< occ::handle< Graphic3d_TextureMap > > myTextures
 

Detailed Description

Texture adapter for Media_Frame.

Member Typedef Documentation

◆ CallbackOnUpdate_t

typedef void(* Graphic3d_MediaTextureSet::CallbackOnUpdate_t) (void *theUserPtr)

Callback definition.

Constructor & Destructor Documentation

◆ Graphic3d_MediaTextureSet()

Graphic3d_MediaTextureSet::Graphic3d_MediaTextureSet ( )

Empty constructor.

Member Function Documentation

◆ Duration()

double Graphic3d_MediaTextureSet::Duration ( ) const
inline

Return duration in seconds.

◆ FrameSize()

NCollection_Vec2< int > Graphic3d_MediaTextureSet::FrameSize ( ) const
inline

Return front frame dimensions.

◆ Input()

const TCollection_AsciiString & Graphic3d_MediaTextureSet::Input ( ) const
inline

Return input media.

◆ IsFullRangeYUV()

bool Graphic3d_MediaTextureSet::IsFullRangeYUV ( ) const
inline

Return TRUE if YUV range is full.

◆ IsPlanarYUV()

bool Graphic3d_MediaTextureSet::IsPlanarYUV ( ) const
inline

Return TRUE if texture set defined 3 YUV planes.

◆ Notify()

void Graphic3d_MediaTextureSet::Notify ( )

Call callback.

◆ OpenInput()

void Graphic3d_MediaTextureSet::OpenInput ( const TCollection_AsciiString & thePath,
bool theToWait )

Open specified file. Passing an empty path would close current input.

◆ PlayerContext()

const occ::handle< Media_PlayerContext > & Graphic3d_MediaTextureSet::PlayerContext ( ) const
inline

Return player context; it can be NULL until first OpenInput().

◆ Progress()

double Graphic3d_MediaTextureSet::Progress ( ) const
inline

Return playback progress in seconds.

◆ SetCallback()

void Graphic3d_MediaTextureSet::SetCallback ( CallbackOnUpdate_t theCallbackFunction,
void * theCallbackUserPtr )

Setup callback to be called on queue progress (e.g. when new frame should be displayed).

◆ ShaderProgram()

occ::handle< Graphic3d_ShaderProgram > Graphic3d_MediaTextureSet::ShaderProgram ( ) const
inline

Return shader program for displaying texture set.

◆ SwapFrames()

bool Graphic3d_MediaTextureSet::SwapFrames ( )

Swap front/back frames.

Field Documentation

◆ myCallbackFunction

CallbackOnUpdate_t Graphic3d_MediaTextureSet::myCallbackFunction
protected

callback function

◆ myCallbackUserPtr

void* Graphic3d_MediaTextureSet::myCallbackUserPtr
protected

callback data

◆ myDuration

double Graphic3d_MediaTextureSet::myDuration
protected

stream duration

◆ myFramePair

occ::handle<Media_Frame> Graphic3d_MediaTextureSet::myFramePair[2]
protected

front/back frames pair

◆ myFrameSize

NCollection_Vec2<int> Graphic3d_MediaTextureSet::myFrameSize
protected

front frame size

◆ myFront

int Graphic3d_MediaTextureSet::myFront
protected

index of front texture

◆ myInput

TCollection_AsciiString Graphic3d_MediaTextureSet::myInput
protected

input media

◆ myIsFullRangeYUV

bool Graphic3d_MediaTextureSet::myIsFullRangeYUV
protected

front frame defines full-range or reduced-range YUV

◆ myIsPlanarYUV

bool Graphic3d_MediaTextureSet::myIsPlanarYUV
protected

front frame contains planar YUV data or native texture format

◆ myMutex

std::mutex Graphic3d_MediaTextureSet::myMutex
protected

mutex for accessing frames

◆ myPlayerCtx

occ::handle<Media_PlayerContext> Graphic3d_MediaTextureSet::myPlayerCtx
protected

player context

◆ myProgress

double Graphic3d_MediaTextureSet::myProgress
protected

playback progress in seconds

◆ myShaderYUV

occ::handle<Graphic3d_ShaderProgram> Graphic3d_MediaTextureSet::myShaderYUV
protected

shader program for YUV texture set

◆ myShaderYUVJ

occ::handle<Graphic3d_ShaderProgram> Graphic3d_MediaTextureSet::myShaderYUVJ
protected

shader program for YUVJ texture set

◆ myToPresentFrame

bool Graphic3d_MediaTextureSet::myToPresentFrame
protected

flag


The documentation for this class was generated from the following file: