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;
326
327 unsigned crop_top;
328 unsigned crop_bottom;
329 unsigned crop_left;
330 unsigned crop_right;
331
335
338
339 union {
342 };
343 const int *sample_rates;
350
353
354 const char *reinit_opts;
355
356 // for simple filtergraphs only, view specifier passed
357 // along to the decoder
360
361typedef struct InputFilter {
363 uint8_t *name;
364 int index;
365
366 // filter data type
368
370
372
373 /* for filters that are not yet bound to an input stream,
374 * this stores the input linklabel, if any */
375 uint8_t *linklabel;
377
378typedef struct OutputFilter {
379 const AVClass *class;
380
382 uint8_t *name;
383 int index;
384
386
388
389 /* for filters that are not yet bound to an output stream,
390 * this stores the output linklabel, if any */
391 int bound;
392 uint8_t *linklabel;
393
394 char *apad;
395
397
401
402typedef struct FilterGraph {
403 const AVClass *class;
404 int index;
405
410
411 // true when the filtergraph is created internally for
412 // purposes like stream group merging. Meant to be freed
413 // if unbound.
415
416 const char *graph_desc;
417 struct AVBPrint graph_print_buf;
419
422 // input timestamps are unreliable (guessed by demuxer)
424 // decoder should override timestamps by fixed framerate
425 // from DecoderOpts.framerate
428 // force bitexact decoding
430};
431
432typedef struct DecoderOpts {
433 int flags;
434
435 char *name;
437
440
441 /* hwaccel options */
446
448
449 // Either forced (when DECODER_FLAG_FRAMERATE_FORCED is set) or
450 // estimated (otherwise) video framerate.
453
454typedef struct Decoder {
455 const AVClass *class;
456
458
461
462 // number of frames/samples retrieved from the decoder
466} Decoder;
467
468typedef struct InputStream {
469 const AVClass *class;
470
471 /* parent source */
473
474 int index;
475
478
479 /**
480 * Codec parameters - to be used by the decoding/streamcopy code.
481 * st->codecpar should not be accessed, because it may be modified
482 * concurrently by the demuxing thread.
483 */
486 const AVCodec *dec;
487
488 /* framerate forced with -r */
490
492
493 /* decoded data from this stream goes into all those filters
494 * currently video and audio only */
498
499typedef struct InputStreamGroup {
500 const AVClass *class;
501
502 /* parent source */
504
505 int index;
506
510
511typedef struct InputFile {
512 const AVClass *class;
513
514 int index;
515
519 /**
520 * Effective format start time based on enabled streams.
521 */
524 /* user-specified start time in AV_TIME_BASE or AV_NOPTS_VALUE */
526
527 /* streams that ffmpeg is aware of;
528 * there may be extra streams in ctx that are not mapped to an InputStream
529 * if new streams appear dynamically during demuxing */
532
533 /* stream groups that ffmpeg is aware of; */
536} InputFile;
537
546
547#define ABORT_ON_FLAG_EMPTY_OUTPUT (1 << 0)
548#define ABORT_ON_FLAG_EMPTY_OUTPUT_STREAM (1 << 1)
549
571
572typedef struct EncStatsComponent {
574
575 uint8_t *str;
576 size_t str_len;
578
588
589enum {
591 // force keyframe if lavfi.scd.time metadata is set
593};
594
595typedef struct KeyframeForceCtx {
596 int type;
597
599
600 // timestamps of the forced keyframes, in AV_TIME_BASE_Q
603 int index;
604
607
610
611typedef struct Encoder {
612 const AVClass *class;
613
615
616 // initial encoder options
618 // pts|key=value list of options to reinitialize encoder
620
621 uint32_t codec_tag;
622 int flags;
625
626 // number of frames/samples sent to the encoder
629} Encoder;
630
637
638typedef struct OutputStream {
639 const AVClass *class;
640
642
643 /* parent muxer */
645
646 int index; /* stream index in the output file */
647
648 /* input stream that is the source for this output stream;
649 * may be NULL for streams with no well-defined source, e.g.
650 * attachments or outputs from complex filtergraphs */
652
653 AVStream *st; /* stream in the output file */
654
656
659
661
663
664 const char *logfile_prefix;
665 FILE *logfile;
666
667 // simple filtergraph feeding this stream, if any
670
672
673 /* stats */
674 // number of packets send to the muxer
676
677 /* packet quality factor */
679
682
683 /*
684 * bool on whether this stream should be utilized for splitting
685 * subtitles utilizing fix_sub_duration at random access points.
686 */
689
690typedef struct OutputFile {
691 const AVClass *class;
692
693 int index;
694
695 const char *url;
696
699
700 int64_t recording_time; ///< desired length of the resulting file in microseconds == AV_TIME_BASE units
701 int64_t start_time; ///< start time in microseconds == AV_TIME_BASE units
702
704} OutputFile;
705
706// optionally attached as opaque_ref to decoded AVFrames
707typedef struct FrameData {
708 // demuxer-estimated dts in AV_TIME_BASE_Q,
709 // to be used when real dts is missing
711
712 // properties that come from the decoder
713 struct {
714 uint64_t frame_num;
715
719
721
723
725
727
730
732} FrameData;
733
734extern InputFile **input_files;
735extern int nb_input_files;
736
737extern OutputFile **output_files;
738extern int nb_output_files;
739
740// complex filtergraphs
742extern int nb_filtergraphs;
743
744// standalone decoders (not tied to demuxed streams)
745extern Decoder **decoders;
746extern int nb_decoders;
747
748extern char *vstats_filename;
749
750extern float dts_delta_threshold;
751extern float dts_error_threshold;
752
754extern float frame_drop_threshold;
755extern int do_benchmark;
756extern int do_benchmark_all;
757extern int do_hex_dump;
758extern int do_pkt_dump;
759extern int copy_ts;
760extern int start_at_zero;
761extern int copy_tb;
762extern int debug_ts;
763extern int exit_on_error;
764extern int abort_on_flags;
765extern int print_stats;
766extern int64_t stats_period;
767extern int stdin_interaction;
769extern float max_error_rate;
770
771extern char *filter_nbthreads;
772extern int filter_complex_nbthreads;
773extern int filter_buffered_frames;
774extern int vstats_version;
775extern int print_graphs;
776extern char *print_graphs_file;
777extern char *print_graphs_format;
778extern int auto_conversion_filters;
779
780extern const AVIOInterruptCB int_cb;
781
782extern const OptionDef options[];
784
786
787extern int ignore_unknown_streams;
788extern int copy_unknown_streams;
789
790extern int recast_media;
791
792extern FILE *vstats_file;
793
794void term_init(void);
795void term_exit(void);
796
797void show_usage(void);
798
799int check_avoptions_used(const AVDictionary *opts, const AVDictionary *opts_used,
800 void *logctx, int decode);
801
802int assert_file_overwrite(const char *filename);
803int find_codec(void *logctx, const char *name,
804 enum AVMediaType type, int encoder, const AVCodec **codec);
805int parse_and_set_vsync(const char *arg, enum VideoSyncMethod *vsync_var, int file_idx, int st_idx);
806
809 InputStream *ist,
810 char **graph_desc,
811 Scheduler *sch, unsigned sched_idx_enc,
813int fg_finalise_bindings(void);
814
815/**
816 * Get our axiliary frame data attached to the frame, allocating it
817 * if needed.
818 */
820
822
825
826int ofilter_bind_enc(OutputFilter *ofilter,
827 unsigned sched_idx_enc,
829
830/**
831 * Create a new filtergraph in the global filtergraph list.
832 *
833 * @param graph_desc Pointer to graph description; an av_malloc()ed string, filtergraph
834 * takes ownership of it.
835 */
836int fg_create(FilterGraph **pfg, char **graph_desc, Scheduler *sch,
838
839void fg_free(FilterGraph **pfg);
840
841void fg_send_command(FilterGraph *fg, double time, const char *target,
842 const char *command, const char *arg, int all_filters);
843
844int ffmpeg_parse_options(int argc, char **argv, Scheduler *sch);
845
847 const AVFrame *frame, const AVPacket *pkt,
848 uint64_t frame_num);
849
852int hw_device_init_from_string(const char *arg, HWDevice **dev);
854 const char *device,
855 HWDevice **dev_out);
856void hw_device_free_all(void);
857
858/**
859 * Get a hardware device to be used with this filtergraph.
860 * The returned reference is owned by the callee, the caller
861 * must ref it explicitly for long-term use.
862 */
864
865/**
866 * Create a standalone decoder.
867 */
868int dec_create(const OptionsContext *o, const char *arg, Scheduler *sch);
869
870/**
871 * @param dec_opts Dictionary filled with decoder options. Its ownership
872 * is transferred to the decoder.
873 * @param param_out If non-NULL, media properties after opening the decoder
874 * are written here.
875 *
876 * @retval ">=0" non-negative scheduler index on success
877 * @retval "<0" an error code on failure
878 */
879int dec_init(Decoder **pdec, Scheduler *sch,
880 AVDictionary **dec_opts, const DecoderOpts *o,
881 AVFrame *param_out);
882void dec_free(Decoder **pdec);
883
884/*
885 * Called by filters to connect decoder's output to given filtergraph input.
886 *
887 * @param opts filtergraph input options, to be filled by this function
888 */
890 const ViewSpecifier *vs, SchedulerNode *src);
891
892/*
893 * For multiview video, request output of the view(s) determined by vs.
894 * May be called multiple times.
895 *
896 * If this function is never called, only the base view is output. If it is
897 * called at least once, only the views requested are output.
898 *
899 * @param src scheduler node from which the frames corresponding vs
900 * will originate
901 */
902int dec_request_view(Decoder *dec, const ViewSpecifier *vs,
904
905int enc_alloc(Encoder **penc, const AVCodec *codec,
906 Scheduler *sch, unsigned sch_idx, void *log_parent);
907void enc_free(Encoder **penc);
908
909int enc_open(void *opaque, const AVFrame *frame);
910
911int enc_loopback(Encoder *enc);
912
913/*
914 * Initialize muxing state for the given stream, should be called
915 * after the codec/streamcopy setup has been done.
916 *
917 * Open the muxer once all the streams have been initialized.
918 */
920 const AVCodecContext *enc_ctx);
922int of_open(const OptionsContext *o, const char *filename, Scheduler *sch);
923void of_free(OutputFile **pof);
924
925void of_enc_stats_close(void);
926
928
929int ifile_open(const OptionsContext *o, const char *filename, Scheduler *sch);
930void ifile_close(InputFile **f);
931
932int ist_use(InputStream *ist, int decoding_needed,
933 const ViewSpecifier *vs, SchedulerNode *src);
934int ist_filter_add(InputStream *ist, InputFilter *ifilter, int is_simple,
937
938/**
939 * Find an unused input stream of given type.
940 */
942
943/* iterate over all input streams in all input files;
944 * pass NULL to start iteration */
946
947/* iterate over all output streams in all output files;
948 * pass NULL to start iteration */
950
951void update_benchmark(const char *fmt, ...);
952
953const char *opt_match_per_type_str(const SpecifierOptList *sol,
954 char mediatype);
955void opt_match_per_stream_str(void *logctx, const SpecifierOptList *sol,
956 AVFormatContext *fc, AVStream *st, const char **out);
957void opt_match_per_stream_int(void *logctx, const SpecifierOptList *sol,
958 AVFormatContext *fc, AVStream *st, int *out);
959void opt_match_per_stream_int64(void *logctx, const SpecifierOptList *sol,
961void opt_match_per_stream_dbl(void *logctx, const SpecifierOptList *sol,
962 AVFormatContext *fc, AVStream *st, double *out);
963
965 AVFormatContext *fc, AVStreamGroup *stg, const char **out);
967 AVFormatContext *fc, AVStreamGroup *stg, int *out);
971 AVFormatContext *fc, AVStreamGroup *stg, double *out);
972
973int view_specifier_parse(const char **pspec, ViewSpecifier *vs);
974
975int muxer_thread(void *arg);
976int encoder_thread(void *arg);
977
978#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:631
@ CROP_CODEC
Definition ffmpeg.h:634
@ CROP_DISABLED
Definition ffmpeg.h:632
@ CROP_CONTAINER
Definition ffmpeg.h:635
@ CROP_ALL
Definition ffmpeg.h:633
char * print_graphs_format
Definition ffmpeg_opt.c:79
int encoder_thread(void *arg)
Definition ffmpeg_enc.c:998
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:413
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:538
@ FKF_NB
Definition ffmpeg.h:544
@ FKF_PREV_FORCED_N
Definition ffmpeg.h:541
@ FKF_T
Definition ffmpeg.h:543
@ FKF_PREV_FORCED_T
Definition ffmpeg.h:542
@ FKF_N_FORCED
Definition ffmpeg.h:540
@ FKF_N
Definition ffmpeg.h:539
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:592
@ KF_FORCE_SOURCE
Definition ffmpeg.h:590
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:550
@ ENC_STATS_STREAM_IDX
Definition ffmpeg.h:553
@ ENC_STATS_PTS_TIME
Definition ffmpeg.h:559
@ ENC_STATS_SAMPLE_NUM
Definition ffmpeg.h:564
@ ENC_STATS_AVG_BITRATE
Definition ffmpeg.h:568
@ ENC_STATS_LITERAL
Definition ffmpeg.h:551
@ ENC_STATS_TIMEBASE
Definition ffmpeg.h:556
@ ENC_STATS_KEYFRAME
Definition ffmpeg.h:569
@ ENC_STATS_DTS_TIME
Definition ffmpeg.h:563
@ ENC_STATS_PKT_SIZE
Definition ffmpeg.h:566
@ ENC_STATS_FRAME_NUM_IN
Definition ffmpeg.h:555
@ ENC_STATS_PTS
Definition ffmpeg.h:558
@ ENC_STATS_FRAME_NUM
Definition ffmpeg.h:554
@ ENC_STATS_FILE_IDX
Definition ffmpeg.h:552
@ ENC_STATS_DTS
Definition ffmpeg.h:562
@ ENC_STATS_BITRATE
Definition ffmpeg.h:567
@ ENC_STATS_PTS_IN
Definition ffmpeg.h:560
@ ENC_STATS_TIMEBASE_IN
Definition ffmpeg.h:557
@ ENC_STATS_PTS_TIME_IN
Definition ffmpeg.h:561
@ ENC_STATS_NB_SAMPLES
Definition ffmpeg.h:565
void enc_stats_write(OutputStream *ost, EncStats *es, const AVFrame *frame, const AVPacket *pkt, uint64_t frame_num)
Definition ffmpeg_enc.c:539
int filter_buffered_frames
Definition ffmpeg_opt.c:75
DecoderFlags
Definition ffmpeg.h:420
@ DECODER_FLAG_SEND_END_TS
Definition ffmpeg.h:427
@ DECODER_FLAG_BITEXACT
Definition ffmpeg.h:429
@ DECODER_FLAG_FIX_SUB_DURATION
Definition ffmpeg.h:421
@ DECODER_FLAG_FRAMERATE_FORCED
Definition ffmpeg.h:426
@ DECODER_FLAG_TS_UNRELIABLE
Definition ffmpeg.h:423
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
uint32_t type
Definition jpegmpfenc.c:80
const char * arg
Definition jacosubdec.c:65
_fmutex pthread_mutex_t
Definition os2threads.h:53
pixel format definitions
AVChromaLocation
Location of chroma samples.
Definition pixfmt.h:802
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:279
Format I/O context.
Definition avformat.h:1337
Structure to hold side data for an AVFrame.
Definition frame.h:334
This structure describes decoded (raw) audio or video data.
Definition frame.h:479
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:438
int flags
Definition ffmpeg.h:433
enum AVHWDeviceType hwaccel_device_type
Definition ffmpeg.h:443
const AVCodecParameters * par
Definition ffmpeg.h:439
void * log_parent
Definition ffmpeg.h:436
char * hwaccel_device
Definition ffmpeg.h:444
char * name
Definition ffmpeg.h:435
enum AVPixelFormat hwaccel_output_format
Definition ffmpeg.h:445
enum HWAccelID hwaccel_id
Definition ffmpeg.h:442
AVRational time_base
Definition ffmpeg.h:447
AVRational framerate
Definition ffmpeg.h:451
uint64_t decode_errors
Definition ffmpeg.h:465
uint8_t * subtitle_header
Definition ffmpeg.h:459
uint64_t frames_decoded
Definition ffmpeg.h:463
uint64_t samples_decoded
Definition ffmpeg.h:464
int subtitle_header_size
Definition ffmpeg.h:460
enum AVMediaType type
Definition ffmpeg.h:457
enum EncStatsType type
Definition ffmpeg.h:573
uint8_t * str
Definition ffmpeg.h:575
int nb_components
Definition ffmpeg.h:581
AVIOContext * io
Definition ffmpeg.h:583
EncStatsComponent * components
Definition ffmpeg.h:580
pthread_mutex_t lock
Definition ffmpeg.h:585
int lock_initialized
Definition ffmpeg.h:586
AVDictionary * encoder_opts
Definition ffmpeg.h:617
int global_quality
Definition ffmpeg.h:624
AVCodecContext * enc_ctx
Definition ffmpeg.h:614
uint64_t frames_encoded
Definition ffmpeg.h:627
uint64_t samples_encoded
Definition ffmpeg.h:628
char * reinit_opts
Definition ffmpeg.h:619
uint32_t codec_tag
Definition ffmpeg.h:621
int flags
Definition ffmpeg.h:622
int flags2
Definition ffmpeg.h:623
struct AVBPrint graph_print_buf
Definition ffmpeg.h:417
int index
Definition ffmpeg.h:404
int nb_outputs
Definition ffmpeg.h:409
int is_internal
Definition ffmpeg.h:414
OutputFilter ** outputs
Definition ffmpeg.h:408
int nb_inputs
Definition ffmpeg.h:407
const char * graph_desc
Definition ffmpeg.h:416
InputFilter ** inputs
Definition ffmpeg.h:406
int64_t dts_est
Definition ffmpeg.h:710
uint64_t frame_num
Definition ffmpeg.h:714
struct FrameData::@304126211346234154321045014345346376220164157123 dec
AVRational frame_rate_filter
Definition ffmpeg.h:720
int64_t wallclock[LATENCY_PROBE_NB]
Definition ffmpeg.h:724
int64_t pts
Definition ffmpeg.h:716
int nb_side_data
Definition ffmpeg.h:729
AVCodecParameters * par_enc
Definition ffmpeg.h:726
int bits_per_raw_sample
Definition ffmpeg.h:722
AVFrameSideData ** side_data
Definition ffmpeg.h:728
AVDictionary * reinit_opts
Definition ffmpeg.h:731
AVRational tb
Definition ffmpeg.h:717
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:523
AVFormatContext * ctx
Definition ffmpeg.h:516
int64_t input_ts_offset
Definition ffmpeg.h:517
int index
Definition ffmpeg.h:514
int input_sync_ref
Definition ffmpeg.h:518
int nb_stream_groups
Definition ffmpeg.h:535
int64_t start_time_effective
Effective format start time based on enabled streams.
Definition ffmpeg.h:522
InputStream ** streams
Definition ffmpeg.h:530
InputStreamGroup ** stream_groups
Definition ffmpeg.h:534
int64_t start_time
Definition ffmpeg.h:525
int nb_streams
Definition ffmpeg.h:531
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:363
AVFilterContext * filter
Definition ffmpeg.h:369
uint8_t * linklabel
Definition ffmpeg.h:375
char * input_name
Definition ffmpeg.h:371
enum AVMediaType type
Definition ffmpeg.h:367
struct FilterGraph * graph
Definition ffmpeg.h:362
int index
Definition ffmpeg.h:364
FilterGraph * fg
Definition ffmpeg.h:507
struct InputFile * file
Definition ffmpeg.h:503
AVStreamGroup * stg
Definition ffmpeg.h:508
int fix_sub_duration
Definition ffmpeg.h:491
int index
Definition ffmpeg.h:474
struct InputFile * file
Definition ffmpeg.h:472
Decoder * decoder
Definition ffmpeg.h:485
int nb_filters
Definition ffmpeg.h:496
int user_set_discard
Definition ffmpeg.h:477
AVCodecParameters * par
Codec parameters - to be used by the decoding/streamcopy code.
Definition ffmpeg.h:484
AVStream * st
Definition ffmpeg.h:476
InputFilter ** filters
Definition ffmpeg.h:495
const AVCodec * dec
Definition ffmpeg.h:486
AVRational framerate
Definition ffmpeg.h:489
int64_t * pts
Definition ffmpeg.h:601
int64_t ref_pts
Definition ffmpeg.h:598
double expr_const_values[FKF_NB]
Definition ffmpeg.h:606
int dropped_keyframe
Definition ffmpeg.h:608
AVExpr * pexpr
Definition ffmpeg.h:605
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:693
const char * url
Definition ffmpeg.h:695
int bitexact
Definition ffmpeg.h:703
OutputStream ** streams
Definition ffmpeg.h:697
int nb_streams
Definition ffmpeg.h:698
int64_t start_time
start time in microseconds == AV_TIME_BASE units
Definition ffmpeg.h:701
int64_t recording_time
desired length of the resulting file in microseconds == AV_TIME_BASE units
Definition ffmpeg.h:700
enum AVColorSpace color_space
Definition ffmpeg.h:322
const char * reinit_opts
Definition ffmpeg.h:354
int64_t trim_duration_us
Definition ffmpeg.h:303
unsigned crop_top
Definition ffmpeg.h:327
const ViewSpecifier * vs
Definition ffmpeg.h:358
const AVCodec * enc
Definition ffmpeg.h:300
AVFrameSideData ** side_data
Definition ffmpeg.h:351
unsigned crop_right
Definition ffmpeg.h:330
enum AVAlphaMode * alpha_modes
Definition ffmpeg.h:348
int64_t trim_start_us
Definition ffmpeg.h:302
enum AVChromaLocation chroma_location
Definition ffmpeg.h:325
int64_t ts_offset
Definition ffmpeg.h:304
AVRational frame_rate
Definition ffmpeg.h:333
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:343
enum AVPixelFormat * pix_fmts
Definition ffmpeg.h:340
enum AVSampleFormat * sample_fmts
Definition ffmpeg.h:341
enum AVChromaLocation * chroma_locations
Definition ffmpeg.h:349
AVRational output_tb
Definition ffmpeg.h:309
unsigned crop_left
Definition ffmpeg.h:329
AVChannelLayout ch_layout
Definition ffmpeg.h:337
AVRational max_frame_rate
Definition ffmpeg.h:334
enum AVAlphaMode alpha_mode
Definition ffmpeg.h:324
const AVChannelLayout * ch_layouts
Definition ffmpeg.h:344
unsigned crop_bottom
Definition ffmpeg.h:328
enum AVColorSpace * color_spaces
Definition ffmpeg.h:346
enum AVColorRange * color_ranges
Definition ffmpeg.h:347
enum VideoSyncMethod vsync_method
Definition ffmpeg.h:332
const AVRational * frame_rates
Definition ffmpeg.h:345
atomic_uint_least64_t nb_frames_drop
Definition ffmpeg.h:399
AVFilterContext * filter
Definition ffmpeg.h:385
char * output_name
Definition ffmpeg.h:387
uint8_t * name
Definition ffmpeg.h:382
uint8_t * linklabel
Definition ffmpeg.h:392
atomic_uint_least64_t nb_frames_dup
Definition ffmpeg.h:398
struct FilterGraph * graph
Definition ffmpeg.h:381
char * apad
Definition ffmpeg.h:394
enum AVMediaType type
Definition ffmpeg.h:396
unsigned int fix_sub_duration_heartbeat
Definition ffmpeg.h:687
int bitexact
Definition ffmpeg.h:657
const char * logfile_prefix
Definition ffmpeg.h:664
atomic_uint_least64_t packets_written
Definition ffmpeg.h:675
AVRational frame_aspect_ratio
Definition ffmpeg.h:660
enum AVMediaType type
Definition ffmpeg.h:641
EncStats enc_stats_pre
Definition ffmpeg.h:680
struct OutputFile * file
Definition ffmpeg.h:644
int bits_per_raw_sample
Definition ffmpeg.h:658
InputStream * ist
Definition ffmpeg.h:651
KeyframeForceCtx kf
Definition ffmpeg.h:662
char * attachment_filename
Definition ffmpeg.h:671
EncStats enc_stats_post
Definition ffmpeg.h:681
FilterGraph * fg_simple
Definition ffmpeg.h:668
atomic_int quality
Definition ffmpeg.h:678
OutputFilter * filter
Definition ffmpeg.h:669
AVCodecContext * enc
Definition mux.c:55
FILE * logfile
Definition ffmpeg.h:665
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)