Anton Khirnov
d7edd359ec
avconv: deprecate the -deinterlace option
...
Its quality is horrible, yadif should always be used instead.
2012-01-30 21:43:08 +01:00
Mans Rullgard
3715d841a6
Fix non-C89 declarations in for loops
...
Some compilers still do not support this syntax.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-01-29 23:26:04 +00:00
Diego Biurrun
abe655a472
Drop unnecessary prefix from *sink* variable and struct names.
2012-01-25 12:28:36 +01:00
Janne Grunau
2473a45c85
threads: change the default for threads back to 1
...
Using threaded decoding by default breaks backward compatibility if
AVHWAccel is used or if an appliction sets threadunsafe callbacks.
Avconv and avplay still use -threads auto if not specified.
2012-01-21 13:26:44 +01:00
Diego Biurrun
45f2908d02
cosmetics: Rename ffsink to avsink.
2012-01-19 00:19:43 +01:00
Anton Khirnov
9993284793
avconv: fix -frames for video encoders with delay.
...
Frames must be counted when they are passed to the encoder, not when
they come out.
Fixes Bug 202.
2012-01-17 09:39:32 +01:00
Justin Ruggles
ee458cb1fa
avconv: use avcodec_encode_audio2()
2012-01-15 21:24:18 -05:00
Anton Khirnov
b2ce3b998b
avconv: use AVFrame.width/height/format instead of corresponding AVCodecContext fields
2012-01-12 09:02:01 +01:00
Anton Khirnov
ac64607682
avconv: reinitialize the filtergraph on resolution change.
...
This is a hopefully temporary solution until lavfi can properly deal
with resolution changes.
2012-01-10 16:47:15 +01:00
Anton Khirnov
7b9373db89
avconv: fix -copyinkf.
...
This option only applies to streamcopy, but is currently processed only
when encoding.
2012-01-10 16:47:15 +01:00
Anton Khirnov
e8c04f6240
avconv: add symbolic names for -vsync parameters
2012-01-04 21:25:25 +01:00
Anton Khirnov
c88d53199b
avconv: remove the 'codec framerate is different from stream' warning
...
Codec timebase is not framerate and the situation when it's different
from AVStream.r_frame_rate is quite common, nothing to warn about.
2012-01-02 14:15:09 +01:00
Anton Khirnov
f15f02c204
avconv: make -frames work for all types of streams, not just video.
2012-01-01 22:27:52 +01:00
Janne Grunau
1135a07146
avconv: free bitstream filters
2012-01-01 21:48:50 +01:00
Aneesh Dogra
7636c8c6a3
avconv: K&R cosmetics
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-29 21:45:44 +01:00
Anton Khirnov
04a14d4d25
avconv: avoid memcpy in vsrc_buffer when possible.
...
Decoding Sintel.2010.1080p.mkv with 4 threads on an i7 2600K goes from
260s to 244s.
2011-12-25 16:18:57 +01:00
Anton Khirnov
64dca32cdf
avconv: implement get_buffer()/release_buffer().
...
This will allow memcpy-free passing frames to lavfi.
2011-12-25 16:18:57 +01:00
Alex Converse
4bf3c8f226
mov: Don't stick the QuickTime field ordering atom in extradata.
...
The 'fiel' atoms can be found in H.264 tracks clobbering the extradata.
MJPEG supports non field based extradata, and this data should be
preserved when copying.
2011-12-21 22:04:37 -08:00
Alexandra Khirnova
a7b5e841ff
avconv: support stream specifiers in -metadata and -map_metadata
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-16 21:12:53 +01:00
Anton Khirnov
cd3716b9aa
Replace all uses of av_close_input_file() with avformat_close_input().
2011-12-12 20:34:38 +01:00
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