Janne Grunau
f6cf4be821
avconv: update -map option help text
2011-12-12 14:36:04 +01:00
Diego Biurrun
da9cea77e3
Fix a bunch of common typos.
2011-12-11 00:32:25 +01:00
Anton Khirnov
5bf6638022
avconv: drop code for special handling of avserver streams.
...
It's broken and doesn't work anyway.
This patch means that avconv will ignore encoding options from the ffm
file and will instead use whatever is provided on the commandline as for
normal output.
2011-12-10 22:02:44 +01:00
Luca Barbato
f75e3d25d0
avconv: remove unsubstantiated comment
...
All the currently supported OS-es manage to use return values
properly.
2011-12-08 12:47:34 +01:00
Justin Ruggles
9179f27c64
avconv: only allocate 1 AVFrame per input stream
...
This avoids allocating/freeing an AVFrame for each packet decode. It also
simplifies error handling in transcode_audio() and transcode_video().
2011-12-05 11:54:24 -05:00
Justin Ruggles
110d2af28e
avconv: fix memleaks due to not freeing the AVFrame for audio
2011-12-05 10:53:29 -05:00
Justin Ruggles
d1241ff3b2
avconv: use avcodec_decode_audio4() instead of avcodec_decode_audio3()
2011-12-04 18:29:51 -05:00
Mans Rullgard
150ddbc148
Do not memcpy raw video frames when using null muxer
...
Commit 035af99
made avconv always call an encoder when using the
null muxer. While useful for 2-pass encodes, it inadvertently
caused an extra memcpy of raw frames when decoding only.
This hack restores the old behaviour when only decoding while
allowing use of the null muxer with encoded streams as well.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 18:49:50 +00:00
Anton Khirnov
7bb3e62594
avconv: make copy_tb on by default.
...
I.e. on streamcopy set output codec timebase from input stream timebase
(as opposed to input codec timebase). This should be more sane, because
since the stream is not decoded, the input codec tb has no relation to
the timestamps of the copied packets.
2011-11-30 07:47:43 +01:00
Anton Khirnov
741a05a293
avconv: compute next_pts from input packet duration when possible.
2011-11-30 07:47:43 +01:00
Anton Khirnov
91b412e786
avconv: update InputStream.pts in the streamcopy case.
...
This was broken in 2a651b719c
.
2011-11-30 07:47:43 +01:00
Alex Converse
fdab793a46
avconv: Handle audio sync for non-S16 sample formats.
...
Also fix reporting of the number of samples added/dropped.
2011-11-28 22:18:09 -08:00
Janne Grunau
aa38cff2c6
avconv: fix segfault at EOF with delayed pictures
...
At EOF it makes no sense to modify avpkt.{data,size} in output_packet
since no data is consumed. Frame threading with more than 1 threads
hits the segfault.
2011-11-24 00:33:02 +01:00
Anton Khirnov
06d4e2fa5a
avconv: remove a now unused parameter from output_packet().
2011-11-23 22:03:32 +01:00
Anton Khirnov
8b0268a853
avconv: formatting fixes in output_packet()
2011-11-23 22:02:59 +01:00
Anton Khirnov
ffa0674e5a
avconv: declare some variables in blocks where they are used
2011-11-23 22:01:32 +01:00
Anton Khirnov
af8ad892bf
avconv: use the same behavior when decoding audio/video/subs
...
I.e. if the packet was only partially consumed, pass the rest of it into
the decoder again.
Also simplify the code so it's the same for video/audio/subs.
2011-11-23 21:58:53 +01:00
Anton Khirnov
e1edfbcb24
avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
...
Prevent avconv from duplicating or dropping frames for formats where it
makes even less sense than usual, e.g. image2.
2011-11-23 21:38:17 +01:00
Alex Converse
105ab61c5f
avconv: Consistently use PIX_FMT_NONE.
...
Use PIX_FMT_NONE instead of -1 when dealing with PixelFormat variables.
2011-11-22 14:33:11 -08:00
Anton Khirnov
82963f8f04
avconv: cleanup the transcoding loop in output_packet().
2011-11-21 21:43:48 +01:00
Anton Khirnov
9595234c94
avconv: split subtitle transcoding out of output_packet().
2011-11-21 18:12:38 +01:00
Anton Khirnov
45d4b66f6f
avconv: split video transcoding out of output_packet().
2011-11-21 18:12:38 +01:00
Anton Khirnov
ded28ba35b
avconv: split audio transcoding out of output_packet().
2011-11-21 18:12:38 +01:00
Anton Khirnov
78162b4ea2
avconv: reindent.
2011-11-21 18:12:38 +01:00
Anton Khirnov
2a651b719c
avconv: move streamcopy-only code out of decoding loop.
2011-11-21 18:12:37 +01:00
Anton Khirnov
51aeb69452
avconv: remove an always true condition and reindent.
2011-11-21 18:12:37 +01:00
Anton Khirnov
7204ec1a88
avconv: split off streamcopy handling into a separate loop.
...
This is easier to understand and is less likely to break horribly when a
stream is to be both decoded and copied.
2011-11-21 18:12:37 +01:00
Anton Khirnov
03f30c837b
avconv: cosmetics, reformat transcode_init()
...
Fix spacing, vertically align, break some long lines, add some empty
lines for readability.
2011-11-21 08:13:37 +01:00
Anton Khirnov
1bb77e51a8
avconv: rename 'os' variable to 'oc'
...
Output AVFormatContext is called 'oc' in most other places.
2011-11-21 08:13:32 +01:00
Martin Storsjö
2abe947ac0
avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-18 11:01:16 +01:00
Anton Khirnov
492cc1bef3
avconv: remove some codec-specific hacks
...
The problem they are supposed to fix is handled in riff.c, so those
hacks are pointless.
2011-11-10 11:55:58 +01:00
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