Commit Graph

190 Commits

Author SHA1 Message Date
Anton Khirnov 059fb8c884 avconv: remove some redundant temporary variables. 2011-11-06 18:38:54 +01:00
Anton Khirnov f8c314c81f avconv: fix broken indentation 2011-11-06 18:38:53 +01:00
Anton Khirnov a2aeeb2263 avconv: move copy_initial_nonkeyframes to the options context.
Also document it.
2011-11-06 18:38:53 +01:00
Anton Khirnov 9a414d8962 avconv: use file:stream instead of file.stream in log messages. 2011-11-06 18:38:53 +01:00
Martin Storsjö 776f2bb91a Call avformat_network_init/deinit in the programs
Calling the init function will become mandatory at some later
point. By calling it, more heavy network init (such as SSL/TLS
library init) can be done once at startup, instead of implicitly
when used (which could lead to it being done a number of times).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-06 18:31:39 +02:00
Anton Khirnov a2c0b830d5 avconv: add -dump_attachment option. 2011-11-03 07:29:29 +01:00
Anton Khirnov 4dbc6ceef5 avconv: add -attach option.
It allows attaching arbitrary files, e.g. fonts to Matroska files.
2011-11-03 07:28:21 +01:00
Anton Khirnov e6674f685b avconv: make negative mappings disable only streams from the specified file 2011-11-03 07:28:08 +01:00
Martin Storsjö 02170990fd cmdutils: Rename read_file to cmdutils_read_file
This symbol name clashes with a symbol in gnutls, if linking
statically to that library.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-31 16:29:29 +02:00
Justin Ruggles d0a196962a g722dec: remove the use of lowres for half-rate decoding.
It is broken because an AVCodecContext can be opened/closed multiple
times, and sample_rate is getting divided by 2 each time that happens.

This removes the only use of lowres for audio.
2011-10-25 11:30:50 -04:00
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