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
246
247 int depth;
249
257
258typedef struct InputFilterOptions {
261
262 uint8_t *name;
263
264 /* When IFILTER_FLAG_CFR is set, the stream is guaranteed to be CFR with
265 * this framerate.
266 *
267 * Otherwise, this is an estimate that should not be relied upon to be
268 * accurate */
270
271 unsigned crop_top;
272 unsigned crop_bottom;
273 unsigned crop_left;
274 unsigned crop_right;
275
278
279 // a combination of IFILTER_FLAG_*
280 unsigned flags;
281
284
287 // produce 24-bit audio
292};
293
294typedef struct OutputFilterOptions {
295 // Caller-provided name for this output
296 char *name;
297
298 // Codec used for encoding, may be NULL
299 const AVCodec *enc;
300
304
305 /* Desired output timebase.
306 * Numerator can be one of EncTimeBase values, or 0 when no preference.
307 */
309
312
314
315 // A combination of OFilterFlags.
316 unsigned flags;
317
319 int width;
324
325 unsigned crop_top;
326 unsigned crop_bottom;
327 unsigned crop_left;
328 unsigned crop_right;
329
333
336
337 union {
340 };
341 const int *sample_rates;
347
350
351 const char *reinit_opts;
352
353 // for simple filtergraphs only, view specifier passed
354 // along to the decoder
357
358typedef struct InputFilter {
360 uint8_t *name;
361 int index;
362
363 // filter data type
365
367
369
370 /* for filters that are not yet bound to an input stream,
371 * this stores the input linklabel, if any */
372 uint8_t *linklabel;
374
375typedef struct OutputFilter {
376 const AVClass *class;
377
379 uint8_t *name;
380 int index;
381
383
385
386 /* for filters that are not yet bound to an output stream,
387 * this stores the output linklabel, if any */
388 int bound;
389 uint8_t *linklabel;
390
391 char *apad;
392
394
398
399typedef struct FilterGraph {
400 const AVClass *class;
401 int index;
402
407
408 // true when the filtergraph is created internally for
409 // purposes like stream group merging. Meant to be freed
410 // if unbound.
412
413 const char *graph_desc;
414 struct AVBPrint graph_print_buf;
416
419 // input timestamps are unreliable (guessed by demuxer)
421 // decoder should override timestamps by fixed framerate
422 // from DecoderOpts.framerate
425 // force bitexact decoding
427};
428
429typedef struct DecoderOpts {
430 int flags;
431
432 char *name;
434
437
438 /* hwaccel options */
443
445
446 // Either forced (when DECODER_FLAG_FRAMERATE_FORCED is set) or
447 // estimated (otherwise) video framerate.
450
451typedef struct Decoder {
452 const AVClass *class;
453
455
458
459 // number of frames/samples retrieved from the decoder
463} Decoder;
464
465typedef struct InputStream {
466 const AVClass *class;
467
468 /* parent source */
470
471 int index;
472
475
476 /**
477 * Codec parameters - to be used by the decoding/streamcopy code.
478 * st->codecpar should not be accessed, because it may be modified
479 * concurrently by the demuxing thread.
480 */
483 const AVCodec *dec;
484
485 /* framerate forced with -r */
487
489
490 /* decoded data from this stream goes into all those filters
491 * currently video and audio only */
495
496typedef struct InputStreamGroup {
497 const AVClass *class;
498
499 /* parent source */
501
502 int index;
503
507
508typedef struct InputFile {
509 const AVClass *class;
510
511 int index;
512
516 /**
517 * Effective format start time based on enabled streams.
518 */
521 /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
523
524 /* streams that ffmpeg is aware of;
525 * there may be extra streams in ctx that are not mapped to an InputStream
526 * if new streams appear dynamically during demuxing */
529
530 /* stream groups that ffmpeg is aware of; */
533} InputFile;
534
543
544#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
545#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
546
568
569typedef struct EncStatsComponent {
571
572 uint8_t *str;
573 size_t str_len;
575
585
586enum {
588 // force keyframe if lavfi.scd.time metadata is set
590};
591
592typedef struct KeyframeForceCtx {
593 int type;
594
596
597 // timestamps of the forced keyframes, in AV_TIME_BASE_Q
600 int index;
601
604
607
608typedef struct Encoder {
609 const AVClass *class;
610
612
613 // initial encoder options
615 // pts|key=value list of options to reinitialize encoder
617
618 uint32_t codec_tag;
619 int flags;
622
623 // number of frames/samples sent to the encoder
626} Encoder;
627
634
635typedef struct OutputStream {
636 const AVClass *class;
637
639
640 /* parent muxer */
642
643 int index; /* stream index in the output file */
644
645 /* input stream that is the source for this output stream;
646 * may be NULL for streams with no well-defined source, e.g.
647 * attachments or outputs from complex filtergraphs */
649
650 AVStream *st; /* stream in the output file */
651
653
656
658
660
661 const char *logfile_prefix;
662 FILE *logfile;
663
664 // simple filtergraph feeding this stream, if any
667
669
670 /* stats */
671 // number of packets send to the muxer
673
674 /* packet quality factor */
676
679
680 /*
681 * bool on whether this stream should be utilized for splitting
682 * subtitles utilizing fix_sub_duration at random access points.
683 */
686
687typedef struct OutputFile {
688 const AVClass *class;
689
690 int index;
691
692 const char *url;
693
696
697 int64_t recording_time; ///< desired length of the resulting file in microseconds == AV_TIME_BASE units
698 int64_t start_time; ///< start time in microseconds == AV_TIME_BASE units
699
701} OutputFile;
702
703// optionally attached as opaque_ref to decoded AVFrames
704typedef struct FrameData {
705 // demuxer-estimated dts in AV_TIME_BASE_Q,
706 // to be used when real dts is missing
708
709 // properties that come from the decoder
710 struct {
711 uint64_t frame_num;
712
716
718
720
722
724
727
729} FrameData;
730
731extern InputFile **input_files;
732extern int nb_input_files;
733
734extern OutputFile **output_files;
735extern int nb_output_files;
736
737// complex filtergraphs
739extern int nb_filtergraphs;
740
741// standalone decoders (not tied to demuxed streams)
742extern Decoder **decoders;
743extern int nb_decoders;
744
745extern char *vstats_filename;
746
747extern float dts_delta_threshold;
748extern float dts_error_threshold;
749
751extern float frame_drop_threshold;
752extern int do_benchmark;
753extern int do_benchmark_all;
754extern int do_hex_dump;
755extern int do_pkt_dump;
756extern int copy_ts;
757extern int start_at_zero;
758extern int copy_tb;
759extern int debug_ts;
760extern int exit_on_error;
761extern int abort_on_flags;
762extern int print_stats;
763extern int64_t stats_period;
764extern int stdin_interaction;
766extern float max_error_rate;
767
768extern char *filter_nbthreads;
769extern int filter_complex_nbthreads;
770extern int filter_buffered_frames;
771extern int vstats_version;
772extern int print_graphs;
773extern char *print_graphs_file;
774extern char *print_graphs_format;
775extern int auto_conversion_filters;
776
777extern const AVIOInterruptCB int_cb;
778
779extern const OptionDef options[];
781
783
784extern int ignore_unknown_streams;
785extern int copy_unknown_streams;
786
787extern int recast_media;
788
789extern FILE *vstats_file;
790
791void term_init(void);
792void term_exit(void);
793
794void show_usage(void);
795
796int check_avoptions_used(const AVDictionary *opts, const AVDictionary *opts_used,
797 void *logctx, int decode);
798
799int assert_file_overwrite(const char *filename);
800int find_codec(void *logctx, const char *name,
801 enum AVMediaType type, int encoder, const AVCodec **codec);
802int parse_and_set_vsync(const char *arg, enum VideoSyncMethod *vsync_var, int file_idx, int st_idx);
803
806 InputStream *ist,
807 char **graph_desc,
808 Scheduler *sch, unsigned sched_idx_enc,
810int fg_finalise_bindings(void);
811
812/**
813 * Get our axiliary frame data attached to the frame, allocating it
814 * if needed.
815 */
817
819
822
823int ofilter_bind_enc(OutputFilter *ofilter,
824 unsigned sched_idx_enc,
826
827/**
828 * Create a new filtergraph in the global filtergraph list.
829 *
830 * @param graph_desc Pointer to graph description; an av_malloc()ed string, filtergraph
831 * takes ownership of it.
832 */
833int fg_create(FilterGraph **pfg, char **graph_desc, Scheduler *sch,
835
836void fg_free(FilterGraph **pfg);
837
838void fg_send_command(FilterGraph *fg, double time, const char *target,
839 const char *command, const char *arg, int all_filters);
840
841int ffmpeg_parse_options(int argc, char **argv, Scheduler *sch);
842
844 const AVFrame *frame, const AVPacket *pkt,
845 uint64_t frame_num);
846
849int hw_device_init_from_string(const char *arg, HWDevice **dev);
851 const char *device,
852 HWDevice **dev_out);
853void hw_device_free_all(void);
854
855/**
856 * Get a hardware device to be used with this filtergraph.
857 * The returned reference is owned by the callee, the caller
858 * must ref it explicitly for long-term use.
859 */
861
862/**
863 * Create a standalone decoder.
864 */
865int dec_create(const OptionsContext *o, const char *arg, Scheduler *sch);
866
867/**
868 * @param dec_opts Dictionary filled with decoder options. Its ownership
869 * is transferred to the decoder.
870 * @param param_out If non-NULL, media properties after opening the decoder
871 * are written here.
872 *
873 * @retval ">=0" non-negative scheduler index on success
874 * @retval "<0" an error code on failure
875 */
876int dec_init(Decoder **pdec, Scheduler *sch,
877 AVDictionary **dec_opts, const DecoderOpts *o,
878 AVFrame *param_out);
879void dec_free(Decoder **pdec);
880
881/*
882 * Called by filters to connect decoder's output to given filtergraph input.
883 *
884 * @param opts filtergraph input options, to be filled by this function
885 */
887 const ViewSpecifier *vs, SchedulerNode *src);
888
889/*
890 * For multiview video, request output of the view(s) determined by vs.
891 * May be called multiple times.
892 *
893 * If this function is never called, only the base view is output. If it is
894 * called at least once, only the views requested are output.
895 *
896 * @param src scheduler node from which the frames corresponding vs
897 * will originate
898 */
899int dec_request_view(Decoder *dec, const ViewSpecifier *vs,
901
902int enc_alloc(Encoder **penc, const AVCodec *codec,
903 Scheduler *sch, unsigned sch_idx, void *log_parent);
904void enc_free(Encoder **penc);
905
906int enc_open(void *opaque, const AVFrame *frame);
907
908int enc_loopback(Encoder *enc);
909
910/*
911 * Initialize muxing state for the given stream, should be called
912 * after the codec/streamcopy setup has been done.
913 *
914 * Open the muxer once all the streams have been initialized.
915 */
917 const AVCodecContext *enc_ctx);
919int of_open(const OptionsContext *o, const char *filename, Scheduler *sch);
920void of_free(OutputFile **pof);
921
922void of_enc_stats_close(void);
923
925
926int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch);
927void ifile_close(InputFile **f);
928
929int ist_use(InputStream *ist, int decoding_needed,
930 const ViewSpecifier *vs, SchedulerNode *src);
931int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
934
935/**
936 * Find an unused input stream of given type.
937 */
939
940/* iterate over all input streams in all input files;
941 * pass NULL to start iteration */
943
944/* iterate over all output streams in all output files;
945 * pass NULL to start iteration */
947
948void update_benchmark(const char *fmt, ...);
949
950const char *opt_match_per_type_str(const SpecifierOptList *sol,
951 char mediatype);
952void opt_match_per_stream_str(void *logctx, const SpecifierOptList *sol,
953 AVFormatContext *fc, AVStream *st, const char **out);
954void opt_match_per_stream_int(void *logctx, const SpecifierOptList *sol,
955 AVFormatContext *fc, AVStream *st, int *out);
956void opt_match_per_stream_int64(void *logctx, const SpecifierOptList *sol,
958void opt_match_per_stream_dbl(void *logctx, const SpecifierOptList *sol,
959 AVFormatContext *fc, AVStream *st, double *out);
960
962 AVFormatContext *fc, AVStreamGroup *stg, const char **out);
964 AVFormatContext *fc, AVStreamGroup *stg, int *out);
968 AVFormatContext *fc, AVStreamGroup *stg, double *out);
969
970int view_specifier_parse(const char **pspec, ViewSpecifier *vs);
971
972int muxer_thread(void *arg);
973int encoder_thread(void *arg);
974
975#endif /* FFTOOLS_FFMPEG_H */
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.
intptr_t atomic_int
Definition stdatomic.h:55
intptr_t atomic_uint_least64_t
Definition stdatomic.h:69
intptr_t atomic_uint
Definition stdatomic.h:56
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:402
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:883
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:606
int print_stats
Definition ffmpeg_opt.c:70
IFilterFlags
Definition ffmpeg.h:250
@ IFILTER_FLAG_CFR
Definition ffmpeg.h:253
@ IFILTER_FLAG_DROPCHANGED
Definition ffmpeg.h:255
@ IFILTER_FLAG_REINIT
Definition ffmpeg.h:252
@ IFILTER_FLAG_CROP
Definition ffmpeg.h:254
@ IFILTER_FLAG_AUTOROTATE
Definition ffmpeg.h:251
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:628
@ CROP_CODEC
Definition ffmpeg.h:631
@ CROP_DISABLED
Definition ffmpeg.h:629
@ CROP_CONTAINER
Definition ffmpeg.h:632
@ CROP_ALL
Definition ffmpeg.h:630
char * print_graphs_format
Definition ffmpeg_opt.c:79
int encoder_thread(void *arg)
void of_free(OutputFile **pof)
Definition ffmpeg_mux.c:856
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:752
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:535
@ FKF_NB
Definition ffmpeg.h:541
@ FKF_PREV_FORCED_N
Definition ffmpeg.h:538
@ FKF_T
Definition ffmpeg.h:540
@ FKF_PREV_FORCED_T
Definition ffmpeg.h:539
@ FKF_N_FORCED
Definition ffmpeg.h:537
@ FKF_N
Definition ffmpeg.h:536
const char * opt_match_per_type_str(const SpecifierOptList *sol, char mediatype)
Definition ffmpeg_opt.c:165
OFilterFlags
Definition ffmpeg.h:285
@ OFILTER_FLAG_AUTOROTATE
Definition ffmpeg.h:290
@ OFILTER_FLAG_CROP
Definition ffmpeg.h:291
@ OFILTER_FLAG_AUDIO_24BIT
Definition ffmpeg.h:288
@ OFILTER_FLAG_AUTOSCALE
Definition ffmpeg.h:289
@ OFILTER_FLAG_DISABLE_CONVERT
Definition ffmpeg.h:286
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:589
@ KF_FORCE_SOURCE
Definition ffmpeg.h:587
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:547
@ ENC_STATS_STREAM_IDX
Definition ffmpeg.h:550
@ ENC_STATS_PTS_TIME
Definition ffmpeg.h:556
@ ENC_STATS_SAMPLE_NUM
Definition ffmpeg.h:561
@ ENC_STATS_AVG_BITRATE
Definition ffmpeg.h:565
@ ENC_STATS_LITERAL
Definition ffmpeg.h:548
@ ENC_STATS_TIMEBASE
Definition ffmpeg.h:553
@ ENC_STATS_KEYFRAME
Definition ffmpeg.h:566
@ ENC_STATS_DTS_TIME
Definition ffmpeg.h:560
@ ENC_STATS_PKT_SIZE
Definition ffmpeg.h:563
@ ENC_STATS_FRAME_NUM_IN
Definition ffmpeg.h:552
@ ENC_STATS_PTS
Definition ffmpeg.h:555
@ ENC_STATS_FRAME_NUM
Definition ffmpeg.h:551
@ ENC_STATS_FILE_IDX
Definition ffmpeg.h:549
@ ENC_STATS_DTS
Definition ffmpeg.h:559
@ ENC_STATS_BITRATE
Definition ffmpeg.h:564
@ ENC_STATS_PTS_IN
Definition ffmpeg.h:557
@ ENC_STATS_TIMEBASE_IN
Definition ffmpeg.h:554
@ ENC_STATS_PTS_TIME_IN
Definition ffmpeg.h:558
@ ENC_STATS_NB_SAMPLES
Definition ffmpeg.h:562
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:417
@ DECODER_FLAG_SEND_END_TS
Definition ffmpeg.h:424
@ DECODER_FLAG_BITEXACT
Definition ffmpeg.h:426
@ DECODER_FLAG_FIX_SUB_DURATION
Definition ffmpeg.h:418
@ DECODER_FLAG_FRAMERATE_FORCED
Definition ffmpeg.h:423
@ DECODER_FLAG_TS_UNRELIABLE
Definition ffmpeg.h:420
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.
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:1333
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:766
const AVCodec * codec
Definition ffmpeg.h:435
int flags
Definition ffmpeg.h:430
enum AVHWDeviceType hwaccel_device_type
Definition ffmpeg.h:440
const AVCodecParameters * par
Definition ffmpeg.h:436
void * log_parent
Definition ffmpeg.h:433
char * hwaccel_device
Definition ffmpeg.h:441
char * name
Definition ffmpeg.h:432
enum AVPixelFormat hwaccel_output_format
Definition ffmpeg.h:442
enum HWAccelID hwaccel_id
Definition ffmpeg.h:439
AVRational time_base
Definition ffmpeg.h:444
AVRational framerate
Definition ffmpeg.h:448
uint64_t decode_errors
Definition ffmpeg.h:462
uint8_t * subtitle_header
Definition ffmpeg.h:456
uint64_t frames_decoded
Definition ffmpeg.h:460
uint64_t samples_decoded
Definition ffmpeg.h:461
int subtitle_header_size
Definition ffmpeg.h:457
enum AVMediaType type
Definition ffmpeg.h:454
enum EncStatsType type
Definition ffmpeg.h:570
uint8_t * str
Definition ffmpeg.h:572
int nb_components
Definition ffmpeg.h:578
AVIOContext * io
Definition ffmpeg.h:580
EncStatsComponent * components
Definition ffmpeg.h:577
pthread_mutex_t lock
Definition ffmpeg.h:582
int lock_initialized
Definition ffmpeg.h:583
AVDictionary * encoder_opts
Definition ffmpeg.h:614
int global_quality
Definition ffmpeg.h:621
AVCodecContext * enc_ctx
Definition ffmpeg.h:611
uint64_t frames_encoded
Definition ffmpeg.h:624
uint64_t samples_encoded
Definition ffmpeg.h:625
char * reinit_opts
Definition ffmpeg.h:616
uint32_t codec_tag
Definition ffmpeg.h:618
int flags
Definition ffmpeg.h:619
int flags2
Definition ffmpeg.h:620
struct AVBPrint graph_print_buf
Definition ffmpeg.h:414
int index
Definition ffmpeg.h:401
int nb_outputs
Definition ffmpeg.h:406
int is_internal
Definition ffmpeg.h:411
OutputFilter ** outputs
Definition ffmpeg.h:405
int nb_inputs
Definition ffmpeg.h:404
const char * graph_desc
Definition ffmpeg.h:413
InputFilter ** inputs
Definition ffmpeg.h:403
int64_t dts_est
Definition ffmpeg.h:707
uint64_t frame_num
Definition ffmpeg.h:711
struct FrameData::@304126211346234154321045014345346376220164157123 dec
AVRational frame_rate_filter
Definition ffmpeg.h:717
int64_t wallclock[LATENCY_PROBE_NB]
Definition ffmpeg.h:721
int64_t pts
Definition ffmpeg.h:713
int nb_side_data
Definition ffmpeg.h:726
AVCodecParameters * par_enc
Definition ffmpeg.h:723
int bits_per_raw_sample
Definition ffmpeg.h:719
AVFrameSideData ** side_data
Definition ffmpeg.h:725
AVDictionary * reinit_opts
Definition ffmpeg.h:728
AVRational tb
Definition ffmpeg.h:714
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:520
AVFormatContext * ctx
Definition ffmpeg.h:513
int64_t input_ts_offset
Definition ffmpeg.h:514
int index
Definition ffmpeg.h:511
int input_sync_ref
Definition ffmpeg.h:515
int nb_stream_groups
Definition ffmpeg.h:532
int64_t start_time_effective
Effective format start time based on enabled streams.
Definition ffmpeg.h:519
InputStream ** streams
Definition ffmpeg.h:527
InputStreamGroup ** stream_groups
Definition ffmpeg.h:531
int64_t start_time
Definition ffmpeg.h:522
int nb_streams
Definition ffmpeg.h:528
uint8_t * name
Definition ffmpeg.h:262
AVRational framerate
Definition ffmpeg.h:269
int64_t trim_end_us
Definition ffmpeg.h:260
unsigned flags
Definition ffmpeg.h:280
int64_t trim_start_us
Definition ffmpeg.h:259
unsigned crop_bottom
Definition ffmpeg.h:272
unsigned crop_right
Definition ffmpeg.h:274
AVFrame * fallback
Definition ffmpeg.h:282
unsigned crop_left
Definition ffmpeg.h:273
unsigned crop_top
Definition ffmpeg.h:271
uint8_t * name
Definition ffmpeg.h:360
AVFilterContext * filter
Definition ffmpeg.h:366
uint8_t * linklabel
Definition ffmpeg.h:372
char * input_name
Definition ffmpeg.h:368
enum AVMediaType type
Definition ffmpeg.h:364
struct FilterGraph * graph
Definition ffmpeg.h:359
int index
Definition ffmpeg.h:361
FilterGraph * fg
Definition ffmpeg.h:504
struct InputFile * file
Definition ffmpeg.h:500
AVStreamGroup * stg
Definition ffmpeg.h:505
int fix_sub_duration
Definition ffmpeg.h:488
int index
Definition ffmpeg.h:471
struct InputFile * file
Definition ffmpeg.h:469
Decoder * decoder
Definition ffmpeg.h:482
int nb_filters
Definition ffmpeg.h:493
int user_set_discard
Definition ffmpeg.h:474
AVCodecParameters * par
Codec parameters - to be used by the decoding/streamcopy code.
Definition ffmpeg.h:481
AVStream * st
Definition ffmpeg.h:473
InputFilter ** filters
Definition ffmpeg.h:492
const AVCodec * dec
Definition ffmpeg.h:483
AVRational framerate
Definition ffmpeg.h:486
int64_t * pts
Definition ffmpeg.h:598
int64_t ref_pts
Definition ffmpeg.h:595
double expr_const_values[FKF_NB]
Definition ffmpeg.h:603
int dropped_keyframe
Definition ffmpeg.h:605
AVExpr * pexpr
Definition ffmpeg.h:602
SpecifierOptList mastering_displays
Definition ffmpeg.h:209
float mux_preload
Definition ffmpeg.h:181
SpecifierOptList rc_overrides
Definition ffmpeg.h:211
SpecifierOptList enc_stats_pre
Definition ffmpeg.h:240
SpecifierOptList canvas_sizes
Definition ffmpeg.h:224
SpecifierOptList metadata_map
Definition ffmpeg.h:215
int nb_stream_maps
Definition ffmpeg.h:172
SpecifierOptList frame_pix_fmts
Definition ffmpeg.h:148
SpecifierOptList intra_matrices
Definition ffmpeg.h:212
SpecifierOptList autorotate
Definition ffmpeg.h:167
SpecifierOptList enc_stats_post_fmt
Definition ffmpeg.h:244
SpecifierOptList codec_tags
Definition ffmpeg.h:199
SpecifierOptList hwaccel_devices
Definition ffmpeg.h:165
SpecifierOptList stream_groups
Definition ffmpeg.h:234
SpecifierOptList qscale
Definition ffmpeg.h:201
int64_t start_time
Definition ffmpeg.h:136
SpecifierOptList enc_stats_post
Definition ffmpeg.h:241
SpecifierOptList codec_names
Definition ffmpeg.h:141
const char * format
Definition ffmpeg.h:139
SpecifierOptList discard
Definition ffmpeg.h:231
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:242
SpecifierOptList disposition
Definition ffmpeg.h:232
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:213
SpecifierOptList mux_stats_fmt
Definition ffmpeg.h:245
int accurate_seek
Definition ffmpeg.h:157
SpecifierOptList pass
Definition ffmpeg.h:225
SpecifierOptList dump_attachment
Definition ffmpeg.h:163
SpecifierOptList muxing_queue_data_threshold
Definition ffmpeg.h:228
float readrate
Definition ffmpeg.h:154
int find_stream_info
Definition ffmpeg.h:160
SpecifierOptList presets
Definition ffmpeg.h:216
SpecifierOptList copy_prior_start
Definition ffmpeg.h:218
int64_t recording_time
Definition ffmpeg.h:178
SpecifierOptList time_bases
Definition ffmpeg.h:235
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:221
SpecifierOptList display_vflips
Definition ffmpeg.h:208
SpecifierOptList keep_metadata
Definition ffmpeg.h:196
SpecifierOptList enc_stats_pre_fmt
Definition ffmpeg.h:243
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:207
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:233
SpecifierOptList fps_mode
Definition ffmpeg.h:203
SpecifierOptList copy_initial_nonkeyframes
Definition ffmpeg.h:217
SpecifierOptList filters
Definition ffmpeg.h:219
SpecifierOptList enc_reinit_opts
Definition ffmpeg.h:239
AVDictionary * streamid
Definition ffmpeg.h:193
SpecifierOptList max_muxing_queue_size
Definition ffmpeg.h:227
SpecifierOptList hwaccel_output_formats
Definition ffmpeg.h:166
SpecifierOptList bits_per_raw_sample
Definition ffmpeg.h:238
SpecifierOptList guess_layout_max
Definition ffmpeg.h:229
int64_t stop_time
Definition ffmpeg.h:179
const char ** attachments
Definition ffmpeg.h:173
SpecifierOptList passlogfiles
Definition ffmpeg.h:226
float readrate_catchup
Definition ffmpeg.h:155
SpecifierOptList display_rotations
Definition ffmpeg.h:206
SpecifierOptList enc_time_bases
Definition ffmpeg.h:236
SpecifierOptList apply_cropping
Definition ffmpeg.h:168
int64_t limit_filesize
Definition ffmpeg.h:180
SpecifierOptList reinit_filters
Definition ffmpeg.h:220
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:237
SpecifierOptList fix_sub_duration
Definition ffmpeg.h:222
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:214
SpecifierOptList fix_sub_duration_heartbeat
Definition ffmpeg.h:223
SpecifierOptList apad
Definition ffmpeg.h:230
SpecifierOptList content_lights
Definition ffmpeg.h:210
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:690
const char * url
Definition ffmpeg.h:692
int bitexact
Definition ffmpeg.h:700
OutputStream ** streams
Definition ffmpeg.h:694
int nb_streams
Definition ffmpeg.h:695
int64_t start_time
start time in microseconds == AV_TIME_BASE units
Definition ffmpeg.h:698
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
Definition ffmpeg.h:697
enum AVColorSpace color_space
Definition ffmpeg.h:321
const char * reinit_opts
Definition ffmpeg.h:351
int64_t trim_duration_us
Definition ffmpeg.h:302
unsigned crop_top
Definition ffmpeg.h:325
const ViewSpecifier * vs
Definition ffmpeg.h:355
const AVCodec * enc
Definition ffmpeg.h:299
AVFrameSideData ** side_data
Definition ffmpeg.h:348
unsigned crop_right
Definition ffmpeg.h:328
enum AVAlphaMode * alpha_modes
Definition ffmpeg.h:346
int64_t trim_start_us
Definition ffmpeg.h:301
int64_t ts_offset
Definition ffmpeg.h:303
AVRational frame_rate
Definition ffmpeg.h:331
AVDictionary * sws_opts
Definition ffmpeg.h:310
int64_t nb_threads
Definition ffmpeg.h:313
AVDictionary * swr_opts
Definition ffmpeg.h:311
enum AVColorRange color_range
Definition ffmpeg.h:322
const int * sample_rates
Definition ffmpeg.h:341
enum AVPixelFormat * pix_fmts
Definition ffmpeg.h:338
enum AVSampleFormat * sample_fmts
Definition ffmpeg.h:339
AVRational output_tb
Definition ffmpeg.h:308
unsigned crop_left
Definition ffmpeg.h:327
AVChannelLayout ch_layout
Definition ffmpeg.h:335
AVRational max_frame_rate
Definition ffmpeg.h:332
enum AVAlphaMode alpha_mode
Definition ffmpeg.h:323
const AVChannelLayout * ch_layouts
Definition ffmpeg.h:342
unsigned crop_bottom
Definition ffmpeg.h:326
enum AVColorSpace * color_spaces
Definition ffmpeg.h:344
enum AVColorRange * color_ranges
Definition ffmpeg.h:345
enum VideoSyncMethod vsync_method
Definition ffmpeg.h:330
const AVRational * frame_rates
Definition ffmpeg.h:343
atomic_uint_least64_t nb_frames_drop
Definition ffmpeg.h:396
AVFilterContext * filter
Definition ffmpeg.h:382
char * output_name
Definition ffmpeg.h:384
uint8_t * name
Definition ffmpeg.h:379
uint8_t * linklabel
Definition ffmpeg.h:389
atomic_uint_least64_t nb_frames_dup
Definition ffmpeg.h:395
struct FilterGraph * graph
Definition ffmpeg.h:378
char * apad
Definition ffmpeg.h:391
enum AVMediaType type
Definition ffmpeg.h:393
unsigned int fix_sub_duration_heartbeat
Definition ffmpeg.h:684
int bitexact
Definition ffmpeg.h:654
const char * logfile_prefix
Definition ffmpeg.h:661
atomic_uint_least64_t packets_written
Definition ffmpeg.h:672
AVRational frame_aspect_ratio
Definition ffmpeg.h:657
enum AVMediaType type
Definition ffmpeg.h:638
EncStats enc_stats_pre
Definition ffmpeg.h:677
struct OutputFile * file
Definition ffmpeg.h:641
int bits_per_raw_sample
Definition ffmpeg.h:655
InputStream * ist
Definition ffmpeg.h:648
KeyframeForceCtx kf
Definition ffmpeg.h:659
char * attachment_filename
Definition ffmpeg.h:668
EncStats enc_stats_post
Definition ffmpeg.h:678
FilterGraph * fg_simple
Definition ffmpeg.h:665
atomic_int quality
Definition ffmpeg.h:675
OutputFilter * filter
Definition ffmpeg.h:666
AVCodecContext * enc
Definition mux.c:55
FILE * logfile
Definition ffmpeg.h:662
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 FILE * out
Definition movenc.c:55
static AVDictionary * opts
Definition movenc.c:51
static AVStream * ost
static int command(AVFilterContext *ctx, const char *cmd, const char *arg, char *res, int res_len, int flags)