1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
Commit Graph

180 Commits

Author SHA1 Message Date
Anton Khirnov
3d813e4c54 lavf: deprecate AVStream.stream_copy
It's only used in avconv, so it properly belongs to OutputStream struct
there.
2011-10-25 16:30:00 +02:00
Anton Khirnov
1b648c7cdb avconc: split choose_codec() to choose_decoder/choose_encoder.
Prevents -c copy from working for input streams and allows to move
stream_copy variable from AVStream to OutputStream.
2011-10-25 16:29:01 +02:00
Anton Khirnov
f172132f82 mpegenc: add preload private option.
Deprecate AVFormatContext.preload.
2011-10-25 16:27:48 +02:00
Anton Khirnov
84ad31ff18 lavf: replace av_new_stream->avformat_new_stream part II.
Manual replacements are done in this commit.

In many cases, the id is some constant made up number (e.g. 0 for video
and 1 for audio), which is then not used in the demuxer for anything.
Those ids are removed.
2011-10-19 17:02:11 +02:00
Alexandra Khirnova
3ec344626c avconv: add presets
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 22:24:17 +02:00
Anton Khirnov
7a6cd9957d cmdutils/avtools: simplify show_help() by using av_opt_child_class_next() 2011-10-12 16:51:17 +02:00
Anton Khirnov
3b3ea34655 Remove all uses of deprecated AVOptions API. 2011-10-12 16:51:16 +02:00
Mans Rullgard
8124d8ad66 avtools: add -v as alias for -loglevel
This saves a bit of typing.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 16:53:06 +01:00
Anton Khirnov
f5646a325b avconv: always print stats with AV_LOG_INFO
It's now possible to disable printing stats during encoding with
-nostats, so there's no reason to print them differently depending on
whether it's last report or not.
2011-10-09 17:15:18 +02:00
Anton Khirnov
3460dd8acf avconv: add -stats option to enable/disable printing encoding progress 2011-10-09 17:15:18 +02:00
Anton Khirnov
c6007065ed avconv: in output_packet() don't set decoded_data_size for video.
It's only used for audio.
2011-10-09 17:15:18 +02:00
Anton Khirnov
515901fad2 avconv: remove pointless always true condition 2011-10-09 17:15:18 +02:00
Anton Khirnov
11fdb7e197 avconv: factorize common code in transcode_init() 2011-10-09 17:15:18 +02:00
Alex Converse
daf9890811 avconv: Reformat s16 volume adjustment. 2011-09-28 12:33:51 -07:00
Alex Converse
4bb0b31f76 avconv: Initialize return value for codec copy path. 2011-09-27 19:32:26 -07:00
Alex Converse
a9a033773a avconv: Fix volume adjustment for non-s16 sample formats 2011-09-27 14:10:12 -07:00
Alex Converse
fe332cf5b9 avconv: Make samples void*.
Different sample formats are different sizes.
2011-09-27 14:10:12 -07:00
Alex Converse
af3c06b4db avconv: Use the size of the decode sample format when allocating the audio samples buffer. 2011-09-27 14:10:12 -07:00
Anton Khirnov
d3c1d37a90 avconv: use different variables for decoded and filtered frame.
Makes the code less obfuscated and fixes encoding one video stream to
several outputs.

Also use avcodec_alloc_frame() instead of allocating AVFrame on stack.

Breaks me_threshold in avconv, as motion vectors aren't passed through
lavfi. They could be copied manually, but I don't think this misfeature
is useful enough to justify ugly hacks.
2011-09-27 19:17:37 +02:00
Anton Khirnov
3ccd15803b avconv: add support for copying attachments. 2011-09-27 15:26:36 +02:00
Anton Khirnov
becdce99eb avconv: factorize common code from new_*_stream() 2011-09-27 15:26:35 +02:00
Anton Khirnov
e3245b2631 avconv: replace all fprintf() by av_log().
Deprecate -v option, now only -loglevel is enough.
2011-09-26 20:33:50 +02:00
Anton Khirnov
f24facd3ec avconv: change av_log verbosity from ERROR to FATAL for fatal errors. 2011-09-26 20:33:50 +02:00
Anton Khirnov
182cbe433a avtools: parse loglevel before all the other options.
This way it can be applied to cmdutils too -- e.g. showing the banner
and printing startup messages.
2011-09-26 20:33:50 +02:00
Anton Khirnov
9b921a8272 avconv: use correct output stream index when checking max_frames 2011-09-25 08:28:14 +02:00
Anton Khirnov
240ae356e9 avconv: remove fake coded_frame on streamcopy hack
Back in 2002 when it was added, some muxers used information from
coded_frame. It's not true anymore, so this hack is useless and can be
removed.
2011-09-25 08:28:10 +02:00
Anton Khirnov
dc3e76f3f2 avconv: actually set InputFile.rate_emu 2011-09-23 10:04:44 +02:00
Anton Khirnov
4bb3ae1eaa avconv: use correct index when selecting metadata to write to. 2011-09-11 17:30:05 +02:00
Anton Khirnov
f39ecc79aa avconv: fix inverted variable 2011-09-11 17:30:05 +02:00
Anton Khirnov
495ecfd139 avconv: move streamid_map to options context. 2011-09-11 17:30:04 +02:00
Anton Khirnov
8e5ce5901b avconv: extend -vf syntax
Add a per-stream -filter option, make -vf an alias for -filter:v. Move
vfilters to the options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
828e0bcb86 avconv: move top_field_first to options context. 2011-09-11 17:30:04 +02:00
Anton Khirnov
2c2cff16d9 avconv: move inter/intra matrix to options context. 2011-09-11 17:30:04 +02:00
Anton Khirnov
0bc391281a avconv: remove -psnr option.
It's redundant -- -flags +psnr does the same thing.
2011-09-11 17:30:04 +02:00
Anton Khirnov
d242d80e36 avconv: remove me_threshold option.
It's only shadowing the AVOption with the same name.
2011-09-11 17:30:04 +02:00
Anton Khirnov
0e68c78385 avconv: move video_rc_override_string to options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
b2254d8385 avconv: move frame pixel format to the options context.
Also remove redundant -pix_fmt list syntax, it's inconsistent and  only
makes the code more complicated. -pix_fmts should be enough for
everyone.
2011-09-11 17:30:03 +02:00
Anton Khirnov
ca46fde792 avconv: move frame aspect ratio to the options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
d4397b0323 avconv: move frame size to the options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
91ea4811b3 avconv: move frame_rate to the options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
bef737a78a avconv: move force_fps to the options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
7c0296723c avconv: move forced_key_frames to the options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
77d9c4542c avconv: rewrite -qscale and -aq handling.
Merge video_qscale (set by -qscale) and audio_qscale (set by -aq) into
one 'qscale' field in the options context. Add a shortcut -q for -qscale
and make -aq an alias for -q:a.
2011-09-11 17:30:03 +02:00
Anton Khirnov
e2469ccf01 avconv: move audio_sample_rate to the options context. 2011-09-11 17:30:03 +02:00
Anton Khirnov
2c474ddbc5 cmdutils: add support for programs in check_stream_specifier()
Remove now redundant (and broken/undocumented) opt_programid.
2011-09-11 17:30:01 +02:00
Anton Khirnov
05bffc12c4 avconv: move audio_sample_fmt to options context.
Also document it and replace undocumented and inconsistent
'-sample_fmt list' syntax with -sample_fmts.
2011-09-11 17:29:55 +02:00
Anton Khirnov
6a11686dfc avconv: move audio_channels to the options context. 2011-09-10 15:25:57 +02:00
Anton Khirnov
2130981af3 avconv: move *_disable to options context. 2011-09-10 13:10:02 +02:00
Anton Khirnov
35c5d7d1ef avconv: remove -[vas]lang options.
They are redundant, the same can be now accomplished with -metadata.
2011-09-10 13:09:42 +02:00
Anton Khirnov
013887ebcd avconv: move codec tags to options context.
Add a new -tag option, make -[vas]tag an alias for -tag:[vas]
2011-09-10 13:03:54 +02:00
Anton Khirnov
a2a38d9665 avconv: fix parsing metadata specifiers.
After 039267f192, metadata specifiers are
passed without the leading ':'. Remove a ++ that didn't take this into
account.
2011-09-05 12:11:10 +02:00
Anton Khirnov
dc26318c2d avconv: move mux_preload and mux_max_delay to options context 2011-09-05 11:18:15 +02:00
Anton Khirnov
d821cbe2ff avconv: move bitstream filters to options context.
Change syntax -- -[vas]bsf are replaced by -bsf:[stream specifier], the
argument is now a comma-separated list of bitstream filters.
2011-09-05 11:17:31 +02:00
Anton Khirnov
f480532822 avconv: move rate_emu to options context.
Make it work properly with multiple input files.
2011-09-05 11:17:07 +02:00
Anton Khirnov
96139b5e32 avconv: move max_frames to options context.
Add a -frames option that uses generic stream specifiers, change
-[vad]frames into aliases to it.
2011-09-05 11:16:46 +02:00
Anton Khirnov
039267f192 avconv: move metadata to options context.
It is now possible to set metadata on streams and chapters.
2011-09-05 11:16:02 +02:00
Anton Khirnov
33f75d72e6 avconv: move ts scale to options context. 2011-09-05 11:15:40 +02:00
Anton Khirnov
c5bb372e85 avconv: move chapter maps to options context. 2011-09-05 11:15:28 +02:00
Anton Khirnov
847529f84a avconv: move metadata maps to options context. 2011-09-05 11:15:17 +02:00
Anton Khirnov
35e6f8c174 avconv: move codec_names to options context. 2011-09-05 11:13:36 +02:00
Anton Khirnov
7041bb3b1a avconv: move format to options context 2011-09-04 13:12:00 +02:00
Anton Khirnov
13ccba50d4 avconv: move limit_filesize to options context 2011-09-04 13:12:00 +02:00
Anton Khirnov
6b779cccaa avconv: move start_time, recording_time and input_ts_offset to options context 2011-09-04 13:12:00 +02:00
Anton Khirnov
575ec4e17d avconv: add a context for options.
Move stream maps to it.

