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