FFmpeg
Loading...
Searching...
No Matches
ffmpeg.h
Go to the documentation of this file.
1/*
2 * This file is part of FFmpeg.
3 *
4 * FFmpeg is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * FFmpeg is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with FFmpeg; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18
19#ifndef FFTOOLS_FFMPEG_H
20#define FFTOOLS_FFMPEG_H
21
22#include "config.h"
23
24#include <stdatomic.h>
25#include <stdint.h>
26#include <stdio.h>
27#include <signal.h>
28
29#include "cmdutils.h"
30#include "ffmpeg_sched.h"
31#include "sync_queue.h"
32
34#include "libavformat/avio.h"
35
36#include "libavcodec/avcodec.h"
37#include "libavcodec/bsf.h"
38
40
41#include "libavutil/avutil.h"
42#include "libavutil/bprint.h"
43#include "libavutil/dict.h"
44#include "libavutil/eval.h"
45#include "libavutil/fifo.h"
46#include "libavutil/hwcontext.h"
47#include "libavutil/pixfmt.h"
48#include "libavutil/rational.h"
49#include "libavutil/thread.h"
51
53
54#define FFMPEG_ERROR_RATE_EXCEEDED FFERRTAG('E', 'R', 'E', 'D')
55
63
68
74
80
85
96
97typedef struct HWDevice {
98 const char *name;
101} HWDevice;
102
104 // no specifier given
106 // val is view index
108 // val is view ID
110 // specify view by its position, val is AV_STEREO3D_VIEW_LEFT/RIGHT
112 // use all views, val is ignored
114};
115
116typedef struct ViewSpecifier {
118 unsigned val;
120
121/* select an input stream for an output stream */
122typedef struct StreamMap {
123 int disabled; /* 1 is this mapping is disabled by a negative map */
127 char *linklabel; /* name of an output link, for mapping lavfi outputs */
128
130} StreamMap;
131
132typedef struct OptionsContext {
134
135 /* input/output options */
139 const char *format;
140
149
150 /* input options */
152 int loop;
154 float readrate;
161
169
170 /* output options */
173 const char **attachments;
175
177
186
191
192 // keys are stream indices
194
247
248 int depth;
250
258
259typedef struct InputFilterOptions {
262
263 uint8_t *name;
264
265 /* When IFILTER_FLAG_CFR is set, the stream is guaranteed to be CFR with
266 * this framerate.
267 *
268 * Otherwise, this is an estimate that should not be relied upon to be
269 * accurate */
271
272 unsigned crop_top;
273 unsigned crop_bottom;
274 unsigned crop_left;
275 unsigned crop_right;
276
279
280 // a combination of IFILTER_FLAG_*
281 unsigned flags;
282
285
288 // produce 24-bit audio
293};
294
295typedef struct OutputFilterOptions {
296 // Caller-provided name for this output
297 char *name;
298
299 // Codec used for encoding, may be NULL
300 const AVCodec *enc;
301
305
306 /* Desired output timebase.
307 * Numerator can be one of EncTimeBase values, or 0 when no preference.
308 */
310
313
315
316 // A combination of OFilterFlags.
317 unsigned flags;
318
320 int width;
325
326 unsigned crop_top;
327 unsigned crop_bottom;
328 unsigned crop_left;
329 unsigned crop_right;
330
334
337
338 union {
341 };
342 const int *sample_rates;
348
351
352 const char *reinit_opts;
353
354 // for simple filtergraphs only, view specifier passed
355 // along to the decoder
358
359typedef struct InputFilter {
361 uint8_t *name;
362 int index;
363
364 // filter data type
366
368
370
371 /* for filters that are not yet bound to an input stream,
372 * this stores the input linklabel, if any */
373 uint8_t *linklabel;
375
376typedef struct OutputFilter {
377 const AVClass *class;
378
380 uint8_t *name;
381 int index;
382
384
386
387 /* for filters that are not yet bound to an output stream,
388 * this stores the output linklabel, if any */
389 int bound;
390 uint8_t *linklabel;
391
392 char *apad;
393
395
399
400typedef struct FilterGraph {
401 const AVClass *class;
402 int index;
403
408
409 // true when the filtergraph is created internally for
410 // purposes like stream group merging. Meant to be freed
411 // if unbound.
413
414 const char *graph_desc;
415 struct AVBPrint graph_print_buf;
417
420 // input timestamps are unreliable (guessed by demuxer)
422 // decoder should override timestamps by fixed framerate
423 // from DecoderOpts.framerate
426 // force bitexact decoding
428};
429
430typedef struct DecoderOpts {
431 int flags;
432
433 char *name;
435
438
439 /* hwaccel options */
444
446
447 // Either forced (when DECODER_FLAG_FRAMERATE_FORCED is set) or
448 // estimated (otherwise) video framerate.
451
452typedef struct Decoder {
453 const AVClass *class;
454
456
459
460 // number of frames/samples retrieved from the decoder
464} Decoder;
465
466typedef struct InputStream {
467 const AVClass *class;
468
469 /* parent source */
471
472 int index;
473
476
477 /**
478 * Codec parameters - to be used by the decoding/streamcopy code.
479 * st->codecpar should not be accessed, because it may be modified
480 * concurrently by the demuxing thread.
481 */
484 const AVCodec *dec;
485
486 /* framerate forced with -r */
488
490
491 /* decoded data from this stream goes into all those filters
492 * currently video and audio only */
496
497typedef struct InputStreamGroup {
498 const AVClass *class;
499
500 /* parent source */
502
503 int index;
504
508
509typedef struct InputFile {
510 const AVClass *class;
511
512 int index;
513
517 /**
518 * Effective format start time based on enabled streams.
519 */
522 /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
524
525 /* streams that ffmpeg is aware of;
526 * there may be extra streams in ctx that are not mapped to an InputStream
527 * if new streams appear dynamically during demuxing */
530
531 /* stream groups that ffmpeg is aware of; */
534} InputFile;
535
544
545#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
546#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
547
569
570typedef struct EncStatsComponent {
572
573 uint8_t *str;
574 size_t str_len;
576
586
587enum {
589 // force keyframe if lavfi.scd.time metadata is set
591};
592
593typedef struct KeyframeForceCtx {
594 int type;
595
597
598 // timestamps of the forced keyframes, in AV_TIME_BASE_Q
601 int index;
602
605
608
609typedef struct Encoder {
610 const AVClass *class;
611
613
614 // initial encoder options
616 // pts|key=value list of options to reinitialize encoder
618
619 uint32_t codec_tag;
620 int flags;
623
624 // number of frames/samples sent to the encoder
627} Encoder;
628
635
636typedef struct OutputStream {
637 const AVClass *class;
638
640
641 /* parent muxer */
643
644 int index; /* stream index in the output file */
645
646 /* input stream that is the source for this output stream;
647 * may be NULL for streams with no well-defined source, e.g.
648 * attachments or outputs from complex filtergraphs */
650
651 AVStream *st; /* stream in the output file */
652
654
657
659
661
662 const char *logfile_prefix;
663 FILE *logfile;
664
665 // simple filtergraph feeding this stream, if any
668
670
671 /* stats */
672 // number of packets send to the muxer
674
675 /* packet quality factor */
677
680
681 /*
682 * bool on whether this stream should be utilized for splitting
683 * subtitles utilizing fix_sub_duration at random access points.
684 */
687
688typedef struct OutputFile {
689 const AVClass *class;
690
691 int index;
692
693 const char *url;
694
697
698 int64_t recording_time; ///< desired length of the resulting file in microseconds == AV_TIME_BASE units
699 int64_t start_time; ///< start time in microseconds == AV_TIME_BASE units
700
702} OutputFile;
703
704// optionally attached as opaque_ref to decoded AVFrames
705typedef struct FrameData {
706 // demuxer-estimated dts in AV_TIME_BASE_Q,
707 // to be used when real dts is missing
709
710 // properties that come from the decoder
711 struct {
712 uint64_t frame_num;
713
717
719
721
723
725
728
730} FrameData;
731
732extern InputFile **input_files;
733extern int nb_input_files;
734
735extern OutputFile **output_files;
736extern int nb_output_files;
737
738// complex filtergraphs
740extern int nb_filtergraphs;
741
742// standalone decoders (not tied to demuxed streams)
743extern Decoder **decoders;
744extern int nb_decoders;
745
746extern char *vstats_filename;
747
748extern float dts_delta_threshold;
749extern float dts_error_threshold;
750
752extern float frame_drop_threshold;
753extern int do_benchmark;
754extern int do_benchmark_all;
755extern int do_hex_dump;
756extern int do_pkt_dump;
757extern int copy_ts;
758extern int start_at_zero;
759extern int copy_tb;
760extern int debug_ts;
761extern int exit_on_error;
762extern int abort_on_flags;
763extern int print_stats;
764extern int64_t stats_period;
765extern int stdin_interaction;
767extern float max_error_rate;
768
769extern char *filter_nbthreads;
770extern int filter_complex_nbthreads;
771extern int filter_buffered_frames;
772extern int vstats_version;
773extern int print_graphs;
774extern char *print_graphs_file;
775extern char *print_graphs_format;
776extern int auto_conversion_filters;
777
778extern const AVIOInterruptCB int_cb;
779
780extern const OptionDef options[];
782
784
785extern int ignore_unknown_streams;
786extern int copy_unknown_streams;
787
788extern int recast_media;
789
790extern FILE *vstats_file;
791
792void term_init(void);
793void term_exit(void);
794
795void show_usage(void);
796
797int check_avoptions_used(const AVDictionary *opts, const AVDictionary *opts_used,
798 void *logctx, int decode);
799
800int assert_file_overwrite(const char *filename);
801int find_codec(void *logctx, const char *name,
802 enum AVMediaType type, int encoder, const AVCodec **codec);
803int parse_and_set_vsync(const char *arg, enum VideoSyncMethod *vsync_var, int file_idx, int st_idx);
804
807 InputStream *ist,
808 char **graph_desc,
809 Scheduler *sch, unsigned sched_idx_enc,
811int fg_finalise_bindings(void);
812
813/**
814 * Get our axiliary frame data attached to the frame, allocating it
815 * if needed.
816 */
818
820
823
824int ofilter_bind_enc(OutputFilter *ofilter,
825 unsigned sched_idx_enc,
827
828/**
829 * Create a new filtergraph in the global filtergraph list.
830 *
831 * @param graph_desc Pointer to graph description; an av_malloc()ed string, filtergraph
832 * takes ownership of it.
833 */
834int fg_create(FilterGraph **pfg, char **graph_desc, Scheduler *sch,
836
837void fg_free(FilterGraph **pfg);
838
839void fg_send_command(FilterGraph *fg, double time, const char *target,
840 const char *command, const char *arg, int all_filters);
841
842int ffmpeg_parse_options(int argc, char **argv, Scheduler *sch);
843
845 const AVFrame *frame, const AVPacket *pkt,
846 uint64_t frame_num);
847
850int hw_device_init_from_string(const char *arg, HWDevice **dev);
852 const char *device,
853 HWDevice **dev_out);
854void hw_device_free_all(void);
855
856/**
857 * Get a hardware device to be used with this filtergraph.
858 * The returned reference is owned by the callee, the caller
859 * must ref it explicitly for long-term use.
860 */
862
863/**
864 * Create a standalone decoder.
865 */
866int dec_create(const OptionsContext *o, const char *arg, Scheduler *sch);
867
868/**
869 * @param dec_opts Dictionary filled with decoder options. Its ownership
870 * is transferred to the decoder.
871 * @param param_out If non-NULL, media properties after opening the decoder
872 * are written here.
873 *
874 * @retval ">=0" non-negative scheduler index on success
875 * @retval "<0" an error code on failure
876 */
877int dec_init(Decoder **pdec, Scheduler *sch,
878 AVDictionary **dec_opts, const DecoderOpts *o,
879 AVFrame *param_out);
880void dec_free(Decoder **pdec);
881
882/*
883 * Called by filters to connect decoder's output to given filtergraph input.
884 *
885 * @param opts filtergraph input options, to be filled by this function
886 */
888 const ViewSpecifier *vs, SchedulerNode *src);
889
890/*
891 * For multiview video, request output of the view(s) determined by vs.
892 * May be called multiple times.
893 *
894 * If this function is never called, only the base view is output. If it is
895 * called at least once, only the views requested are output.
896 *
897 * @param src scheduler node from which the frames corresponding vs
898 * will originate
899 */
900int dec_request_view(Decoder *dec, const ViewSpecifier *vs,
902
903int enc_alloc(Encoder **penc, const AVCodec *codec,
904 Scheduler *sch, unsigned sch_idx, void *log_parent);
905void enc_free(Encoder **penc);
906
907int enc_open(void *opaque, const AVFrame *frame);
908
909int enc_loopback(Encoder *enc);
910
911/*
912 * Initialize muxing state for the given stream, should be called
913 * after the codec/streamcopy setup has been done.
914 *
915 * Open the muxer once all the streams have been initialized.
916 */
918 const AVCodecContext *enc_ctx);
920int of_open(const OptionsContext *o, const char *filename, Scheduler *sch);
921void of_free(OutputFile **pof);
922
923void of_enc_stats_close(void);
924
926
927int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch);
928void ifile_close(InputFile **f);
929
930int ist_use(InputStream *ist, int decoding_needed,
931 const ViewSpecifier *vs, SchedulerNode *src);
932int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
935
936/**
937 * Find an unused input stream of given type.
938 */
940
941/* iterate over all input streams in all input files;
942 * pass NULL to start iteration */
944
945/* iterate over all output streams in all output files;
946 * pass NULL to start iteration */
948
949void update_benchmark(const char *fmt, ...);
950
951const char *opt_match_per_type_str(const SpecifierOptList *sol,
952 char mediatype);
953void opt_match_per_stream_str(void *logctx, const SpecifierOptList *sol,
954 AVFormatContext *fc, AVStream *st, const char **out);
955void opt_match_per_stream_int(void *logctx, const SpecifierOptList *sol,
956 AVFormatContext *fc, AVStream *st, int *out);
957void opt_match_per_stream_int64(void *logctx, const SpecifierOptList *sol,
959void opt_match_per_stream_dbl(void *logctx, const SpecifierOptList *sol,
960 AVFormatContext *fc, AVStream *st, double *out);
961
963 AVFormatContext *fc, AVStreamGroup *stg, const char **out);
965 AVFormatContext *fc, AVStreamGroup *stg, int *out);
969 AVFormatContext *fc, AVStreamGroup *stg, double *out);
970
971int view_specifier_parse(const char **pspec, ViewSpecifier *vs);
972
973int muxer_thread(void *arg);
974int encoder_thread(void *arg);
975
976#endif /* FFTOOLS_FFMPEG_H */
static FILE * out
static AVDictionary * opts
Libavcodec external API header.
Main libavfilter public API header.
Main libavformat public API header.
Buffered I/O operations.
Convenience header that includes libavutil's core.
AVBPrint public header.
#define f(width, name)
Definition cbs_vp8.c:236
long long int64_t
Definition coverity.c:34
static const uint16_t fc[]
Definition dcaenc.h:43
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
static AVPacket * pkt
static AVFrame * frame
Public dictionary API.
simple arithmetic expression evaluator
AVIOContext * progress_avio
Definition ffmpeg.c:106
int nb_filtergraphs
Definition ffmpeg.c:115
InputFile ** input_files
Definition ffmpeg.c:108
const AVIOInterruptCB int_cb
Definition ffmpeg.c:322
int nb_input_files
Definition ffmpeg.c:109
FilterGraph ** filtergraphs
Definition ffmpeg.c:114
int nb_output_files
Definition ffmpeg.c:112
Decoder ** decoders
Definition ffmpeg.c:117
atomic_uint nb_output_dumped
Definition ffmpeg.c:103
int nb_decoders
Definition ffmpeg.c:118
FILE * vstats_file
Definition ffmpeg.c:92
OutputFile ** output_files
Definition ffmpeg.c:111
char * filter_nbthreads
Definition ffmpeg_opt.c:73
int debug_ts
Definition ffmpeg_opt.c:67
const FrameData * frame_data_c(AVFrame *frame)
Definition ffmpeg.c:497
void dec_free(Decoder **pdec)
Definition ffmpeg_dec.c:118
HWAccelID
Definition ffmpeg.h:69
@ HWACCEL_NONE
Definition ffmpeg.h:70
@ HWACCEL_GENERIC
Definition ffmpeg.h:72
@ HWACCEL_AUTO
Definition ffmpeg.h:71
float max_error_rate
Definition ffmpeg_opt.c:72
FrameData * frame_data(AVFrame *frame)
Get our axiliary frame data attached to the frame, allocating it if needed.
Definition ffmpeg.c:491
int muxer_thread(void *arg)
Definition ffmpeg_mux.c:403
void opt_match_per_stream_group_dbl(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStreamGroup *stg, double *out)
int start_at_zero
Definition ffmpeg_opt.c:65
int dec_request_view(Decoder *dec, const ViewSpecifier *vs, SchedulerNode *src)
int fg_finalise_bindings(void)
int64_t of_filesize(OutputFile *of)
Definition ffmpeg_mux.c:918
void term_exit(void)
Definition ffmpeg.c:135
FrameData * packet_data(AVPacket *pkt)
Definition ffmpeg.c:503
int of_stream_init(OutputFile *of, OutputStream *ost, const AVCodecContext *enc_ctx)
Definition ffmpeg_mux.c:607
int print_stats
Definition ffmpeg_opt.c:70
IFilterFlags
Definition ffmpeg.h:251
@ IFILTER_FLAG_CFR
Definition ffmpeg.h:254
@ IFILTER_FLAG_DROPCHANGED
Definition ffmpeg.h:256
@ IFILTER_FLAG_REINIT
Definition ffmpeg.h:253
@ IFILTER_FLAG_CROP
Definition ffmpeg.h:255
@ IFILTER_FLAG_AUTOROTATE
Definition ffmpeg.h:252
PacketOpaque
Definition ffmpeg.h:81
@ PKT_OPAQUE_SUB_HEARTBEAT
Definition ffmpeg.h:82
@ PKT_OPAQUE_FIX_SUB_DURATION
Definition ffmpeg.h:83
void opt_match_per_stream_group_int(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStreamGroup *stg, int *out)
int stdin_interaction
Definition ffmpeg_opt.c:71
const FrameData * packet_data_c(AVPacket *pkt)
Definition ffmpeg.c:509
int do_benchmark
Definition ffmpeg_opt.c:60
void ifile_close(InputFile **f)
int do_hex_dump
Definition ffmpeg_opt.c:62
int enc_loopback(Encoder *enc)
void opt_match_per_stream_group_int64(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStreamGroup *stg, int64_t *out)
int view_specifier_parse(const char **pspec, ViewSpecifier *vs)
Definition ffmpeg_opt.c:306
int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple, const ViewSpecifier *vs, InputFilterOptions *opts, SchedulerNode *src)
AVBufferRef * hw_device_for_filter(void)
Get a hardware device to be used with this filtergraph.
Definition ffmpeg_hw.c:298
LatencyProbe
Definition ffmpeg.h:86
@ LATENCY_PROBE_FILTER_POST
Definition ffmpeg.h:91
@ LATENCY_PROBE_NB
Definition ffmpeg.h:94
@ LATENCY_PROBE_ENC_PRE
Definition ffmpeg.h:92
@ LATENCY_PROBE_DEC_PRE
Definition ffmpeg.h:88
@ LATENCY_PROBE_DEC_POST
Definition ffmpeg.h:89
@ LATENCY_PROBE_DEMUX
Definition ffmpeg.h:87
@ LATENCY_PROBE_ENC_POST
Definition ffmpeg.h:93
@ LATENCY_PROBE_FILTER_PRE
Definition ffmpeg.h:90
float dts_error_threshold
Definition ffmpeg_opt.c:57
int enc_alloc(Encoder **penc, const AVCodec *codec, Scheduler *sch, unsigned sch_idx, void *log_parent)
Definition ffmpeg_enc.c:125
void fg_send_command(FilterGraph *fg, double time, const char *target, const char *command, const char *arg, int all_filters)
ViewSpecifierType
Definition ffmpeg.h:103
@ VIEW_SPECIFIER_TYPE_ALL
Definition ffmpeg.h:113
@ VIEW_SPECIFIER_TYPE_POS
Definition ffmpeg.h:111
@ VIEW_SPECIFIER_TYPE_IDX
Definition ffmpeg.h:107
@ VIEW_SPECIFIER_TYPE_ID
Definition ffmpeg.h:109
@ VIEW_SPECIFIER_TYPE_NONE
Definition ffmpeg.h:105
OutputStream * ost_iter(OutputStream *prev)
Definition ffmpeg.c:381
HWDevice * hw_device_get_by_name(const char *name)
Definition ffmpeg_hw.c:42
int parse_and_set_vsync(const char *arg, enum VideoSyncMethod *vsync_var, int file_idx, int st_idx)
Definition ffmpeg_opt.c:359
int abort_on_flags
Definition ffmpeg_opt.c:69
int ignore_unknown_streams
Definition ffmpeg_opt.c:86
int filter_complex_nbthreads
Definition ffmpeg_opt.c:74
int ist_use(InputStream *ist, int decoding_needed, const ViewSpecifier *vs, SchedulerNode *src)
int copy_unknown_streams
Definition ffmpeg_opt.c:87
float frame_drop_threshold
Definition ffmpeg_opt.c:59
void show_usage(void)
int find_codec(void *logctx, const char *name, enum AVMediaType type, int encoder, const AVCodec **codec)
Definition ffmpeg_opt.c:783
CroppingType
Definition ffmpeg.h:629
@ CROP_CODEC
Definition ffmpeg.h:632
@ CROP_DISABLED
Definition ffmpeg.h:630
@ CROP_CONTAINER
Definition ffmpeg.h:633
@ CROP_ALL
Definition ffmpeg.h:631
char * print_graphs_format
Definition ffmpeg_opt.c:79
int encoder_thread(void *arg)
void of_free(OutputFile **pof)
Definition ffmpeg_mux.c:891
int recast_media
Definition ffmpeg_opt.c:88
int enc_open(void *opaque, const AVFrame *frame)
Definition ffmpeg_enc.c:424
void opt_match_per_stream_int(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStream *st, int *out)
FrameOpaque
Definition ffmpeg.h:75
@ FRAME_OPAQUE_SEND_COMMAND
Definition ffmpeg.h:78
@ FRAME_OPAQUE_SUB_HEARTBEAT
Definition ffmpeg.h:76
@ FRAME_OPAQUE_EOF
Definition ffmpeg.h:77
int of_open(const OptionsContext *o, const char *filename, Scheduler *sch)
int ffmpeg_parse_options(int argc, char **argv, Scheduler *sch)
void hw_device_free_all(void)
Definition ffmpeg_hw.c:286
int assert_file_overwrite(const char *filename)
Definition ffmpeg_opt.c:816
int print_graphs
Definition ffmpeg_opt.c:77
int dec_create(const OptionsContext *o, const char *arg, Scheduler *sch)
Create a standalone decoder.
void opt_match_per_stream_dbl(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStream *st, double *out)
int vstats_version
Definition ffmpeg_opt.c:76
int auto_conversion_filters
Definition ffmpeg_opt.c:80
char * vstats_filename
Definition ffmpeg_opt.c:54
void of_enc_stats_close(void)
int copy_tb
Definition ffmpeg_opt.c:66
int of_write_trailer(OutputFile *of)
Definition ffmpeg_mux.c:787
void opt_match_per_stream_group_str(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStreamGroup *stg, const char **out)
InputStream * ist_find_unused(enum AVMediaType type)
Find an unused input stream of given type.
HWDevice * filter_hw_device
Definition ffmpeg_opt.c:52
forced_keyframes_const
Definition ffmpeg.h:536
@ FKF_NB
Definition ffmpeg.h:542
@ FKF_PREV_FORCED_N
Definition ffmpeg.h:539
@ FKF_T
Definition ffmpeg.h:541
@ FKF_PREV_FORCED_T
Definition ffmpeg.h:540
@ FKF_N_FORCED
Definition ffmpeg.h:538
@ FKF_N
Definition ffmpeg.h:537
const char * opt_match_per_type_str(const SpecifierOptList *sol, char mediatype)
Definition ffmpeg_opt.c:165
OFilterFlags
Definition ffmpeg.h:286
@ OFILTER_FLAG_AUTOROTATE
Definition ffmpeg.h:291
@ OFILTER_FLAG_CROP
Definition ffmpeg.h:292
@ OFILTER_FLAG_AUDIO_24BIT
Definition ffmpeg.h:289
@ OFILTER_FLAG_AUTOSCALE
Definition ffmpeg.h:290
@ OFILTER_FLAG_DISABLE_CONVERT
Definition ffmpeg.h:287
VideoSyncMethod
Definition ffmpeg.h:56
@ VSYNC_VFR
Definition ffmpeg.h:60
@ VSYNC_AUTO
Definition ffmpeg.h:57
@ VSYNC_PASSTHROUGH
Definition ffmpeg.h:58
@ VSYNC_CFR
Definition ffmpeg.h:59
@ VSYNC_VSCFR
Definition ffmpeg.h:61
int dec_init(Decoder **pdec, Scheduler *sch, AVDictionary **dec_opts, const DecoderOpts *o, AVFrame *param_out)
int fg_create(FilterGraph **pfg, char **graph_desc, Scheduler *sch, const OutputFilterOptions *opts)
Create a new filtergraph in the global filtergraph list.
int check_avoptions_used(const AVDictionary *opts, const AVDictionary *opts_used, void *logctx, int decode)
Definition ffmpeg.c:515
int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch)
void opt_match_per_stream_int64(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStream *st, int64_t *out)
int hw_device_init_from_type(enum AVHWDeviceType type, const char *device, HWDevice **dev_out)
Definition ffmpeg_hw.c:243
int fg_create_simple(FilterGraph **pfg, InputStream *ist, char **graph_desc, Scheduler *sch, unsigned sched_idx_enc, const OutputFilterOptions *opts)
@ KF_FORCE_SCD_METADATA
Definition ffmpeg.h:590
@ KF_FORCE_SOURCE
Definition ffmpeg.h:588
char * print_graphs_file
Definition ffmpeg_opt.c:78
void term_init(void)
Definition ffmpeg.c:205
EncTimeBase
Definition ffmpeg.h:64
@ ENC_TIME_BASE_DEMUX
Definition ffmpeg.h:65
@ ENC_TIME_BASE_FILTER
Definition ffmpeg.h:66
void enc_free(Encoder **penc)
Definition ffmpeg_enc.c:73
float dts_delta_threshold
Definition ffmpeg_opt.c:56
int64_t stats_period
Definition ffmpeg_opt.c:81
int ofilter_bind_enc(OutputFilter *ofilter, unsigned sched_idx_enc, const OutputFilterOptions *opts)
int copy_ts
Definition ffmpeg_opt.c:64
int hw_device_init_from_string(const char *arg, HWDevice **dev)
Definition ffmpeg_hw.c:92
int do_benchmark_all
Definition ffmpeg_opt.c:61
void update_benchmark(const char *fmt,...)
Definition ffmpeg.c:565
int filtergraph_is_simple(const FilterGraph *fg)
HWDevice * hw_device_get_by_type(enum AVHWDeviceType type)
Definition ffmpeg_hw.c:28
InputStream * ist_iter(InputStream *prev)
Definition ffmpeg.c:397
int exit_on_error
Definition ffmpeg_opt.c:68
void fg_free(FilterGraph **pfg)
int do_pkt_dump
Definition ffmpeg_opt.c:63
EncStatsType
Definition ffmpeg.h:548
@ ENC_STATS_STREAM_IDX
Definition ffmpeg.h:551
@ ENC_STATS_PTS_TIME
Definition ffmpeg.h:557
@ ENC_STATS_SAMPLE_NUM
Definition ffmpeg.h:562
@ ENC_STATS_AVG_BITRATE
Definition ffmpeg.h:566
@ ENC_STATS_LITERAL
Definition ffmpeg.h:549
@ ENC_STATS_TIMEBASE
Definition ffmpeg.h:554
@ ENC_STATS_KEYFRAME
Definition ffmpeg.h:567
@ ENC_STATS_DTS_TIME
Definition ffmpeg.h:561
@ ENC_STATS_PKT_SIZE
Definition ffmpeg.h:564
@ ENC_STATS_FRAME_NUM_IN
Definition ffmpeg.h:553
@ ENC_STATS_PTS
Definition ffmpeg.h:556
@ ENC_STATS_FRAME_NUM
Definition ffmpeg.h:552
@ ENC_STATS_FILE_IDX
Definition ffmpeg.h:550
@ ENC_STATS_DTS
Definition ffmpeg.h:560
@ ENC_STATS_BITRATE
Definition ffmpeg.h:565
@ ENC_STATS_PTS_IN
Definition ffmpeg.h:558
@ ENC_STATS_TIMEBASE_IN
Definition ffmpeg.h:555
@ ENC_STATS_PTS_TIME_IN
Definition ffmpeg.h:559
@ ENC_STATS_NB_SAMPLES
Definition ffmpeg.h:563
void enc_stats_write(OutputStream *ost, EncStats *es, const AVFrame *frame, const AVPacket *pkt, uint64_t frame_num)
Definition ffmpeg_enc.c:550
int filter_buffered_frames
Definition ffmpeg_opt.c:75
DecoderFlags
Definition ffmpeg.h:418
@ DECODER_FLAG_SEND_END_TS
Definition ffmpeg.h:425
@ DECODER_FLAG_BITEXACT
Definition ffmpeg.h:427
@ DECODER_FLAG_FIX_SUB_DURATION
Definition ffmpeg.h:419
@ DECODER_FLAG_FRAMERATE_FORCED
Definition ffmpeg.h:424
@ DECODER_FLAG_TS_UNRELIABLE
Definition ffmpeg.h:421
int dec_filter_add(Decoder *dec, InputFilter *ifilter, InputFilterOptions *opts, const ViewSpecifier *vs, SchedulerNode *src)
void opt_match_per_stream_str(void *logctx, const SpecifierOptList *sol, AVFormatContext *fc, AVStream *st, const char **out)
enum VideoSyncMethod video_sync_method
A generic FIFO API.
AVMediaType
Definition avutil.h:198
AVSampleFormat
Audio sample formats.
Definition samplefmt.h:55
AVHWDeviceType
Definition hwcontext.h:27
cl_device_type type
const char * arg
Definition jacosubdec.c:65
_fmutex pthread_mutex_t
Definition os2threads.h:53
pixel format definitions
AVColorRange
Visual content value range.
Definition pixfmt.h:748
AVAlphaMode
Correlation between the alpha channel and color values.
Definition pixfmt.h:816
AVPixelFormat
Pixel format.
Definition pixfmt.h:71
AVColorSpace
YUV colorspace type.
Definition pixfmt.h:706
const char * name
Definition qsvenc.c:142
Utilities for rational number calculation.
int atomic_int
Definition stdatomic.h:63
FF_ATOMIC_ALIGN64 uint_least64_t atomic_uint_least64_t
Definition stdatomic.h:80
unsigned int atomic_uint
Definition stdatomic.h:64
A reference to a data buffer.
Definition buffer.h:82
An AVChannelLayout holds information about the channel layout of audio data.
Describe the class of an AVClass context structure.
Definition log.h:76
main external API structure.
Definition avcodec.h:443
This struct describes the properties of an encoded stream.
Definition codec_par.h:49
AVCodec.
Definition codec.h:175
Definition eval.c:171
An instance of a filter.
Definition avfilter.h:273
Format I/O context.
Definition avformat.h:1335
Structure to hold side data for an AVFrame.
Definition frame.h:327
This structure describes decoded (raw) audio or video data.
Definition frame.h:472
Bytestream IO Context.
Definition avio.h:160
Callback for checking whether to abort blocking functions.
Definition avio.h:59
This structure stores compressed data.
Definition packet.h:580
Rational number (pair of numerator and denominator).
Definition rational.h:58
Stream structure.
Definition avformat.h:768
const AVCodec * codec
Definition ffmpeg.h:436
int flags
Definition ffmpeg.h:431
enum AVHWDeviceType hwaccel_device_type
Definition ffmpeg.h:441
const AVCodecParameters * par
Definition ffmpeg.h:437
void * log_parent
Definition ffmpeg.h:434
char * hwaccel_device
Definition ffmpeg.h:442
char * name
Definition ffmpeg.h:433
enum AVPixelFormat hwaccel_output_format
Definition ffmpeg.h:443
enum HWAccelID hwaccel_id
Definition ffmpeg.h:440
AVRational time_base
Definition ffmpeg.h:445
AVRational framerate
Definition ffmpeg.h:449
uint64_t decode_errors
Definition ffmpeg.h:463
uint8_t * subtitle_header
Definition ffmpeg.h:457
uint64_t frames_decoded
Definition ffmpeg.h:461
uint64_t samples_decoded
Definition ffmpeg.h:462
int subtitle_header_size
Definition ffmpeg.h:458
enum AVMediaType type
Definition ffmpeg.h:455
enum EncStatsType type
Definition ffmpeg.h:571
uint8_t * str
Definition ffmpeg.h:573
int nb_components
Definition ffmpeg.h:579
AVIOContext * io
Definition ffmpeg.h:581
EncStatsComponent * components
Definition ffmpeg.h:578
pthread_mutex_t lock
Definition ffmpeg.h:583
int lock_initialized
Definition ffmpeg.h:584
AVDictionary * encoder_opts
Definition ffmpeg.h:615
int global_quality
Definition ffmpeg.h:622
AVCodecContext * enc_ctx
Definition ffmpeg.h:612
uint64_t frames_encoded
Definition ffmpeg.h:625
uint64_t samples_encoded
Definition ffmpeg.h:626
char * reinit_opts
Definition ffmpeg.h:617
uint32_t codec_tag
Definition ffmpeg.h:619
int flags
Definition ffmpeg.h:620
int flags2
Definition ffmpeg.h:621
struct AVBPrint graph_print_buf
Definition ffmpeg.h:415
int index
Definition ffmpeg.h:402
int nb_outputs
Definition ffmpeg.h:407
int is_internal
Definition ffmpeg.h:412
OutputFilter ** outputs
Definition ffmpeg.h:406
int nb_inputs
Definition ffmpeg.h:405
const char * graph_desc
Definition ffmpeg.h:414
InputFilter ** inputs
Definition ffmpeg.h:404
int64_t dts_est
Definition ffmpeg.h:708
uint64_t frame_num
Definition ffmpeg.h:712
struct FrameData::@304126211346234154321045014345346376220164157123 dec
AVRational frame_rate_filter
Definition ffmpeg.h:718
int64_t wallclock[LATENCY_PROBE_NB]
Definition ffmpeg.h:722
int64_t pts
Definition ffmpeg.h:714
int nb_side_data
Definition ffmpeg.h:727
AVCodecParameters * par_enc
Definition ffmpeg.h:724
int bits_per_raw_sample
Definition ffmpeg.h:720
AVFrameSideData ** side_data
Definition ffmpeg.h:726
AVDictionary * reinit_opts
Definition ffmpeg.h:729
AVRational tb
Definition ffmpeg.h:715
AVBufferRef * device_ref
Definition ffmpeg.h:100
enum AVHWDeviceType type
Definition ffmpeg.h:99
const char * name
Definition ffmpeg.h:98
int64_t ts_offset
Definition ffmpeg.h:521
AVFormatContext * ctx
Definition ffmpeg.h:514
int64_t input_ts_offset
Definition ffmpeg.h:515
int index
Definition ffmpeg.h:512
int input_sync_ref
Definition ffmpeg.h:516
int nb_stream_groups
Definition ffmpeg.h:533
int64_t start_time_effective
Effective format start time based on enabled streams.
Definition ffmpeg.h:520
InputStream ** streams
Definition ffmpeg.h:528
InputStreamGroup ** stream_groups
Definition ffmpeg.h:532
int64_t start_time
Definition ffmpeg.h:523
int nb_streams
Definition ffmpeg.h:529
uint8_t * name
Definition ffmpeg.h:263
AVRational framerate
Definition ffmpeg.h:270
int64_t trim_end_us
Definition ffmpeg.h:261
unsigned flags
Definition ffmpeg.h:281
int64_t trim_start_us
Definition ffmpeg.h:260
unsigned crop_bottom
Definition ffmpeg.h:273
unsigned crop_right
Definition ffmpeg.h:275
AVFrame * fallback
Definition ffmpeg.h:283
unsigned crop_left
Definition ffmpeg.h:274
unsigned crop_top
Definition ffmpeg.h:272
uint8_t * name
Definition ffmpeg.h:361
AVFilterContext * filter
Definition ffmpeg.h:367
uint8_t * linklabel
Definition ffmpeg.h:373
char * input_name
Definition ffmpeg.h:369
enum AVMediaType type
Definition ffmpeg.h:365
struct FilterGraph * graph
Definition ffmpeg.h:360
int index
Definition ffmpeg.h:362
FilterGraph * fg
Definition ffmpeg.h:505
struct InputFile * file
Definition ffmpeg.h:501
AVStreamGroup * stg
Definition ffmpeg.h:506
int fix_sub_duration
Definition ffmpeg.h:489
int index
Definition ffmpeg.h:472
struct InputFile * file
Definition ffmpeg.h:470
Decoder * decoder
Definition ffmpeg.h:483
int nb_filters
Definition ffmpeg.h:494
int user_set_discard
Definition ffmpeg.h:475
AVCodecParameters * par
Codec parameters - to be used by the decoding/streamcopy code.
Definition ffmpeg.h:482
AVStream * st
Definition ffmpeg.h:474
InputFilter ** filters
Definition ffmpeg.h:493
const AVCodec * dec
Definition ffmpeg.h:484
AVRational framerate
Definition ffmpeg.h:487
int64_t * pts
Definition ffmpeg.h:599
int64_t ref_pts
Definition ffmpeg.h:596
double expr_const_values[FKF_NB]
Definition ffmpeg.h:604
int dropped_keyframe
Definition ffmpeg.h:606
AVExpr * pexpr
Definition ffmpeg.h:603
SpecifierOptList mastering_displays
Definition ffmpeg.h:210
float mux_preload
Definition ffmpeg.h:181
SpecifierOptList rc_overrides
Definition ffmpeg.h:212
SpecifierOptList enc_stats_pre
Definition ffmpeg.h:241
SpecifierOptList canvas_sizes
Definition ffmpeg.h:225
SpecifierOptList metadata_map
Definition ffmpeg.h:216
int nb_stream_maps
Definition ffmpeg.h:172
SpecifierOptList frame_pix_fmts
Definition ffmpeg.h:148
SpecifierOptList intra_matrices
Definition ffmpeg.h:213
SpecifierOptList autorotate
Definition ffmpeg.h:167
SpecifierOptList enc_stats_post_fmt
Definition ffmpeg.h:245
SpecifierOptList codec_tags
Definition ffmpeg.h:199
SpecifierOptList hwaccel_devices
Definition ffmpeg.h:165
SpecifierOptList stream_groups
Definition ffmpeg.h:235
SpecifierOptList qscale
Definition ffmpeg.h:201
int64_t start_time
Definition ffmpeg.h:136
SpecifierOptList enc_stats_post
Definition ffmpeg.h:242
SpecifierOptList codec_names
Definition ffmpeg.h:141
const char * format
Definition ffmpeg.h:139
SpecifierOptList discard
Definition ffmpeg.h:232
int64_t input_ts_offset
Definition ffmpeg.h:151
SpecifierOptList ts_scale
Definition ffmpeg.h:162
int nb_attachments
Definition ffmpeg.h:174
SpecifierOptList mux_stats
Definition ffmpeg.h:243
SpecifierOptList disposition
Definition ffmpeg.h:233
int input_sync_ref
Definition ffmpeg.h:159
SpecifierOptList audio_channels
Definition ffmpeg.h:143
StreamMap * stream_maps
Definition ffmpeg.h:171
SpecifierOptList hwaccels
Definition ffmpeg.h:164
SpecifierOptList inter_matrices
Definition ffmpeg.h:214
SpecifierOptList stereo3ds
Definition ffmpeg.h:206
SpecifierOptList mux_stats_fmt
Definition ffmpeg.h:246
int accurate_seek
Definition ffmpeg.h:157
SpecifierOptList pass
Definition ffmpeg.h:226
SpecifierOptList dump_attachment
Definition ffmpeg.h:163
SpecifierOptList muxing_queue_data_threshold
Definition ffmpeg.h:229
float readrate
Definition ffmpeg.h:154
int find_stream_info
Definition ffmpeg.h:160
SpecifierOptList presets
Definition ffmpeg.h:217
SpecifierOptList copy_prior_start
Definition ffmpeg.h:219
int64_t recording_time
Definition ffmpeg.h:178
SpecifierOptList time_bases
Definition ffmpeg.h:236
SpecifierOptList frame_rates
Definition ffmpeg.h:145
SpecifierOptList forced_key_frames
Definition ffmpeg.h:202
float shortest_buf_duration
Definition ffmpeg.h:183
SpecifierOptList drop_changed
Definition ffmpeg.h:222
SpecifierOptList display_vflips
Definition ffmpeg.h:209
SpecifierOptList keep_metadata
Definition ffmpeg.h:196
SpecifierOptList enc_stats_pre_fmt
Definition ffmpeg.h:244
SpecifierOptList force_fps
Definition ffmpeg.h:204
int64_t start_time_eof
Definition ffmpeg.h:137
int thread_queue_size
Definition ffmpeg.h:158
SpecifierOptList display_hflips
Definition ffmpeg.h:208
int data_disable
Definition ffmpeg.h:190
int chapters_input_file
Definition ffmpeg.h:176
SpecifierOptList max_frame_rates
Definition ffmpeg.h:146
int video_disable
Definition ffmpeg.h:187
int audio_disable
Definition ffmpeg.h:188
SpecifierOptList program
Definition ffmpeg.h:234
SpecifierOptList fps_mode
Definition ffmpeg.h:203
SpecifierOptList copy_initial_nonkeyframes
Definition ffmpeg.h:218
SpecifierOptList filters
Definition ffmpeg.h:220
SpecifierOptList enc_reinit_opts
Definition ffmpeg.h:240
AVDictionary * streamid
Definition ffmpeg.h:193
SpecifierOptList max_muxing_queue_size
Definition ffmpeg.h:228
SpecifierOptList hwaccel_output_formats
Definition ffmpeg.h:166
SpecifierOptList bits_per_raw_sample
Definition ffmpeg.h:239
SpecifierOptList guess_layout_max
Definition ffmpeg.h:230
int64_t stop_time
Definition ffmpeg.h:179
const char ** attachments
Definition ffmpeg.h:173
SpecifierOptList passlogfiles
Definition ffmpeg.h:227
float readrate_catchup
Definition ffmpeg.h:155
SpecifierOptList display_rotations
Definition ffmpeg.h:207
SpecifierOptList enc_time_bases
Definition ffmpeg.h:237
SpecifierOptList apply_cropping
Definition ffmpeg.h:168
int64_t limit_filesize
Definition ffmpeg.h:180
SpecifierOptList reinit_filters
Definition ffmpeg.h:221
SpecifierOptList audio_sample_rate
Definition ffmpeg.h:144
SpecifierOptList sample_fmts
Definition ffmpeg.h:200
SpecifierOptList frame_aspect_ratios
Definition ffmpeg.h:205
double readrate_initial_burst
Definition ffmpeg.h:156
float mux_max_delay
Definition ffmpeg.h:182
SpecifierOptList autoscale
Definition ffmpeg.h:238
SpecifierOptList fix_sub_duration
Definition ffmpeg.h:223
SpecifierOptList max_frames
Definition ffmpeg.h:197
SpecifierOptList metadata
Definition ffmpeg.h:195
SpecifierOptList bitstream_filters
Definition ffmpeg.h:198
SpecifierOptList chroma_intra_matrices
Definition ffmpeg.h:215
SpecifierOptList fix_sub_duration_heartbeat
Definition ffmpeg.h:224
SpecifierOptList apad
Definition ffmpeg.h:231
SpecifierOptList content_lights
Definition ffmpeg.h:211
int subtitle_disable
Definition ffmpeg.h:189
SpecifierOptList frame_sizes
Definition ffmpeg.h:147
int seek_timestamp
Definition ffmpeg.h:138
SpecifierOptList audio_ch_layouts
Definition ffmpeg.h:142
OptionGroup * g
Definition ffmpeg.h:133
int index
Definition ffmpeg.h:691
const char * url
Definition ffmpeg.h:693
int bitexact
Definition ffmpeg.h:701
OutputStream ** streams
Definition ffmpeg.h:695
int nb_streams
Definition ffmpeg.h:696
int64_t start_time
start time in microseconds == AV_TIME_BASE units
Definition ffmpeg.h:699
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
Definition ffmpeg.h:698
enum AVColorSpace color_space
Definition ffmpeg.h:322
const char * reinit_opts
Definition ffmpeg.h:352
int64_t trim_duration_us
Definition ffmpeg.h:303
unsigned crop_top
Definition ffmpeg.h:326
const ViewSpecifier * vs
Definition ffmpeg.h:356
const AVCodec * enc
Definition ffmpeg.h:300
AVFrameSideData ** side_data
Definition ffmpeg.h:349
unsigned crop_right
Definition ffmpeg.h:329
enum AVAlphaMode * alpha_modes
Definition ffmpeg.h:347
int64_t trim_start_us
Definition ffmpeg.h:302
int64_t ts_offset
Definition ffmpeg.h:304
AVRational frame_rate
Definition ffmpeg.h:332
AVDictionary * sws_opts
Definition ffmpeg.h:311
int64_t nb_threads
Definition ffmpeg.h:314
AVDictionary * swr_opts
Definition ffmpeg.h:312
enum AVColorRange color_range
Definition ffmpeg.h:323
const int * sample_rates
Definition ffmpeg.h:342
enum AVPixelFormat * pix_fmts
Definition ffmpeg.h:339
enum AVSampleFormat * sample_fmts
Definition ffmpeg.h:340
AVRational output_tb
Definition ffmpeg.h:309
unsigned crop_left
Definition ffmpeg.h:328
AVChannelLayout ch_layout
Definition ffmpeg.h:336
AVRational max_frame_rate
Definition ffmpeg.h:333
enum AVAlphaMode alpha_mode
Definition ffmpeg.h:324
const AVChannelLayout * ch_layouts
Definition ffmpeg.h:343
unsigned crop_bottom
Definition ffmpeg.h:327
enum AVColorSpace * color_spaces
Definition ffmpeg.h:345
enum AVColorRange * color_ranges
Definition ffmpeg.h:346
enum VideoSyncMethod vsync_method
Definition ffmpeg.h:331
const AVRational * frame_rates
Definition ffmpeg.h:344
atomic_uint_least64_t nb_frames_drop
Definition ffmpeg.h:397
AVFilterContext * filter
Definition ffmpeg.h:383
char * output_name
Definition ffmpeg.h:385
uint8_t * name
Definition ffmpeg.h:380
uint8_t * linklabel
Definition ffmpeg.h:390
atomic_uint_least64_t nb_frames_dup
Definition ffmpeg.h:396
struct FilterGraph * graph
Definition ffmpeg.h:379
char * apad
Definition ffmpeg.h:392
enum AVMediaType type
Definition ffmpeg.h:394
unsigned int fix_sub_duration_heartbeat
Definition ffmpeg.h:685
int bitexact
Definition ffmpeg.h:655
const char * logfile_prefix
Definition ffmpeg.h:662
atomic_uint_least64_t packets_written
Definition ffmpeg.h:673
AVRational frame_aspect_ratio
Definition ffmpeg.h:658
enum AVMediaType type
Definition ffmpeg.h:639
EncStats enc_stats_pre
Definition ffmpeg.h:678
struct OutputFile * file
Definition ffmpeg.h:642
int bits_per_raw_sample
Definition ffmpeg.h:656
InputStream * ist
Definition ffmpeg.h:649
KeyframeForceCtx kf
Definition ffmpeg.h:660
char * attachment_filename
Definition ffmpeg.h:669
EncStats enc_stats_post
Definition ffmpeg.h:679
FilterGraph * fg_simple
Definition ffmpeg.h:666
atomic_int quality
Definition ffmpeg.h:676
OutputFilter * filter
Definition ffmpeg.h:667
AVCodecContext * enc
Definition mux.c:55
FILE * logfile
Definition ffmpeg.h:663
AVStream * st
Definition mux.c:54
int stream_index
Definition ffmpeg.h:125
int disabled
Definition ffmpeg.h:123
ViewSpecifier vs
Definition ffmpeg.h:129
char * linklabel
Definition ffmpeg.h:127
int group_index
Definition ffmpeg.h:126
int file_index
Definition ffmpeg.h:124
unsigned val
Definition ffmpeg.h:118
enum ViewSpecifierType type
Definition ffmpeg.h:117
libswresample public header
#define src
Definition vp8dsp.c:248
static AVStream * ost
static int command(AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags)