Fixposition SDK 0.0.0-heads/main-0-g6a396b9
Collection of c++ libraries and apps for use with Fixposition products on Linux
Loading...
Searching...
No Matches
fpsdk::common::video Namespace Reference

Video frame decoding. More...

Classes

struct  ImageData
 Decoded, converted and scaled image. More...
struct  VideoDecoderParams
 VideoFrameDecoder params and their defaults. More...
class  VideoFrameDecoder
 Helper for decoding video frames. More...

Typedefs

using VideoFrameDecoderPtr = std::unique_ptr<VideoFrameDecoder>
 Pointer to a VideoFrameDecoder instance, see CreateVideoFrameDecoder()

Enumerations

enum class  VideoCodec : int { UNSPECIFIED = 0 , H264 , H265 }
 Video codec. More...
enum class  PixelFmt : int { UNSPECIFIED = 0 , Y8 , RGB24 , GBRP }
 Pixel format. More...
enum class  ScalingQual : int {
  UNSPECIFIED = 0 , BILINEAR , BICUBIC , LANCZOS ,
  SINC
}
 Scaling method (only for sw decoding) More...
enum class  HwAccel : uint8_t { UNSPECIFIED = 0 , AUTO = 1 , SW = 2 , HW = 3 }
 Hw acceleration. More...

Functions

const char * VideoCodecToStr (const VideoCodec codec)
 Stringify video codec enum.
VideoCodec VideoCodecFromStrOr (const char *str, const VideoCodec def)
 Convert codec ID string to enum.
const char * PixelFmtToStr (const PixelFmt fmt)
 Stringify pixel format enum.
PixelFmt PixelFmtFromStrOr (const char *str, const PixelFmt def)
 Convert pixel format string to enum.
const char * ScalingQualToStr (const ScalingQual qual)
 Stringify scaling method enum.
ScalingQual ScalingQualFromStrOr (const char *str, const ScalingQual def)
 Convert scaling method string to enum.
const char * HwAccelToStr (const HwAccel accel)
 Stringify hw accel method enum.
HwAccel HwAccelFromStrOr (const char *str, const HwAccel def)
 Convert scaling method string to enum.
VideoFrameDecoderPtr CreateVideoFrameDecoder (const VideoDecoderParams &params)
 Create a video frame decoder.

Detailed Description

Video frame decoding.

Typedef Documentation

◆ VideoFrameDecoderPtr

Pointer to a VideoFrameDecoder instance, see CreateVideoFrameDecoder()

Definition at line 268 of file video.hpp.

Enumeration Type Documentation

◆ VideoCodec

enum class fpsdk::common::video::VideoCodec : int
strong

Video codec.

Enumerator
UNSPECIFIED 

Unspecified.

H264 

H.264 Advanced Video Coding (AVC)

H265 

H.265 High Efficiency Video Coding (HEVC)

Definition at line 43 of file video.hpp.

◆ PixelFmt

enum class fpsdk::common::video::PixelFmt : int
strong

Pixel format.

Enumerator
UNSPECIFIED 

Invalid.

Y8 

Planar Y (greyscale), 8bpp (= FFmpeg AV_PIX_FMT_GRAY8)

RGB24 

Packed RGB 8:8:8, 24bpp, RGBRGB... (= FFmpeg AV_PIX_FMT_RGB24)

GBRP 

Planar GBR, 24bpp [R][R][R]...[G][G][G]...[B][B][B]... (~ FFmpeg AV_PIX_FMT_GBRP/AV_PIX_FMT_GBR24P)

Definition at line 72 of file video.hpp.

◆ ScalingQual

enum class fpsdk::common::video::ScalingQual : int
strong

Scaling method (only for sw decoding)

Enumerator
UNSPECIFIED 

Unspecified.

BILINEAR 

Low quality, very fast.

BICUBIC 

Medium/high quality, fast (B=0.0, C=0.5, "Catmull-Rom")

LANCZOS 

High quality, slower (radius=3.0)

SINC 

Very high quality, very slow (radius=3.0)

Definition at line 102 of file video.hpp.

◆ HwAccel

enum class fpsdk::common::video::HwAccel : uint8_t
strong

Hw acceleration.

Enumerator
UNSPECIFIED 

Unspecified.

AUTO 

Use hw accel if possible, fallback to SW.

SW 

Do not use any hw acceleration, use pure software implementation.

HW 

Use hw acceleration (currently, Linux Video Acceleration API, VA-API)

Definition at line 133 of file video.hpp.

Function Documentation

◆ VideoCodecToStr()

const char * fpsdk::common::video::VideoCodecToStr ( const VideoCodec codec)

Stringify video codec enum.

Parameters
[in]codecCodec ID
Returns
the stringification of the codec, or "?" for bad enum values

◆ VideoCodecFromStrOr()

VideoCodec fpsdk::common::video::VideoCodecFromStrOr ( const char * str,
const VideoCodec def )

Convert codec ID string to enum.

Parameters
[in]strCodec ID string
[in]defDefault codec ID, for bad str
Returns
the codec ID, or def if str was invalid

◆ PixelFmtToStr()

const char * fpsdk::common::video::PixelFmtToStr ( const PixelFmt fmt)

Stringify pixel format enum.

Parameters
[in]fmtPixel format
Returns
the stringification of the fmt, or "?" for bad enum values

◆ PixelFmtFromStrOr()

PixelFmt fpsdk::common::video::PixelFmtFromStrOr ( const char * str,
const PixelFmt def )

Convert pixel format string to enum.

Parameters
[in]strPixel format string
[in]defDefault pixel format, for bad str
Returns
the pixel format, or def if str was invalid

◆ ScalingQualToStr()

const char * fpsdk::common::video::ScalingQualToStr ( const ScalingQual qual)

Stringify scaling method enum.

Parameters
[in]qualScaling method
Returns
the stringification of the qual, or "?" for bad enum values

◆ ScalingQualFromStrOr()

ScalingQual fpsdk::common::video::ScalingQualFromStrOr ( const char * str,
const ScalingQual def )

Convert scaling method string to enum.

Parameters
[in]strScaling method string
[in]defDefault pixel format, for bad str
Returns
the scaling method, or def if str was invalid

◆ HwAccelToStr()

const char * fpsdk::common::video::HwAccelToStr ( const HwAccel accel)

Stringify hw accel method enum.

Parameters
[in]accelHW acceleration
Returns
the stringification of the accel, or "?" for bad enum values

◆ HwAccelFromStrOr()

HwAccel fpsdk::common::video::HwAccelFromStrOr ( const char * str,
const HwAccel def )

Convert scaling method string to enum.

Parameters
[in]strHW acceleration string
[in]defDefault HW acceleration, for bad str
Returns
the HW acceleration, or def if str was invalid

◆ CreateVideoFrameDecoder()

VideoFrameDecoderPtr fpsdk::common::video::CreateVideoFrameDecoder ( const VideoDecoderParams & params)

Create a video frame decoder.

Parameters
[in]paramsThe parameters
Returns
the video frame decoder instances, or nullptr if it failed (bad params)