RAII decoder context with optional BSF pipeline.
More...
#include <StormByte/multimedia/ffmpeg/AVDecoder.hxx>
|
| constexpr | AVPointer (std::decay_t< ::AVCodecContext > *ptr) noexcept |
| | Adopts ptr.
|
| |
| constexpr const std::decay_t< ::AVCodecContext > * | Get () const noexcept |
| | Const view of the raw FFmpeg pointer.
|
| |
| constexpr std::decay_t< ::AVCodecContext > * | Get () noexcept |
| | Mutable view of the raw FFmpeg pointer.
|
| |
| constexpr std::decay_t< ::AVCodecContext > * | Detach () noexcept |
| | Yields the raw pointer and leaves this wrapper empty.
|
| |
| std::decay_t< ::AVCodecContext > * | m_ptr |
| | Owned FFmpeg pointer.
|
| |
RAII decoder context with optional BSF pipeline.
◆ AVDecoder() [1/2]
| StormByte::Multimedia::FFmpeg::AVDecoder::AVDecoder |
( |
const AVDecoder & |
| ) |
|
|
delete |
Copy constructor (deleted).
◆ AVDecoder() [2/2]
| StormByte::Multimedia::FFmpeg::AVDecoder::AVDecoder |
( |
AVDecoder && |
other | ) |
|
|
defaultnoexcept |
Move constructor.
- Parameters
-
◆ ~AVDecoder()
| StormByte::Multimedia::FFmpeg::AVDecoder::~AVDecoder |
( |
| ) |
|
|
overridenoexcept |
◆ DecodeSubtitle()
Decodes one subtitle packet (avcodec_decode_subtitle2).
- Parameters
-
| pkt | Compressed packet. |
| out | Filled when a subtitle is produced. |
- Returns
- Success, TryAgain (no subtitle this packet), EndOfFile or Error.
◆ Flush()
| void StormByte::Multimedia::FFmpeg::AVDecoder::Flush |
( |
| ) |
|
|
noexcept |
Flushes decoder and BSF buffers (does not signal EOF).
◆ IsSubtitle()
| bool StormByte::Multimedia::FFmpeg::AVDecoder::IsSubtitle |
( |
| ) |
const |
|
noexcept |
true if the opened codec is a subtitle decoder.
- Returns
- true for subtitle codecs.
◆ Open() [1/2]
Opens a decoder from codec and parameters; may attach mp4→Annex-B BSF.
- Parameters
-
| codec | Decoder codec. |
| params | Stream codec parameters. |
| fmt | Parent format context (for BSF decision). |
| stream_index | Stream index this decoder serves. |
- Returns
- Decoder or DecoderError.
◆ Open() [2/2]
Opens a decoder from codec and parameters.
No BSF.
- Parameters
-
- Returns
- Decoder or DecoderError.
For Analytics encode-look: packets already left the Encoder, so mp4→Annex-B is not applied. Use the four-argument Open when the parent format is known.
◆ operator=() [1/2]
Move assignment.
- Parameters
-
- Returns
- *this.
◆ operator=() [2/2]
Copy assignment (deleted).
- Returns
- *this.
◆ ReceiveFrame()
Receives a decoded frame.
- Parameters
-
- Returns
- Operation result.
◆ SendPacket()
Sends a packet (after BSF) to the decoder.
- Parameters
-
| pkt | Packet for this stream. |
- Returns
- Operation result.
◆ SetEof()
Signals EOF (avcodec_send_packet(nullptr) + BSF EOF).
- Returns
- Success/EndOfFile when the null packet was accepted, TryAgain if frames must be drained first.
◆ StreamIndex()
| int StormByte::Multimedia::FFmpeg::AVDecoder::StreamIndex |
( |
| ) |
const |
|
noexcept |
Stream index this decoder was opened for.
- Returns
- Stream index.
◆ TimeBase()
| AVRational StormByte::Multimedia::FFmpeg::AVDecoder::TimeBase |
( |
| ) |
const |
|
noexcept |
Time base used for decoded frame timestamps.
- Returns
pkt_timebase if set, otherwise time_base.
The documentation for this class was generated from the following file: