AvTranscoder
0.9.4
C++APIforLibav/FFmpeg
|
#include <ICodec.hpp>
Public Member Functions | |
ICodec (const ECodecType type, const std::string &codecName) | |
ICodec (const ECodecType type, const AVCodecID codecId) | |
ICodec (const ECodecType type, AVCodecContext &avCodecContext) | |
virtual | ~ICodec ()=0 |
void | openCodec () |
Initialize the codec context. More... | |
std::string | getCodecName () const |
AVCodecID | getCodecId () const |
ECodecType | getCodecType () const |
int | getLatency () const |
OptionArray | getOptions () |
Get options as array. More... | |
OptionMap & | getOptionsMap () |
Get options as map. More... | |
Option & | getOption (const std::string &optionName) |
AVCodecContext & | getAVCodecContext () |
const AVCodecContext & | getAVCodecContext () const |
AVCodec & | getAVCodec () |
const AVCodec & | getAVCodec () const |
Protected Attributes | |
AVCodecContext * | _avCodecContext |
Full codec instance description (has ownership) More... | |
AVCodec * | _avCodec |
Codec abstract description. More... | |
const bool | _isCodecContextAllocated |
Is the AVCodecContext allocated by the class. More... | |
ECodecType | _type |
OptionMap | _options |
Private Member Functions | |
ICodec (const ICodec &iCodec) | |
ICodec & | operator= (const ICodec &iCodec) |
void | setCodec (const ECodecType type, const std::string &codecName) |
void | setCodec (const ECodecType type, const AVCodecID codecId) |
void | allocateContext () |
void | loadCodecOptions () |
Definition at line 25 of file ICodec.hpp.
|
private |
avtranscoder::ICodec::ICodec | ( | const ECodecType | type, |
const std::string & | codecName | ||
) |
Definition at line 13 of file ICodec.cpp.
References allocateContext(), loadCodecOptions(), and setCodec().
avtranscoder::ICodec::ICodec | ( | const ECodecType | type, |
const AVCodecID | codecId | ||
) |
Definition at line 24 of file ICodec.cpp.
References allocateContext(), loadCodecOptions(), and setCodec().
avtranscoder::ICodec::ICodec | ( | const ECodecType | type, |
AVCodecContext & | avCodecContext | ||
) |
Definition at line 35 of file ICodec.cpp.
References _avCodecContext, loadCodecOptions(), and setCodec().
|
pure virtual |
Definition at line 45 of file ICodec.cpp.
References _avCodecContext, and _isCodecContextAllocated.
|
private |
Definition at line 146 of file ICodec.cpp.
References _avCodec, and _avCodecContext.
Referenced by ICodec().
|
inline |
Definition at line 55 of file ICodec.hpp.
Referenced by avtranscoder::OutputFile::addAudioStream(), avtranscoder::OutputFile::addDataStream(), and avtranscoder::OutputFile::addVideoStream().
|
inline |
Definition at line 56 of file ICodec.hpp.
|
inline |
Definition at line 53 of file ICodec.hpp.
Referenced by avtranscoder::OutputFile::addAudioStream(), avtranscoder::OutputFile::addVideoStream(), avtranscoder::VideoDecoder::decodeNextFrame(), avtranscoder::AudioDecoder::decodeNextFrame(), avtranscoder::AudioEncoder::encode(), avtranscoder::VideoEncoder::encode(), avtranscoder::AudioEncoder::encodeFrame(), avtranscoder::VideoEncoder::encodeFrame(), avtranscoder::VideoDecoder::flushDecoder(), avtranscoder::AudioDecoder::flushDecoder(), avtranscoder::FilterGraph::pushInBuffer(), avtranscoder::VideoDecoder::setupDecoder(), avtranscoder::AudioDecoder::setupDecoder(), avtranscoder::AudioEncoder::setupEncoder(), and avtranscoder::VideoEncoder::setupEncoder().
|
inline |
Definition at line 54 of file ICodec.hpp.
AVCodecID avtranscoder::ICodec::getCodecId | ( | ) | const |
Definition at line 94 of file ICodec.cpp.
References _avCodecContext.
std::string avtranscoder::ICodec::getCodecName | ( | ) | const |
Definition at line 84 of file ICodec.cpp.
References _avCodecContext.
Referenced by avtranscoder::Transcoder::addDummyStream(), and avtranscoder::StreamTranscoder::StreamTranscoder().
|
inline |
Definition at line 43 of file ICodec.hpp.
int avtranscoder::ICodec::getLatency | ( | ) | const |
Definition at line 100 of file ICodec.cpp.
References _avCodecContext.
Referenced by avtranscoder::StreamTranscoder::preProcessCodecLatency().
|
inline |
Definition at line 50 of file ICodec.hpp.
Referenced by avtranscoder::AudioDecoder::setupDecoder(), avtranscoder::VideoDecoder::setupDecoder(), avtranscoder::AudioEncoder::setupEncoder(), and avtranscoder::VideoEncoder::setupEncoder().
std::vector< Option > avtranscoder::ICodec::getOptions | ( | ) |
|
inline |
Get options as map.
Definition at line 48 of file ICodec.hpp.
|
private |
Definition at line 156 of file ICodec.cpp.
References _avCodecContext, _options, _type, avtranscoder::eCodecTypeDecoder, avtranscoder::eCodecTypeEncoder, and avtranscoder::loadOptions().
Referenced by ICodec().
void avtranscoder::ICodec::openCodec | ( | ) |
Initialize the codec context.
Definition at line 56 of file ICodec.cpp.
References _avCodec, _avCodecContext, and avtranscoder::getDescriptionFromErrorCode().
Referenced by avtranscoder::AudioDecoder::setupDecoder(), avtranscoder::VideoDecoder::setupDecoder(), avtranscoder::AudioEncoder::setupEncoder(), and avtranscoder::VideoEncoder::setupEncoder().
|
private |
Definition at line 116 of file ICodec.cpp.
Referenced by ICodec().
|
private |
Definition at line 129 of file ICodec.cpp.
References _avCodec, _avCodecContext, avtranscoder::eCodecTypeDecoder, avtranscoder::eCodecTypeEncoder, and LOG_WARN.
|
protected |
Codec abstract description.
Definition at line 67 of file ICodec.hpp.
Referenced by allocateContext(), openCodec(), and setCodec().
|
protected |
Full codec instance description (has ownership)
Definition at line 66 of file ICodec.hpp.
Referenced by allocateContext(), avtranscoder::AudioCodec::getAudioFrameDesc(), getCodecId(), getCodecName(), getLatency(), avtranscoder::VideoCodec::getVideoFrameDesc(), ICodec(), loadCodecOptions(), openCodec(), avtranscoder::AudioCodec::setAudioParameters(), setCodec(), avtranscoder::VideoCodec::setImageParameters(), and ~ICodec().
|
protected |
Is the AVCodecContext allocated by the class.
Definition at line 68 of file ICodec.hpp.
Referenced by ~ICodec().
|
protected |
Definition at line 72 of file ICodec.hpp.
Referenced by getOptions(), and loadCodecOptions().
|
protected |
Definition at line 70 of file ICodec.hpp.
Referenced by loadCodecOptions().