Raytrix Light Field SDK  4.0
Logo
Public Member Functions | Protected Attributes | List of all members
Rx::FileIO::CFFmpegEncode Class Reference

Detailed Description

FFMpeg video encode codec.

Inherits Rx::FileIO::IVideoEncode, and Rx::FileIO::IParameterVideoEncode.

Public Member Functions

 CFFmpegEncode ()
 Default constructor. Applies all necessary options for the encoder and initializes the FFMpeg libraries. More...
 
 ~CFFmpegEncode ()
 Destructor. Frees all by the constructor allocated memory and finalizes the FFmpeg libraries. More...
 
virtual void AddImage (const Interop::Runtime28::IImage *pSrcImg)
 Adds a single picture for encoding to video data. The picture must have the same format as specified in the image format in Open(). More...
 
virtual void Close ()
 Closes the video file. If there are some delayed pictures in the encoding pipeline, they will be encoded before the video is closed. More...
 
virtual void Destroy ()
 Destroys this object. More...
 
virtual void GetLevel (char *&xParameters)
 Gets the level enum containing the current level. More...
 
virtual void GetParameters (H264 &xParameters)
 Gets the current parameters and writes them into the given H264 struct. When this function is called the first time without calling SetParameters() before it will fill the struct with the default values for the used video codec. This function may be called at any state of the object. More...
 
virtual void GetParameters (char *&pcParameter, char *&pcValue)
 Gets the parameter struct containing the current encoding parameters. More...
 
virtual void GetPreset (char *&xParameters)
 Gets the preset enum containing the current preset. More...
 
virtual void GetProfile (char *&xParameters)
 Gets the profile containing the current profile. More...
 
virtual void GetTune (char *&xParameters)
 Gets the tune settings containing the current tune parameters. More...
 
virtual void Open (const CRxString &sxOutputVideoPath, const CRxImageFormat &xFormat)
 Opens the video file at the specified path and sets last option based on the provided image format. More...
 
virtual void SetLevel (const char *&xParameters)
 Overwrites the current level with the parameters inside the enum. More...
 
virtual void SetParameters (const H264 &xParameters)
 Sets the new parameters for the video encoder from the H264 struct. This function must not be called after the first image was added, but it is not necessary to call GetParameters() before this function. More...
 
virtual void SetParameters (const char *pcParameter, const char *pcValue)
 Overwrites the current encoding parameters with the parameters inside the struct. More...
 
virtual void SetPreset (const char *&xParameters)
 Overwrites the current preset parameters with the parameters inside the enum. More...
 
virtual void SetProfile (const char *&xParameters)
 Overwrites the current profile parameters with the parameters inside the enum. More...
 
virtual void SetTune (const char *&xParameters)
 Overwrites the tune settings with the parameters inside the enum. More...
 

Protected Attributes

IParameterVideoEncodem_pxIParameterIVideoEncode
 The IParameterIVideoEncode. More...
 
IVideoEncodem_pxIVideoEncode
 The IVideoEncode. More...
 

Constructor & Destructor Documentation

Rx::FileIO::CFFmpegEncode::CFFmpegEncode ( )

Default constructor. Applies all necessary options for the encoder and initializes the FFMpeg libraries.

Rx::FileIO::CFFmpegEncode::~CFFmpegEncode ( )

Destructor. Frees all by the constructor allocated memory and finalizes the FFmpeg libraries.

Member Function Documentation

virtual void Rx::FileIO::CFFmpegEncode::AddImage ( const Interop::Runtime28::IImage pSrcImg)
virtual

Adds a single picture for encoding to video data. The picture must have the same format as specified in the image format in Open().

Parameters
pSrcImg[in] Source image.

Implements Rx::FileIO::IVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::Close ( )
virtual

Closes the video file. If there are some delayed pictures in the encoding pipeline, they will be encoded before the video is closed.

Implements Rx::FileIO::IVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::Destroy ( )
virtual

Destroys this object.

Implements Rx::FileIO::IVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::GetLevel ( char *&  xParameters)
virtual

Gets the level enum containing the current level.

Parameters
xParameters[out] The parameter struct.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::GetParameters ( H264 xParameters)
virtual

Gets the current parameters and writes them into the given H264 struct. When this function is called the first time without calling SetParameters() before it will fill the struct with the default values for the used video codec. This function may be called at any state of the object.

Parameters
xParameters[out] The H264 struct which contains the current parameters.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::GetParameters ( char *&  pcParameter,
char *&  pcValue 
)
virtual

Gets the parameter struct containing the current encoding parameters.

Parameters
pcParameter[out] The parameter struct.
pcValue[in,out] [in,out] If non-null, the value.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::GetPreset ( char *&  xParameters)
virtual

Gets the preset enum containing the current preset.

Parameters
xParameters[out] The parameter struct.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::GetProfile ( char *&  xParameters)
virtual

Gets the profile containing the current profile.

Parameters
xParameters[out] The parameter struct.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::GetTune ( char *&  xParameters)
virtual

Gets the tune settings containing the current tune parameters.

Parameters
xParameters[out] The parameter struct.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::Open ( const CRxString sxOutputVideoPath,
const CRxImageFormat xFormat 
)
virtual

Opens the video file at the specified path and sets last option based on the provided image format.

Parameters
sxOutputVideoPath[in] The path for the output video file.
xFormat[in] Describes the format of the input images.

Implements Rx::FileIO::IVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::SetLevel ( const char *&  xParameters)
virtual

Overwrites the current level with the parameters inside the enum.

Parameters
xParameters[in] Parameter struct with encoder parameters.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::SetParameters ( const H264 xParameters)
virtual

Sets the new parameters for the video encoder from the H264 struct. This function must not be called after the first image was added, but it is not necessary to call GetParameters() before this function.

Parameters
xParameters[in] The H264 struct containing the new parameters.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::SetParameters ( const char *  pcParameter,
const char *  pcValue 
)
virtual

Overwrites the current encoding parameters with the parameters inside the struct.

Parameters
pcParameter[in] Parameter struct with encoder parameters.
pcValueThe value.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::SetPreset ( const char *&  xParameters)
virtual

Overwrites the current preset parameters with the parameters inside the enum.

Parameters
xParameters[in] Parameter struct with encoder parameters.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::SetProfile ( const char *&  xParameters)
virtual

Overwrites the current profile parameters with the parameters inside the enum.

Parameters
xParameters[in] Parameter struct with encoder parameters.

Implements Rx::FileIO::IParameterVideoEncode.

virtual void Rx::FileIO::CFFmpegEncode::SetTune ( const char *&  xParameters)
virtual

Overwrites the tune settings with the parameters inside the enum.

Parameters
xParameters[in] Parameter struct with encoder parameters.

Implements Rx::FileIO::IParameterVideoEncode.

Member Data Documentation

IParameterVideoEncode* Rx::FileIO::CFFmpegEncode::m_pxIParameterIVideoEncode
protected

The IParameterIVideoEncode.

IVideoEncode* Rx::FileIO::CFFmpegEncode::m_pxIVideoEncode
protected