avcpp  2.0
Wrapper for the FFmpeg that simplify usage from C++ projects.
Public Member Functions | Protected Member Functions | List of all members
av::GenericCodecContext Class Reference

The GenericCodecContext class to copy contexts from input streams to output one. More...

#include <codeccontext.h>

Inheritance diagram for av::GenericCodecContext:
Inheritance graph
[legend]
Collaboration diagram for av::GenericCodecContext:
Collaboration graph
[legend]

Public Member Functions

 GenericCodecContext ()=default
 
 GenericCodecContext (Stream st)
 
 GenericCodecContext (GenericCodecContext &&other)
 
GenericCodecContextoperator= (GenericCodecContext &&rhs)
 
AVMediaType codecType () const noexcept
 
- Public Member Functions inherited from av::CodecContext2
void open (OptionalErrorCode ec=throws())
 
void open (const Codec &codec, OptionalErrorCode ec=throws())
 
void open (class Dictionary &options, OptionalErrorCode ec=throws())
 
void open (class Dictionary &&options, OptionalErrorCode ec=throws())
 
void open (class Dictionary &options, const Codec &codec, OptionalErrorCode ec=throws())
 
void open (class Dictionary &&options, const Codec &codec, OptionalErrorCode ec=throws())
 
void close (OptionalErrorCode ec=throws())
 
bool isOpened () const noexcept
 
bool isValid () const noexcept
 
Rational timeBase () const noexcept
 
void setTimeBase (const Rational &value) noexcept
 
const Streamstream () const noexcept
 
Codec codec () const noexcept
 
void setOption (const std::string &key, const std::string &val, OptionalErrorCode ec=throws())
 
void setOption (const std::string &key, const std::string &val, int flags, OptionalErrorCode ec=throws())
 
int frameSize () const noexcept
 
int64_t frameNumber () const noexcept
 
bool isRefCountedFrames () const noexcept
 
void setRefCountedFrames (bool refcounted) const noexcept
 
int strict () const noexcept
 
void setStrict (int strict) noexcept
 
int64_t bitRate () const noexcept
 
std::pair< int64_t, int64_t > bitRateRange () const noexcept
 
void setBitRate (int64_t bitRate) noexcept
 
void setBitRateRange (const std::pair< int64_t, int64_t > &bitRateRange) noexcept
 
template<typename T >
std::pair< int, const std::error_category * > decodeCommon (T &outFrame, const class Packet &inPacket, size_t offset, int &frameFinished, int(*decodeProc)(AVCodecContext *, AVFrame *, int *, const AVPacket *))
 
template<typename T >
std::pair< int, const std::error_category * > encodeCommon (class Packet &outPacket, const T &inFrame, int &gotPacket, int(*encodeProc)(AVCodecContext *, AVPacket *, const AVFrame *, int *))
 
template<typename T >
std::pair< int, const std::error_category * > decodeCommon (T &outFrame, const Packet &inPacket, size_t offset, int &frameFinished, int(*decodeProc)(AVCodecContext *, AVFrame *, int *, const AVPacket *))
 
void copyContextFrom (const CodecContext2 &other, OptionalErrorCode ec=throws())
 Copy codec context from codec context associated with given stream or other codec context. More...
 
void setFlags (int flags) noexcept
 Access to CODEC_FLAG_* flags. More...
 
void addFlags (int flags) noexcept
 
void clearFlags (int flags) noexcept
 
int flags () noexcept
 
bool isFlags (int flags) noexcept
 
void setFlags2 (int flags) noexcept
 Access to CODEC_FLAG2_* flags. More...
 
void addFlags2 (int flags) noexcept
 
void clearFlags2 (int flags) noexcept
 
int flags2 () noexcept
 
bool isFlags2 (int flags) noexcept
 
- Public Member Functions inherited from FFWrapperPtr< AVCodecContext >
 FFWrapperPtr ()=default
 
 FFWrapperPtr (AVCodecContext *raw)
 
const AVCodecContext * raw () const
 
AVCodecContext * raw ()
 
void reset (AVCodecContext *raw=nullptr)
 
bool isNull () const
 
void _log (int level, const char *fmt) const
 
void _log (int level, const char *fmt, const Args &... args) const
 

Protected Member Functions

AVMediaType codecType (AVMediaType contextType) const noexcept
 
- Protected Member Functions inherited from av::CodecContext2
void swap (CodecContext2 &other)
 
 CodecContext2 ()
 
 CodecContext2 (const class Stream &st, const class Codec &codec, Direction direction, AVMediaType type)
 
 CodecContext2 (const class Codec &codec, Direction direction, AVMediaType type)
 
 ~CodecContext2 ()
 
void setCodec (const class Codec &codec, bool resetDefaults, Direction direction, AVMediaType type, OptionalErrorCode ec=throws())
 
AVMediaType codecType (AVMediaType contextType) const noexcept
 
bool isValidForEncode (Direction direction, AVMediaType type) const noexcept
 
bool checkCodec (const Codec &codec, Direction direction, AVMediaType type, OptionalErrorCode ec)
 
void open (const Codec &codec, AVDictionary **options, OptionalErrorCode ec)
 
std::pair< int, const std::error_category * > decodeCommon (AVFrame *outFrame, const class Packet &inPacket, size_t offset, int &frameFinished, int(*decodeProc)(AVCodecContext *, AVFrame *, int *, const AVPacket *)) noexcept
 
std::pair< int, const std::error_category * > encodeCommon (class Packet &outPacket, const AVFrame *inFrame, int &gotPacket, int(*encodeProc)(AVCodecContext *, AVPacket *, const AVFrame *, int *)) noexcept
 
- Protected Member Functions inherited from av::noncopyable
 noncopyable ()=default
 
 noncopyable (const noncopyable &)=delete
 
void operator= (const noncopyable &)=delete
 

Additional Inherited Members

- Protected Types inherited from av::CodecContext2
using BaseWrapper = FFWrapperPtr< AVCodecContext >
 
- Protected Attributes inherited from FFWrapperPtr< AVCodecContext >
AVCodecContext * m_raw
 

Detailed Description

The GenericCodecContext class to copy contexts from input streams to output one.

We should omit strong direction checking in this case. Only when we cast it to the appropriate encoding coder.

Constructor & Destructor Documentation

◆ GenericCodecContext() [1/3]

av::GenericCodecContext::GenericCodecContext ( )
default

◆ GenericCodecContext() [2/3]

av::GenericCodecContext::GenericCodecContext ( Stream  st)

◆ GenericCodecContext() [3/3]

av::GenericCodecContext::GenericCodecContext ( GenericCodecContext &&  other)

Member Function Documentation

◆ codecType() [1/2]

AVMediaType av::GenericCodecContext::codecType ( ) const
noexcept

◆ codecType() [2/2]

AVMediaType av::CodecContext2::codecType
protectednoexcept

◆ operator=()

GenericCodecContext & av::GenericCodecContext::operator= ( GenericCodecContext &&  rhs)

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