AV module

VideoConverter

Converts video frames between pixel formats and resolutions.

VideoConverter

#include <icy/av/videoconverter.h>

Converts video frames between pixel formats and resolutions.

Public Attributes

ReturnNameDescription
SwsContext *ctxlibswscale conversion context.
AVFrame *oframeReusable output frame allocated by create().
VideoCodeciparamsExpected input video parameters.
VideoCodecoparamsTarget output video parameters.

ctx

SwsContext * ctx

libswscale conversion context.


oframe

AVFrame * oframe

Reusable output frame allocated by create().


iparams

VideoCodec iparams

Expected input video parameters.


oparams

VideoCodec oparams

Target output video parameters.

Public Methods

ReturnNameDescription
VideoConverter
VideoConverterDeleted constructor.
VideoConverterDeleted constructor.
voidcreate virtualInitialise the libswscale context and allocate the output frame. Uses iparams and oparams to configure the conversion pipeline. Throws std::runtime_error if already initialised or if parameters are invalid.
voidclose virtualFree the libswscale context and the output frame.
AVFrame *convert virtualConvert iframe to the output pixel format and resolution. The returned frame is owned by this converter and is overwritten on the next call.

VideoConverter

VideoConverter()

VideoConverter

VideoConverter(const VideoConverter &) = delete

Deleted constructor.


VideoConverter

VideoConverter(VideoConverter &&) = delete

Deleted constructor.


create

virtual

virtual void create()

Initialise the libswscale context and allocate the output frame. Uses iparams and oparams to configure the conversion pipeline. Throws std::runtime_error if already initialised or if parameters are invalid.


close

virtual

virtual void close()

Free the libswscale context and the output frame.


convert

virtual

virtual AVFrame * convert(AVFrame * iframe)

Convert iframe to the output pixel format and resolution. The returned frame is owned by this converter and is overwritten on the next call.

Parameters

  • iframe The source AVFrame; must match iparams dimensions and pixel format.

Returns

The converted output AVFrame.