AvTranscoder  0.9.4
C++APIforLibav/FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
avtranscoder::VideoEncoder Class Reference

#include <VideoEncoder.hpp>

Public Member Functions

 VideoEncoder (const std::string &videoCodecName)
 
 ~VideoEncoder ()
 
void setupVideoEncoder (const VideoFrameDesc &frameDesc, const ProfileLoader::Profile &profile=ProfileLoader::Profile())
 
void setupEncoder (const ProfileLoader::Profile &profile=ProfileLoader::Profile())
 Setup the encoder. More...
 
bool encodeFrame (const Frame &sourceFrame, CodedData &codedFrame)
 Encode a new frame, and get coded frame. More...
 
bool encodeFrame (CodedData &codedFrame)
 Get the frames remaining into the encoder. More...
 
ICodecgetCodec ()
 Get codec used for encoding. More...
 
VideoCodecgetVideoCodec ()
 
- Public Member Functions inherited from avtranscoder::IEncoder
virtual ~IEncoder ()
 

Private Member Functions

bool encode (const AVFrame *decodedData, AVPacket &encodedData)
 

Private Attributes

VideoCodec _codec
 

Detailed Description

Definition at line 11 of file VideoEncoder.hpp.

Constructor & Destructor Documentation

avtranscoder::VideoEncoder::VideoEncoder ( const std::string &  videoCodecName)

Definition at line 15 of file VideoEncoder.cpp.

avtranscoder::VideoEncoder::~VideoEncoder ( )

Definition at line 20 of file VideoEncoder.cpp.

Member Function Documentation

bool avtranscoder::VideoEncoder::encode ( const AVFrame *  decodedData,
AVPacket &  encodedData 
)
private
bool avtranscoder::VideoEncoder::encodeFrame ( const Frame sourceFrame,
CodedData codedFrame 
)
virtual

Encode a new frame, and get coded frame.

Parameters
sourceFrameframe that needs to be encoded
codedFrameoutput encoded coded data (first frames can be delayed)
Returns
status of encoding
Exceptions
runtime_errorif the encoded process failed.

Implements avtranscoder::IEncoder.

Definition at line 107 of file VideoEncoder.cpp.

References _codec, encode(), avtranscoder::ICodec::getAVCodecContext(), avtranscoder::Frame::getAVFrame(), and avtranscoder::CodedData::getAVPacket().

bool avtranscoder::VideoEncoder::encodeFrame ( CodedData codedFrame)
virtual

Get the frames remaining into the encoder.

Parameters
codedFrameoutput encoded data
Returns
status of encoding
Exceptions
runtime_errorif the encoded process failed.

Implements avtranscoder::IEncoder.

Definition at line 125 of file VideoEncoder.cpp.

References encode(), and avtranscoder::CodedData::getAVPacket().

ICodec& avtranscoder::VideoEncoder::getCodec ( )
inlinevirtual

Get codec used for encoding.

Returns
a reference to the codec

Implements avtranscoder::IEncoder.

Definition at line 24 of file VideoEncoder.hpp.

VideoCodec& avtranscoder::VideoEncoder::getVideoCodec ( )
inline

Definition at line 25 of file VideoEncoder.hpp.

Referenced by avtranscoder::StreamTranscoder::StreamTranscoder().

void avtranscoder::VideoEncoder::setupVideoEncoder ( const VideoFrameDesc frameDesc,
const ProfileLoader::Profile profile = ProfileLoader::Profile() 
)

Field Documentation

VideoCodec avtranscoder::VideoEncoder::_codec
private

Definition at line 31 of file VideoEncoder.hpp.

Referenced by encode(), encodeFrame(), setupEncoder(), and setupVideoEncoder().


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