gmerlin
|
Codec plugin. More...
#include <plugin.h>
Data Fields | |
bg_plugin_common_t | common |
Infos and functions common to all plugin types. More... | |
const gavl_codec_id_t *(* | get_compressions )(void *priv) |
Get supported compressions. More... | |
gavl_audio_sink_t *(* | open_encode_audio )(void *priv, gavl_compression_info_t *ci, gavl_audio_format_t *fmt, gavl_metadata_t *m) |
Connect audio encoder. More... | |
gavl_video_sink_t *(* | open_encode_video )(void *priv, gavl_compression_info_t *ci, gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect video encoder. More... | |
gavl_video_sink_t *(* | open_encode_overlay )(void *priv, gavl_compression_info_t *ci, gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect overlay encoder. More... | |
void(* | set_packet_sink )(void *priv, gavl_packet_sink_t *s) |
Set a packet sink. More... | |
gavl_audio_source_t *(* | connect_decode_audio )(void *priv, gavl_packet_source_t *src, const gavl_compression_info_t *ci, const gavl_audio_format_t *fmt, gavl_metadata_t *m) |
Connect audio decoder. More... | |
gavl_video_source_t *(* | connect_decode_video )(void *priv, gavl_packet_source_t *src, const gavl_compression_info_t *ci, const gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect video decoder. More... | |
gavl_video_source_t *(* | connect_decode_overlay )(void *priv, gavl_packet_source_t *src, const gavl_compression_info_t *ci, const gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect overlay decoder. More... | |
void(* | reset )(void *priv) |
Reset a decoder. More... | |
int64_t(* | skip )(void *priv, int64_t t) |
Skip to a time. More... | |
int(* | set_pass )(void *priv, int pass, int total_passes, const char *stats_file) |
Set pass for an encoder. More... | |
Codec plugin.
Transform audio frames into compressed packets or back
bg_plugin_common_t bg_codec_plugin_s::common |
Infos and functions common to all plugin types.
const gavl_codec_id_t*(* bg_codec_plugin_s::get_compressions)(void *priv) |
Get supported compressions.
priv | The handle returned by the create() method |
gavl_audio_sink_t*(* bg_codec_plugin_s::open_encode_audio)(void *priv, gavl_compression_info_t *ci, gavl_audio_format_t *fmt, gavl_metadata_t *m) |
Connect audio encoder.
priv | The handle returned by the create() method |
ci | Compression info (must be freed by the caller) |
fmt | Format of the source |
m | Stream metadata (might get changed by the call) |
gavl_video_sink_t*(* bg_codec_plugin_s::open_encode_video)(void *priv, gavl_compression_info_t *ci, gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect video encoder.
priv | The handle returned by the create() method |
ci | Compression info (must be freed by the caller) |
fmt | Format of the source |
m | Stream metadata (might get changed by the call) |
gavl_video_sink_t*(* bg_codec_plugin_s::open_encode_overlay)(void *priv, gavl_compression_info_t *ci, gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect overlay encoder.
priv | The handle returned by the create() method |
ci | Compression info (must be freed by the caller) |
fmt | Format of the source |
m | Stream metadata (might get changed by the call) |
void(* bg_codec_plugin_s::set_packet_sink)(void *priv, gavl_packet_sink_t *s) |
Set a packet sink.
priv | The handle returned by the create() method |
sink | A sink where the encoder can send completed packets |
gavl_audio_source_t*(* bg_codec_plugin_s::connect_decode_audio)(void *priv, gavl_packet_source_t *src, const gavl_compression_info_t *ci, const gavl_audio_format_t *fmt, gavl_metadata_t *m) |
Connect audio decoder.
priv | The handle returned by the create() method |
sink | Source where get the packets |
fmt | Format from the container (possibly incomplete) |
m | Stream metadata (might get changed by the call) |
gavl_video_source_t*(* bg_codec_plugin_s::connect_decode_video)(void *priv, gavl_packet_source_t *src, const gavl_compression_info_t *ci, const gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect video decoder.
priv | The handle returned by the create() method |
sink | Source where get the packets |
fmt | Format from the container (possibly incomplete) |
m | Stream metadata (might get changed by the call) |
gavl_video_source_t*(* bg_codec_plugin_s::connect_decode_overlay)(void *priv, gavl_packet_source_t *src, const gavl_compression_info_t *ci, const gavl_video_format_t *fmt, gavl_metadata_t *m) |
Connect overlay decoder.
priv | The handle returned by the create() method |
sink | Source where get the packets |
fmt | Format from the container (possibly incomplete) |
m | Stream metadata (might get changed by the call) |
void(* bg_codec_plugin_s::reset)(void *priv) |
Reset a decoder.
priv | The handle returned by the create() method |
Call this after seeking
int64_t(* bg_codec_plugin_s::skip)(void *priv, int64_t t) |
Skip to a time.
priv | The handle returned by the create() method |
t | Time to skip to |
int(* bg_codec_plugin_s::set_pass)(void *priv, int pass, int total_passes, const char *stats_file) |
Set pass for an encoder.
priv | The handle returned by the create() method |
pass | Number of this pass (starting with 1) |
total_passes | Number of total passes |
stats_file | Name of a file, which can be used for multipass statistics |