Eventually all non-global options should be stored in it.
2011-09-04 13:12:00 +02:00
Anton Khirnov
7cc8d6385a cmdutils: add support for caller-provided option context.
This is the first step to removing the globals plague from avtools.
2011-09-04 13:12:00 +02:00
Anton Khirnov
cac651c834 cmdutils: move grow_array() from avconv to cmdutils. 2011-09-04 13:12:00 +02:00
Anton Khirnov
dad09ff93f cmdutils: move exit_program() declaration to cmdutils from avconv
Allows cmdutils to call each tool's own cleanup function.
2011-09-04 13:12:00 +02:00
Anton Khirnov
20c21f8b75 cmdutils: get rid of dummy contexts for examining AVOptions.
Replace it with newly introduced libavutil API.
2011-09-03 20:58:15 +02:00
Michael Niedermayer
6248694861 avconv: fix some bugs introduced in 630902a1e1
These caused scrambled error messages to be printed and
floating point exceptions.
For example when there was no decoder available for a
stream.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-01 11:04:13 +02:00
Anton Khirnov
2e2594ca5b avconv: remove -threads option.
It's only shadowing the AVOption with the same name.
2011-08-30 20:51:32 +02:00
Alex Converse
f593628e58 avconv: Replace raw picture frame swapping hack. 2011-08-30 10:12:22 -07:00
Anton Khirnov
c922816d31 avconv: remove stubs of crop* and pad* options 2011-08-29 06:22:10 +02:00
Anton Khirnov
ed5b13265e avconv: re-add nb_streams to InputFile.
It was mistakenly removed in 2cf8355f98,
not taking into account that new streams might appear in av_read_frame()
that avconv doesn't know about.

