|
StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
|
Demux / decode / filter / encode / mux types. More...
Namespaces | |
| namespace | Config |
| Per-track intention stored by Plan. | |
| namespace | Filter |
| Forward so this RAII type can friend the filter base. | |
Classes | |
| class | Decoder |
| Decodes packets of one origin track into frames. More... | |
| class | DecoderFlags |
| Bitmask of DecoderFlag. More... | |
| class | Demuxer |
| Reads interleaved packets from a File origin. More... | |
| class | Encoder |
| Encodes frames of one output track into packets. More... | |
| class | Filters |
| Optional facade: Between stretches, Add filters, Close. More... | |
| class | Frame |
| One decoded access unit. More... | |
| class | Item |
| Facade shared by Frame and Packet. More... | |
| class | Kinds |
| Bitmask of Kind. More... | |
| class | Muxer |
| Writes interleaved packets to a destination container. More... | |
| class | Packet |
| One compressed access unit. More... | |
| class | Plan |
| Closed job intention: source File, destination container and tracks that enter the tube. More... | |
| class | PlanException |
| Thrown when Plan::Check finds a malformed plan. More... | |
| class | Remuxer |
| Forwards compressed packets of one origin track to the muxer. More... | |
| class | Route |
| Owns the filter chain of one origin track and two ends. More... | |
| class | SideData |
| One side-data blob attached to a Frame or Packet. More... | |
| class | Step |
| One stage with a Backend::Pipeline::Pipe (in / out). More... | |
| class | Track |
| One source stream that enters the tube. More... | |
| class | Tracks |
| Ordered tube tracks. More... | |
| class | TrackSettled |
| What an encoder actually opened. More... | |
| class | Transcoder |
| Facade that maps tracks and runs one file-to-file job. More... | |
Typedefs | |
| using | CheckResult = StormByte::Expected< void, PlanException > |
| Outcome of Plan::Check. | |
Enumerations | |
| enum class | DecoderFlag : std::uint8_t { HeuristicsHDR10 = 1u << 0 } |
| Decoder behaviour bits. More... | |
| enum class | SideDataKind { MasteringDisplay , ContentLight , HdrPlus , HdrVivid , A53CC , Stereo3D , DisplayMatrix , IccProfile , S12MTimecode , Spherical , SeiUnregistered , FilmGrain , DolbyVisionRpu , DolbyVision , AmbientViewing , Other } |
| Known libav side-data kinds on a Frame or Packet. More... | |
| enum class | Status { Stopped , Running , Paused , Done , Error , Aborted } |
| enum class | Kind : std::uint8_t { Packet = 1 << 0 , Frame = 1 << 1 } |
| enum class | Producer : std::uint8_t { Demuxer , Decoder , Remuxer , Filter , Route , Filters , Encoder , Muxer } |
| enum class | State : std::uint8_t { Created , Ready , Stopping , Stopped , Failed } |
Functions | |
| Decoder & | operator>> (Demuxer &demuxer, Decoder &decoder) noexcept |
Binds one origin track of demuxer to decoder. | |
| Encoder & | operator>> (Encoder &encoder, Muxer &muxer) noexcept |
Reserves encoder as an output track of muxer. | |
| Remuxer & | operator>> (Remuxer &remuxer, Muxer &muxer) noexcept |
Reserves remuxer as an output track of muxer. | |
| Muxer & | operator>> (Muxer &muxer, const std::filesystem::path &path) noexcept |
Binds the output path of muxer. | |
| Muxer & | operator>> (const File &file, Muxer &muxer) noexcept |
Snapshots attachments of file onto muxer. | |
| Muxer & | operator>> (Demuxer &demuxer, Muxer &muxer) noexcept |
Binds demuxer as remux origin and forwards its attachments. | |
| Demuxer & | operator>> (Plan &&plan, Demuxer &demuxer) noexcept |
Hands plan to demuxer. | |
| Remuxer & | operator>> (Demuxer &demuxer, Remuxer &remuxer) noexcept |
Binds origin track remuxer.In() from demuxer onto remuxer. | |
| class Step & | operator>> (Step &from, Step &to) noexcept |
Shares Plan and binds every output hopper of from onto to. | |
| constexpr const char * | ToString (Kind kind) noexcept |
| Converts a single Kind flag to a string literal. | |
| constexpr const char * | ToString (Producer producer) noexcept |
| Converts a Producer to a string literal. | |
Variables | |
| const DecoderFlags | Heuristics {DecoderFlag::HeuristicsHDR10} |
| All current heuristic bits. | |
Demux / decode / filter / encode / mux types.
| using StormByte::Multimedia::Pipeline::CheckResult = typedef StormByte::Expected<void, PlanException> |
Outcome of Plan::Check.
|
strong |
|
strong |
|
strong |
|
strong |
Known libav side-data kinds on a Frame or Packet.
Unmapped libav types use SideDataKind::Other and keep the FFmpeg name in SideData::Name.
|
strong |
|
strong |
| Enumerator | |
|---|---|
| Stopped | Open succeeded; Run has not started, or OnStart declined. |
| Running | Coordinator is alive and not paused. |
| Paused | Pause(); coordinator blocks until Resume or Cancel. |
| Done | Finished and flushed. |
| Error | A stage failed; Error() has text. |
| Aborted | Cancel() while Running/Paused, or OnStart returned Aborted. |
Snapshots attachments of file onto muxer.
| file | Source file. |
| muxer | Destination. |
muxer.
|
noexcept |
Binds one origin track of demuxer to decoder.
| demuxer | Origin demuxer. |
| decoder | Destination decoder. |
decoder. Binds demuxer as remux origin and forwards its attachments.
Required when any remux track is reserved. Without it the muxer cannot clone origin codec parameters.
| demuxer | Origin demuxer. Must outlive header write. |
| muxer | Destination. |
muxer.
|
noexcept |
Binds origin track remuxer.In() from demuxer onto remuxer.
| demuxer | Origin demuxer. |
| remuxer | Destination remuxer. |
remuxer. Reserves encoder as an output track of muxer.
| encoder | Live encoder. |
| muxer | Destination. |
encoder. Hands plan to demuxer.
Not a Step bind.
| plan | Intention (moved). |
| demuxer | Destination. |
demuxer.Stores the Plan on the Demuxer and wakes it. Does not call Plan::Check and does not bind hoppers.
Reserves remuxer as an output track of muxer.
| remuxer | Live remuxer. |
| muxer | Destination. |
remuxer.
|
constexprnoexcept |
Converts a single Kind flag to a string literal.
| kind | Value to convert. |
"Frame", "Packet", or "Invalid" for a mask or zero.
|
constexprnoexcept |
Converts a Producer to a string literal.
| producer | Value to convert. |
"Invalid".
|
inline |
All current heuristic bits.