AvTranscoder
0.9.4
C++APIforLibav/FFmpeg
|
#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... | |
ICodec & | getCodec () |
Get codec used for encoding. More... | |
VideoCodec & | getVideoCodec () |
![]() | |
virtual | ~IEncoder () |
Private Member Functions | |
bool | encode (const AVFrame *decodedData, AVPacket &encodedData) |
Private Attributes | |
VideoCodec | _codec |
Definition at line 11 of file VideoEncoder.hpp.
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.
|
private |
Definition at line 130 of file VideoEncoder.cpp.
References _codec, avtranscoder::ICodec::getAVCodecContext(), and avtranscoder::getDescriptionFromErrorCode().
Referenced by encodeFrame().
|
virtual |
Encode a new frame, and get coded frame.
sourceFrame | frame that needs to be encoded |
codedFrame | output encoded coded data (first frames can be delayed) |
runtime_error | if 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().
|
virtual |
Get the frames remaining into the encoder.
codedFrame | output encoded data |
runtime_error | if the encoded process failed. |
Implements avtranscoder::IEncoder.
Definition at line 125 of file VideoEncoder.cpp.
References encode(), and avtranscoder::CodedData::getAVPacket().
|
inlinevirtual |
Get codec used for encoding.
Implements avtranscoder::IEncoder.
Definition at line 24 of file VideoEncoder.hpp.
|
inline |
Definition at line 25 of file VideoEncoder.hpp.
Referenced by avtranscoder::StreamTranscoder::StreamTranscoder().
|
virtual |
Setup the encoder.
profile | set encoder parameters from the given profile |
Implements avtranscoder::IEncoder.
Definition at line 38 of file VideoEncoder.cpp.
References _codec, avtranscoder::constants::avProfileCodec, avtranscoder::constants::avProfileFrameRate, avtranscoder::constants::avProfileHeight, avtranscoder::constants::avProfileIdentificator, avtranscoder::constants::avProfileIdentificatorHuman, avtranscoder::constants::avProfilePixelFormat, avtranscoder::constants::avProfileProcessStat, avtranscoder::constants::avProfileThreads, avtranscoder::constants::avProfileType, avtranscoder::constants::avProfileWidth, avtranscoder::ProfileLoader::checkVideoProfile(), avtranscoder::ICodec::getAVCodecContext(), avtranscoder::ICodec::getOption(), LOG_ERROR, LOG_INFO, LOG_WARN, avtranscoder::ICodec::openCodec(), avtranscoder::Option::setInt(), and avtranscoder::Option::setString().
Referenced by setupVideoEncoder().
void avtranscoder::VideoEncoder::setupVideoEncoder | ( | const VideoFrameDesc & | frameDesc, |
const ProfileLoader::Profile & | profile = ProfileLoader::Profile() |
||
) |
Definition at line 24 of file VideoEncoder.cpp.
References _codec, LOG_INFO, avtranscoder::VideoCodec::setImageParameters(), and setupEncoder().
Referenced by avtranscoder::StreamTranscoder::StreamTranscoder().
|
private |
Definition at line 31 of file VideoEncoder.hpp.
Referenced by encode(), encodeFrame(), setupEncoder(), and setupVideoEncoder().