Fixes bug 24.
2011-08-29 06:22:07 +02:00
Diego Biurrun
0249478756 doxygen: fix wrong comment syntax, //< vs. ///< 2011-08-26 18:34:28 +02:00
Alex Converse
b9630bcf82 avconv: Replace goto redo on decode fail with continue.
This checks for sigterm but otherwise is identical to the previous
behavior.
2011-08-24 10:13:32 -07:00
Alex Converse
389e0a5a24 avconv: Remove dead store. 2011-08-24 10:13:32 -07:00
Alex Converse
6c7ee2f7db avconv: use av_clip_int16 for audio clipping 2011-08-23 09:53:23 -07:00
Nicolas George
bc8c50512f avconv: print the codecs names in the stream mapping.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 16:50:01 +02:00
Anton Khirnov
c74b44de08 avconv: move the avcodec_find_decoder() call to add_input_streams().
This makes the code simpler to understand, though it results in an
unnecessary call to avcodec_find_decoder() if the stream won't be
decoded.
2011-08-23 16:50:01 +02:00
Alex Converse
eaf2d37acc avconv: Separate initialization from the main transcode loop. 2011-08-19 15:41:05 -07:00
Anton Khirnov
f60a6b5853 avconv: reset input_ts_offset between files.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:37:14 -07:00
Anton Khirnov
b62b5cb6fd avconv: call flush_encoders() from transcode() directly.
And remove now pointless parameter.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:36:05 -07:00
Anton Khirnov
c093150849 avconv: fix broken indentation.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:35:20 -07:00
Anton Khirnov
f21f294e05 avconv: rescue poor abused limit_filesize global.
Keep a per-OutputFile instance of it, thus making -fs work with multiple
output files.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:34:24 -07:00
Alex Converse
e6d2b73784 avconv: Set error code before before jumping to fail. 2011-08-19 11:28:21 -07:00
Alex Converse
bb337b4fbc avconv: Fix spelling errors.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Anton Khirnov
6f1c66d526 avconv: save two levels of indentation in flush_encoders()
By replacing
if (foo)
    <do stuff>

with
if (!foo)
    continue;
<do stuff>
2011-08-18 11:22:12 +02:00
Anton Khirnov
4a4ce2e743 avconv: factor flushing encoders out of output_packet(). 2011-08-18 11:22:12 +02:00
Anton Khirnov
630902a1e1 avconv: factor out initializing input streams. 2011-08-18 11:22:12 +02:00
Anton Khirnov
ddf5ef0263 avconv: remove -intra option.
It's equivalent to -g 0.
2011-08-18 11:22:05 +02:00
Anton Khirnov
e922bbfa76 avconv: reset streamid_map between output files. 2011-08-18 08:49:32 +02:00
Anton Khirnov
c5ad2c2cc6 avconv: make timer_start a local var in transcode(). 2011-08-18 08:49:32 +02:00
Anton Khirnov
6494c001be avconv: cosmetics, move OutputStream.
Allows us to get rid of forward InputStream declaration.
2011-08-18 08:49:32 +02:00
Anton Khirnov
e659c51563 avconv: remove two unused macros. 2011-08-18 08:49:32 +02:00
Anton Khirnov
45f861283e avconv: reindent. 2011-08-17 20:01:12 +02:00
Anton Khirnov
ea065176b2 avconv: rescue poor abused start_time global.
Keep a per-OutputFile instance of it, thus making -ss work with multiple
output files.
2011-08-17 20:00:46 +02:00
Anton Khirnov
ef44a60710 avconv: rescue poor abused recording_time global.
Keep a per-OutputFile instance of it, thus making -t work with multiple
output files.
2011-08-17 20:00:06 +02:00
Anton Khirnov
2886aee73f avconv: merge two loops in output_packet(). 2011-08-17 19:58:55 +02:00
Anton Khirnov
f1176d41af avconv: fix broken indentation. 2011-08-17 19:58:31 +02:00
Anton Khirnov
b0c9e8e024 avconv: get rid of the arbitrary MAX_FILES limit. 2011-08-17 19:58:16 +02:00