|
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 () |
Public Member Functions inherited from avtranscoder::IEncoder | |
| 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().