Michael Niedermayer
c250063523
get_buffers: Check that pix_fmt is not NONE.
...
This is somewhat redundant as no decoder should call get_buffer() with such argument.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ddd86a2924
ffmpeg: Fix division by 0 due to invalid timebase
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Carl Eugen Hoyos
7b4e1466d4
Exit ffmpeg if swr_convert() fails.
13 years ago
Reimar Döffinger
6a3f1726af
Add missing av_free_packet.
...
Fixes memory leak when encoding at least with mpegvideo using the
new encode2 function.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Michael Niedermayer
f3bd226de6
ffmpeg: Fix setting flags for codec copy.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
60991ad6ae
ffmpeg: Fix image allocation.
...
This probably fixes some of the use of uninitialized issues valgrind shows in fate.
It might also fix other issues.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
5d12b83ff1
ffmpeg.c: implement -debug_ts option
...
Mostly useful for debugging purposes.
13 years ago
Clément Bœsch
b986590810
ffmpeg: remove unneeded ost->picref check.
...
If there ost->picref is NULL, it will likely crash anyway a few lines
below by dereferencing it in order to access video attribute.
13 years ago
Clément Bœsch
c214e98634
ffmpeg: remove pointless avcodec_get_frame_defaults().
...
filtered_frame is overwritten just below anyway.
13 years ago
Clément Bœsch
73413e6bca
ffmpeg: raise ENOMEM on avfilter_graph_alloc() failure.
13 years ago
Reimar Döffinger
c15f3bd3db
Simplify: use local variable with same contents directly.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Michael Niedermayer
85f25cfa19
ffmpeg: fix passlogfile with multiple libx264 streams.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Clément Bœsch
a3c4371f3c
ffmpeg: prefer NULL over 0 for av_log context pointer parameter.
13 years ago
Clément Bœsch
158bd596a6
ffmpeg: move quality parameter to do_video_out() scope.
...
This make do_video_out() and do_audio_out() consistent. Also simplifies
callers.
13 years ago
Clément Bœsch
63b5e99fab
ffmpeg: make use of ret error out in transcode_video().
13 years ago
Clément Bœsch
086fc4d765
ffmpeg: move filtered_frame to the CONFIG_AVFILTER scope.
...
This simplifies a bit the #ifdefery.
13 years ago
Clément Bœsch
9303b794b8
ffmpeg: move do_video_stats() above do_video_out().
...
This avoid a forward declaration.
13 years ago
Clément Bœsch
a78dd826ee
ffmpeg: move video stats code to do_video_out().
...
This will allow some simplifications in transcode_video().
13 years ago
Clément Bœsch
cf31060127
ffmpeg: move filtered_frame to video stream processing scope.
13 years ago
Clément Bœsch
aede21f1b6
ffmpeg: reindent after video frame polling simplification.
13 years ago
Clément Bœsch
e22c7b4e25
ffmpeg: simplify video frame polling.
...
input_video_filter and output_video_filter can't be NULL at this point.
If they are, the current code would likely crash anyway (since
filtered_frame would be NULL and sent to do_video_out().
13 years ago
Clément Bœsch
4ab4b3db5a
ffmpeg: use exit_program() if configure_video_filters() fails.
13 years ago
Michael Niedermayer
29034e6503
ffmpeg: Add threshold to discard crazy/damaged timestamps.
...
The added tests are limited to the case where timestamp discontinuities
are not allowed. The default is 30 hours which is arbitrarily picked and
quite conservative.
This prevents a out of memory condition due to duplicating a frame
millions of times.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
677911ad81
ffmpeg: better dox for *pts.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
d8710228ea
ffmpeg: change sync_opts code to be more similar to qatar.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fba318a4b0
ffmpeg: update (next_)pts in the stream copy case
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
160008a60f
ffmpeg: use ist->dts in rate_emu_sleep()
...
Based on change by Anton Khirnov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
e7f4de34ad
ffmpeg: use ist->dts in do_streamcopy()
...
Based on change by Anton Khirnov.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Anton Khirnov
67c63176ad
ffmpeg: remove setting fb->pts.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Anton Khirnov
d97fa416d6
ffmpeg: reduce overloading for InputStream.pts.
...
It currently has different meanings at different times (dts of the last
read packet/pts of the last decoded frame). Reduce obfuscation by
storing pts of the decoded frame in the frame itself.
Conflicts:
ffmpeg.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
67700e877d
ffmpeg: update dts variables in transcode_audio()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
6028bd0dc6
ffmpeg: move next_dts/pts update out of transcode_video()
...
this makes it placed similar to qatar
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
7665da46ce
ffmpeg: update ist->pts in transcode_audio with the audio decoders output.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
8ea81805d4
ffmpeg: print more details and rescaled timestamps in debug code.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
c0be67cac1
ffmpeg: use (next_)dts in timestamp discontinuity detection code.
...
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
e806ceaa7b
ffmpeg: Use the correct (dts) variables for stream copy.
...
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f070bf0894
ffmpeg: Fix (next)_dts/pts init.
...
Based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
4eea0cfc22
ffmpeg: use ist->dts instead of passing an argument into transcode_video().
...
This makes the code more similar to qatar
And fixes decoding of the last frame of fate/vc1-ism
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f72eaf69ab
ffmpeg: Init dts variables in output_packet()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fe380adbfb
ffmpeg: add (next_dts/dts) variables.
...
Strongly based on Anton Khirnovs code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Stefano Sabatini
f491f033f5
ffmpeg: document the unit for the -fs option parameter
13 years ago
Stefano Sabatini
70ffda3217
lavu: introduce av_parse_ratio() and use it in ffmpeg and lavfi/aspect
...
Factorize code and provide ratio parsing consistency.
13 years ago
Michael Niedermayer
982783ac49
ffmpeg: document avi special case
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Clément Bœsch
c673671333
ffmpeg: fix -map_channel being ignored when resampling is not needed.
13 years ago
Reimar Döffinger
05741d70c7
Fallback to input timestamps for non-delay encoders.
...
Causes FFmpeg to pass through the correct pts values,
instead of clobbering all to AV_NOPTS_VALUE (the av_init_packet
default) to then make up new ones based on only fps when muxing.
Included are also the related FATE ref changes, which all
some reasonable on quick investigation.
Also set all H.264 references to us -vsync drop to reduce the
diff for the ref files.
Otherwise almost all H.264 references need to change, mostly due
to now starting with negative pts values.
About 20 additional H.264 conformance tests needed -vsync
drop anyway because they create pts values that are out of
order and thus not possible to mux otherwise.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Reimar Döffinger
47a5274104
Add -vsync drop.
...
This allows to work around any non-monotonic time-stamp errors
by just discarding all time stamps.
This will be necessary to allow H.264 conformance tests to pass
after fixing time stamps to be passed through rawenc.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Reimar Döffinger
836110665f
Compare video_sync_method against the appropriate defines.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Michael Niedermayer
fe0089a6ed
ffmpeg: fix -qscale X breaking audio codecs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
668494acd8
ffmpeg: add image size check to codec_get_buffer()
...
Fixes CVE-2011-3935
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
20aed9ed4f
ffmpeg: Allocate buffers of the size needed by the decoder.
...
Fixes bug127
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago