Logo
ApraPipes 1.0
Loading...
Searching...
No Matches
H264EncoderNVCodecProps Class Reference

Properties for the H264 encoder using NVCodec. More...

#include <H264EncoderNVCodec.h>

Inheritance diagram for H264EncoderNVCodecProps:
Inheritance graph
Collaboration diagram for H264EncoderNVCodecProps:
Collaboration graph

Public Types

enum  H264CodecProfile { BASELINE , MAIN , HIGH }
 Enum representing different H.264 codec profiles. More...
 
- Public Types inherited from ModuleProps
enum  FrameFetchStrategy { PUSH , PULL }
 

Public Member Functions

 H264EncoderNVCodecProps (const uint32_t &_bitRateKbps, const apracucontext_sp &_cuContext, const uint32_t &_gopLength, const uint32_t &_frameRate, H264CodecProfile _vProfile, bool _enableBFrames)
 Constructor for H264EncoderNVCodecProps with all parameters.
 
 H264EncoderNVCodecProps (apracucontext_sp &_cuContext)
 Constructor for H264EncoderNVCodecProps with default bit rate.
 
 H264EncoderNVCodecProps (const uint32_t &_bitRateKbps, const apracucontext_sp &_cuContext, const uint32_t &_gopLength, const uint32_t &_frameRate, H264CodecProfile _vProfile, bool _enableBFrames, uint32_t &_bufferThres)
 Constructor for H264EncoderNVCodecProps with buffer threshold.
 
- Public Member Functions inherited from ModuleProps
 ModuleProps ()
 
 ModuleProps (float _fps)
 
 ModuleProps (float _fps, size_t _qlen, bool _logHealth)
 
 ModuleProps (FrameFetchStrategy _frameFetchStrategy)
 
size_t getQLen ()
 
virtual size_t getSerializeSize ()
 

Public Attributes

H264CodecProfile vProfile = H264EncoderNVCodecProps::BASELINE
 
bool enableBFrames = false
 
uint32_t gopLength = 30
 
uint32_t bitRateKbps = 1000
 
uint32_t frameRate = 30
 
apracucontext_sp cuContext
 
uint32_t bufferThres = 30
 
- Public Attributes inherited from ModuleProps
float fps
 
size_t qlen
 
bool logHealth
 
int logHealthFrequency
 
size_t maxConcurrentFrames
 
int skipN = 0
 
int skipD = 1
 
FrameFetchStrategy frameFetchStrategy
 
QuePushStrategy::QuePushStrategyType quePushStrategyType
 
FIndexStrategy::FIndexStrategyType fIndexStrategyType
 
bool enableHealthCallBack
 
int healthUpdateIntervalInSec
 

Detailed Description

Properties for the H264 encoder using NVCodec.

Member Enumeration Documentation

◆ H264CodecProfile

Enum representing different H.264 codec profiles.

Enumerator
BASELINE 

Baseline profile

MAIN 

Main profile

HIGH 

High profile

Constructor & Destructor Documentation

◆ H264EncoderNVCodecProps() [1/3]

H264EncoderNVCodecProps::H264EncoderNVCodecProps ( const uint32_t & _bitRateKbps,
const apracucontext_sp & _cuContext,
const uint32_t & _gopLength,
const uint32_t & _frameRate,
H264CodecProfile _vProfile,
bool _enableBFrames )
inline

Constructor for H264EncoderNVCodecProps with all parameters.

Parameters
_bitRateKbpsBit rate in kilobits per second.
_cuContextCUDA context.
_gopLengthGroup of Pictures (GOP) length.
_frameRateFrame rate.
_vProfileVideo profile from H264CodecProfile enum.
_enableBFramesEnable or disable B-frames.

◆ H264EncoderNVCodecProps() [2/3]

H264EncoderNVCodecProps::H264EncoderNVCodecProps ( apracucontext_sp & _cuContext)
inline

Constructor for H264EncoderNVCodecProps with default bit rate.

Parameters
_cuContextCUDA context.

◆ H264EncoderNVCodecProps() [3/3]

H264EncoderNVCodecProps::H264EncoderNVCodecProps ( const uint32_t & _bitRateKbps,
const apracucontext_sp & _cuContext,
const uint32_t & _gopLength,
const uint32_t & _frameRate,
H264CodecProfile _vProfile,
bool _enableBFrames,
uint32_t & _bufferThres )
inline

Constructor for H264EncoderNVCodecProps with buffer threshold.

Parameters
_bitRateKbpsBit rate in kilobits per second.
_cuContextCUDA context.
_gopLengthGroup of Pictures (GOP) length.
_frameRateFrame rate.
_vProfileVideo profile from H264CodecProfile enum.
_enableBFramesEnable or disable B-frames.
_bufferThresBuffer threshold.

Member Data Documentation

◆ bitRateKbps

uint32_t H264EncoderNVCodecProps::bitRateKbps = 1000

Bit rate in kilobits per second.

◆ bufferThres

uint32_t H264EncoderNVCodecProps::bufferThres = 30

Buffer threshold.

◆ cuContext

apracucontext_sp H264EncoderNVCodecProps::cuContext

CUDA context.

◆ enableBFrames

bool H264EncoderNVCodecProps::enableBFrames = false

Enable or disable B-frames.

◆ frameRate

uint32_t H264EncoderNVCodecProps::frameRate = 30

Frame rate.

◆ gopLength

uint32_t H264EncoderNVCodecProps::gopLength = 30

Group of Pictures (GOP) length.

◆ vProfile

H264CodecProfile H264EncoderNVCodecProps::vProfile = H264EncoderNVCodecProps::BASELINE

Video profile.


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