|
|
| | Encoder (std::shared_ptr< StormByte::Logger::Log > log, int output_index, const Codec &codec) noexcept |
| | Encoder for output track output_index and destination codec.
|
| |
| | Encoder (const Encoder &other)=delete |
| | Copy constructor.
|
| |
| | Encoder (Encoder &&other) noexcept=delete |
| | Move constructor.
|
| |
| | ~Encoder () noexcept override |
| | Destructor.
|
| |
| Encoder & | operator= (const Encoder &other)=delete |
| | Copy assignment.
|
| |
| Encoder & | operator= (Encoder &&other) noexcept=delete |
| | Move assignment.
|
| |
|
| | operator bool () const noexcept |
| | true if the backend is open and not failed.
|
| |
| int | Index () const noexcept |
| | Mux destination order key.
|
| |
| std::size_t | InputCeiling () const noexcept override |
| | Ceiling of the encoder input hopper.
|
| |
| const Codec & | Destination () const noexcept |
| | Destination codec.
|
| |
| bool | Opened () const noexcept |
| | Whether the backend finished Open().
|
| |
| std::optional< int > | AudioChannels () const noexcept |
| | Encoder channel count after Open(), audio only.
|
| |
| std::optional< int > | AudioSampleRate () const noexcept |
| | Encoder sample rate after Open(), audio only.
|
| |
| std::optional< int > | AudioFrameSize () const noexcept |
| | Encoder frame_size after Open(), audio only.
|
| |
| std::optional< int > | AudioSampleFormat () const noexcept |
| | Encoder sample format after Open(), audio only.
|
| |
|
| const std::string & | EncoderTag () const noexcept |
| | Writing-application tag stamped on every encoded stream.
|
| |
|
| const std::optional< std::string > & | Implementation () const noexcept |
| | Pinned FFmpeg encoder name, if any.
|
| |
| void | Implementation (std::string name) noexcept |
| | Pins an FFmpeg encoder name.
|
| |
| const Features & | Require () const noexcept |
| | Extra features the caller demands besides Frame HDR.
|
| |
| void | Require (Features features) noexcept |
| | Replaces the extra feature mask (before open).
|
| |
| const Features & | Capabilities () const noexcept |
| | Features of the row selected at open.
|
| |
|
| void | CRF (int value) noexcept |
| | Constant quality (CRF/CQ).
|
| |
| const std::optional< int > & | CRF () const noexcept |
| | CRF/CQ, if set.
|
| |
| void | BitRate (std::int64_t bits_per_second) noexcept |
| | Target bitrate in bits per second.
|
| |
| const std::optional< std::int64_t > & | BitRate () const noexcept |
| | Target bitrate, if set.
|
| |
| void | MaxBitRate (std::int64_t bits_per_second) noexcept |
| | VBV ceiling in bits per second.
|
| |
| const std::optional< std::int64_t > & | MaxBitRate () const noexcept |
| | VBV ceiling, if set.
|
| |
| void | Preset (std::string name) noexcept |
| | Encoder preset.
|
| |
| const std::optional< std::string > & | Preset () const noexcept |
| | Preset, if set.
|
| |
| void | Tune (std::string name) noexcept |
| | Content tune.
|
| |
| const std::optional< std::string > & | Tune () const noexcept |
| | Content tune, if set.
|
| |
|
| const std::map< std::string, std::string > & | FineTune () const noexcept |
| | Vendor leftovers.
|
| |
| void | FineTune (std::map< std::string, std::string > options) noexcept |
| | Replaces the vendor dict (before open).
|
| |
| | Step (const Step &other)=delete |
| |
| | Step (Step &&other) noexcept=delete |
| |
| virtual | ~Step () noexcept |
| | Destructor.
|
| |
| Step & | operator= (const Step &other)=delete |
| |
| Step & | operator= (Step &&other) noexcept=delete |
| |
| std::condition_variable & | Wake () noexcept |
| | Consumer condition variable.
|
| |
| const std::shared_ptr< class Plan > & | Plan () const noexcept |
| | Bound job intention, if any.
|
| |
| const Kinds & | Receives () const noexcept |
| | Kinds this step consumes.
|
| |
| const Kinds & | Produces () const noexcept |
| | Kinds this step emits.
|
| |
| State | Status () const noexcept |
| | Current lifecycle value.
|
| |
| virtual bool | Ready () const noexcept |
| | Whether this step can take work.
|
| |
| void | Stop () noexcept |
| | Asks the worker to leave and closes all hoppers.
|
| |
| bool | Failed () const noexcept |
| | Whether this step has failed.
|
| |
| const std::optional< std::string > & | Error () const noexcept |
| | Failure text.
|
| |
| void | Fail (std::string reason) noexcept |
| | Marks Failed, closes all hoppers and wakes the worker.
|
| |
|
| Backend::Pipeline::Pipe & | pipe () noexcept |
| | In / out hoppers of this stage.
|
| |
| const Backend::Pipeline::Pipe & | pipe () const noexcept |
| | In / out hoppers of this stage.
|
| |
| | Step (std::shared_ptr< StormByte::Logger::Log > log, enum Producer name, Kinds receives, Kinds produces) noexcept |
| | Step in State::Created.
|
| |
| void | Emit (Item::PointerType item) noexcept |
| | Write item to the Pipe (item >> pipe).
|
| |
| Item::PointerType | CloneItem (const Item &item) const noexcept |
| | Deep-copies item through Item::Clone.
|
| |
| void | Wait () noexcept |
| | Sleeps on Wake until hopper Ready, Failed or Stopping.
|
| |
| void | Launch () noexcept |
| | Starts the pumper: Setup, Ready, Pump.
|
| |
| void | Halt () noexcept |
| | Stop and join the pumper.
|
| |
| bool | Stopping () const noexcept |
| | Worker must return (Stop, Halt or Fail).
|
| |
| void | RecordWork (std::int64_t microseconds) noexcept |
| | Adds one Process duration to the step summary.
|
| |
| std::int64_t | LastWork () const noexcept |
| | Duration of the last timed Process, or 0.
|
| |
| void | DumpWork () noexcept |
| | Writes min/max Process time at Debug.
|
| |
| Backend::Pipeline::Host & | Face () noexcept |
| | Owner surface for the Pumper and Worker.
|
| |
| void | Mount (std::unique_ptr< Backend::Pipeline::Pumper > pumper, std::unique_ptr< Backend::Pipeline::Worker > worker) noexcept |
| | Takes ownership of pumper and binds worker.
|
| |
| std::shared_ptr< StormByte::Logger::Log > | m_log |
| |
| enum Producer | m_name |
| | UseLog leaf / default Label.
|
| |
| Kinds | m_receives |
| | Receives.
|
| |
| Kinds | m_produces |
| | Produces.
|
| |
Encodes frames of one output track into packets.
Notice: destination codec when the backend first opens. LowLevel unit lines are always written; the shared logger throttles. One incoming frame counts once; packets produced in that Work share the sample. Pts/Dts on Wrap are the flattened encoder clock (the line that catches a bad DTS flatten). The Through pumper times each Process.
Label is Encoder(libx265) when an implementation is pinned or selected, otherwise Encoder(<registry name>).
Encode-look is Backend::Pipeline::Pipe::CloneTo on the encode Pipe (Filters dest look). There is no side hopper.