|
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().