Anton Khirnov
4bb2a74ffc
ffmpeg: 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-30 18:10:10 +02:00
Alex Converse
ff037c54b4
ffmpeg: Replace goto redo on decode fail with continue.
...
This checks for sigterm but otherwise is identical to the previous
behavior.
2011-08-30 18:10:10 +02:00
Alex Converse
cf89e55ac0
ffmpeg: Remove dead store.
2011-08-30 18:10:10 +02:00
Alex Converse
08fe874fa4
ffmpeg: use av_clip_int16 for audio clipping
2011-08-30 18:10:09 +02:00
Michael Niedermayer
ef24426599
ffmpeg: switch stream mapping print code to qatars variant
...
Author of the lines of code is probably Nicolas and or Anton
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:35 +02:00
Anton Khirnov
10c3b03380
ffmpeg: 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-30 18:08:23 +02:00
Alex Converse
93ed69ad21
ffmpeg: Separate initialization from the main transcode loop.
2011-08-30 18:08:23 +02:00
Anton Khirnov
e5362cecfb
ffmpeg: reset input_ts_offset between files.
...
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:23 +02:00
Anton Khirnov
3806494549
ffmpeg: call flush_encoders() from transcode() directly.
...
And remove now pointless parameter.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:23 +02:00
Anton Khirnov
d73e8cab02
ffmpeg: fix broken indentation.
...
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:23 +02:00
Anton Khirnov
877ba7b4bd
ffmpeg: 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-30 18:08:23 +02:00
Alex Converse
cb13438543
ffmpeg: Set error code before before jumping to fail.
2011-08-30 18:08:23 +02:00
Alex Converse
6e6ccf0d56
ffmpeg: Fix spelling errors.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-30 18:08:23 +02:00
Anton Khirnov
47a3439ee7
ffmpeg: save two levels of indentation in flush_encoders()
...
By replacing
if (foo)
<do stuff>
with
if (!foo)
continue;
<do stuff>
2011-08-30 18:08:22 +02:00
Anton Khirnov
a16f1afb11
ffmpeg: factor flushing encoders out of output_packet().
2011-08-30 18:08:22 +02:00
Anton Khirnov
94adca68f8
ffmpeg: factor out initializing input streams.
2011-08-30 18:08:22 +02:00
Anton Khirnov
8b85b9fa42
ffmpeg: reset streamid_map between output files.
2011-08-30 18:08:22 +02:00
Anton Khirnov
6bdd9fbc89
ffmpeg: make timer_start a local var in transcode().
2011-08-30 18:08:22 +02:00
Anton Khirnov
3a7b4ccd1c
ffmpeg: cosmetics, move OutputStream.
...
Allows us to get rid of forward InputStream declaration.
2011-08-30 18:08:22 +02:00
Anton Khirnov
8f9c77e765
ffmpeg: remove two unused macros.
2011-08-30 18:08:22 +02:00
Anton Khirnov
e0aee84084
ffmpeg: reindent.
2011-08-30 18:08:22 +02:00
Anton Khirnov
d4d5a95055
ffmpeg: rescue poor abused start_time global.
...
Keep a per-OutputFile instance of it, thus making -ss work with multiple
output files.
2011-08-30 18:08:22 +02:00
Anton Khirnov
08890d355e
ffmpeg: : rescue poor abused recording_time global.
...
Keep a per-OutputFile instance of it, thus making -t work with multiple
output files.
2011-08-30 18:08:22 +02:00
Anton Khirnov
5c2a4d3bb1
ffmpeg: fix broken indentation.
2011-08-30 18:08:22 +02:00
Anton Khirnov
dd0724288e
ffmpeg: get rid of the arbitrary MAX_FILES limit.
2011-08-30 18:08:22 +02:00
Anton Khirnov
76e4873319
ffmpeg: get rid of the output_streams_for_file vs. ost_table schizophrenia
...
Instead store output streams in the same way as input streams.
2011-08-30 18:08:22 +02:00
Michael Niedermayer
b091de2285
Revert "Fix stream mapping regression"
...
Subsequent cherry picks are based on code prior to this, thus this needs to be rebased
on HEAD by a volunteer.
This reverts commit b25d931a82
.
2011-08-30 18:06:37 +02:00
Anton Khirnov
61b933f554
ffmpeg: add a wrapper for output AVFormatContexts and merge output_opts into it
2011-08-30 17:58:00 +02:00
Anton Khirnov
0ea58d7115
ffmpeg: make itsscale syntax consistent with other options.
...
Move the stream specifier to the option name.
2011-08-30 17:58:00 +02:00
Anton Khirnov
81e4655566
ffmpeg: factor out adding input streams.
2011-08-30 17:58:00 +02:00
Alex Converse
a6d0340ca1
ffmpeg: Factorize combining auto vsync with format.
2011-08-30 17:57:59 +02:00
Alex Converse
ebf94f439e
ffmpeg: Factorize video resampling.
2011-08-30 17:57:59 +02:00
Alex Converse
dadbebbbbc
ffmpeg: Don't unnecessarily convert ipts to a double.
2011-08-30 17:57:59 +02:00
Anton Khirnov
7357f6e678
ffmpeg: don't segfault on 0 input files.
2011-08-30 17:57:59 +02:00
Anton Khirnov
6e675b504a
ffmpeg: remove pointless parameter from new_*_stream().
...
New streams are always added to the last output file.
2011-08-30 17:57:59 +02:00
Anton Khirnov
868013aa01
ffmpeg: cosmetics, move code
...
Move find_codec_or_die(), choose_codec(), new_output_stream() and
read_avserver_streams() below transcode() where they belong.
2011-08-30 17:57:59 +02:00
Anton Khirnov
6f610fa144
ffmpeg: cosmetics -- move copy_chapters().
...
It's only used in opt_output_file(), so move it right above
opt_output_file().
2011-08-30 17:57:59 +02:00
Anton Khirnov
c692eda3e7
ffmpeg: cosmetics -- move parse_forced_key_frames().
...
parse_forced_key_frames() is only used in new_video_stream(), so move it
right above new_video_stream().
2011-08-30 17:57:59 +02:00
Anton Khirnov
f69e8c7d15
ffmpeg: switch to a:b syntax
2011-08-30 17:57:59 +02:00
Anton Khirnov
e3bf4e292c
ffmpeg: replace -vcodec/-acodec/-scodec with a better system.
...
The new option doesn't depend on its placement wrt -new* options (which
don't exist anymore) and works in a similar way as per-stream AVOptions.
-[vas]codec remain as aliases to -codec:[vas]
2011-08-30 17:57:59 +02:00
Anton Khirnov
a0147957e7
ffmpeg: remove presets.
...
Nothing except x264 uses them and native x264 presets should be used
with private options.
2011-08-30 17:57:59 +02:00
Michael Niedermayer
2d726b195e
Revert "ffmpeg: simplify opt_*_codec() options"
...
This is needed because the following cherry picks are based on code prior of this
This reverts commit f712f6c8a4
.
2011-08-30 17:57:59 +02:00
Anton Khirnov
88bfe4518b
ffmpeg: change semantics of -map
...
New syntax contains an optional stream type, allowing to refer to n-th
stream of specific type.
Omitting stream number now maps all streams of the given type.
2011-08-30 17:57:59 +02:00
Anton Khirnov
f12f40b31a
ffmpeg: get rid of new* options.
...
They are confusing, irregular and redundant -- -map already contains all
the information. Stream maps can now be parsed in opt_output_file().
Add a more user-friendly default behavior in case no maps are present.
Breaks -programid for now, but it never worked properly anyway. A better
solution will be written soon.
2011-08-30 17:57:59 +02:00
Anton Khirnov
7efec8dd6d
ffmpeg: rename sameq variables to same_quant
2011-08-30 17:57:59 +02:00
Anton Khirnov
5a9e42ec45
ffmpeg: make -map_metadata work consistently with the other options
...
Before, it took an input and output file index, now it only takes an
input file and applies to the next output file.
Stream/chapter/program specification is now part of the option name and
the delimiter was changed from ',' to ':' to be consistent with the
similar feature for AVOptions.
2011-08-30 17:57:59 +02:00
Anton Khirnov
6bf3c39d17
ffmpeg: make -map_chapters accept only the input file index.
...
This is consistent with how all the other options work
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 17:57:59 +02:00
Michael Niedermayer
97861f5b08
ffmpeg: Set codec_type in new_output_stream
...
Ported from a change from anton khirnov to avconv
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 17:57:59 +02:00
Anton Khirnov
a0ce297b69
ffmpeg: rename ffmpeg_exit in exit_program
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 17:57:59 +02:00
Kostya Shishkov
a80852316e
RV40: reuse some H.264 motion compensation functions in RV40.
...
Since RV40 is based on H.264, it uses the same interpolation filters and
functions for halfpel interpolation in one direction can be reused.
Unfortunately other cases are implemented differently and produce slightly
different output because of rounding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-08-30 12:04:46 +01:00