Michael Niedermayer
b2a8bc3d04
ffmpeg/set_encoder_id: dont allocate encoder string if one is already set
...
Fixes memleak
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
4d686674b2
ffmpeg: use av_fifo_alloc_array
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
11 years ago
Michael Niedermayer
833ec9177d
ffmpeg/do_video_stats: fix used timebase
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
dad54e4a62
ffmpeg: set dts for subtitles
...
dts is not optional, its required for muxing,
previously it was set from AVStream.pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
87f5ede6b5
ffmpeg: add last_mux_dts_plus_duration
...
Fixes 1 frame error in the duration and derived values,
introduced by not using AVStream.pts in the previous commit
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Olivier Langlois
76191c08f8
ffmpeg: Use av_gettime_relative()
...
Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.
Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
0c152fe916
ffmpeg: prefix encoder with "Lavc " in bitexact mode
...
This avoids misleading encoder names like "encoder = prores"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
bbee02ed9c
ffmpeg: Skip writing the version when -flags bitexact is used
...
Alternatively every fate test could be changed to pass both fflags and flags +bitexact
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
e9602dcb4d
ffmpeg: bitstream filters require split out side data
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
a5f2f33a67
ffmpeg: use av_fifo_freep
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
11 years ago
Michael Niedermayer
a3477fef2b
ffmpeg: put the sizeof() second in av_malloc_array()
...
This is purely a cosmetic change
Suggested-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
feaa31d354
ffmpeg: use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
ed72dae4cf
ffmpeg: dont print "Conversion failed" if conversion has never started
...
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
fed0acebad
ffmpeg: print an error at the end if conversion failed
...
Fixes Ticket3477
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
e48fb4e1a5
ffmpeg: fix mixed merged & split side data with the stream->packet hack
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
517cc81e93
ffmpeg: stop protocols on interrupt when no transcoding has happened yet
...
Fixes Ticket3344
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
506064ed10
ffmpeg: frame droping due to fps should not be a warning
...
This reverts part of 41e7e46cac
See: http://thread.gmane.org/gmane.comp.video.ffmpeg.user/51229
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
cb640eb335
ffmpeg: move packet deallocation into write_frame
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Nicolas George
521707d42e
ffmpeg: sub2video: send a last blank frame before closing.
...
Fix trac ticket #3420 .
11 years ago
Michael Niedermayer
9dca02ee54
ffmpeg: dont call exit_program() from a signal hander
...
This is unsafe and can deadlock amongth other things
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
d3ed8a4d2b
ffmpeg: try to avoid calling av_log() from sigterm_handler()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
4d17179b37
ffmpeg: fix printing INT64_MIN pts at the end
...
Fixes Ticket3427
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
b79dfd16cb
ffmpeg: dont try to run the subtitle encoder on non subtitle streams
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Nicolas George
299a56879d
ffmpeg: make reading packets from thread blocking.
...
If a packet is not ready on the input selected by ffmpeg,
it will read from another input instead. If that happens
repeatedly, frames will accumulate somewhere later in the
processing to ensure streams synchronization. It can happen
in particular when reading from a slow medium or an
expensive lavfi filter graph.
Make reading from normal demuxers on non-streamed data and
from the lavfi pseudo-device blocking to avoid that.
Should fix trac ticket #3079 .
11 years ago
Michael Niedermayer
3734c3ea51
ffmpeg: reduce frame rate for mpeg4 to be within the spec limits
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
3868e97c6b
ffmpeg: fix vstats
...
Broken by: 394fb56c29
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Stefano Sabatini
290da7e754
ffmpeg: tweak debug_ts logging and add more of it
...
Help with debugging timestamp issues.
11 years ago
Michael Niedermayer
2e02d71237
ffmpeg: print data size too in statistic
...
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
be7b76230f
ffmpeg: also count data streams bytes
...
Fixes wrong error message about empty output file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Stefano Sabatini
9651239f67
ffmpeg: use intermediary variables in reap_filters, increase readability
11 years ago
Stefano Sabatini
094516a5d0
ffmpeg: use av_err2str() macro
...
Simplify.
11 years ago
Stefano Sabatini
9f956d9d8d
ffmpeg: apply misc cosmetics to process_input() code
11 years ago
Michael Niedermayer
740e6042a0
ffmpeg: change ost->finished to an enum
...
Idea-by: ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
d73f897669
ffmpeg: update statistics only when a packet is actually muxed
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
5c459504f6
ffmpeg/flush_encoders: dont mux packets once ost->finished has been set
...
Fixes muxing frames after av_interleaved_write_frame() failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
706741e8d7
ffmpeg: properly close down muxers on av_interleaved_write_frame() failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
4ff77d4451
ffmpeg: check ost->finished in check_output_constraints()
...
No testcase but it seems logic to stop when finished is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
7d91fb305e
ffmpeg: check ost->finished in reap_filters()
...
This avoids finished output streams continuing to receive frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
88956f73f2
ffmpeg: use timestamp from before and after the decoder to detect backward moving dts for discontinuity detection
...
This should make discontinuity detection more robust and detect
more cases. Timestamps after the decoder can be delayed due to threads,
timestamps before can be missing
no testcase available/known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Jan Gerber
200cfab8c4
remuxing .opus files to .webm codec->delay must be copied too
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Marton Balint
31bb172be2
ffmpeg: ensure that -fix_sub_duration doesnt create subtitles with zero duration
...
When fix_sub_duration is used, and the duration fixing code is generating 0
duration, that is definitely zero, and not undefined or infinite (which may be
the case for decoded AVSubtitles depending on the codec), so it is safe to drop
it.
It fixes teletext subtitle sources, when the subtitles are transmitted twice
after each other for some reason.
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Nicolas George <george@nsup.org>
11 years ago
Marton Balint
4d6f2ff524
ffmpeg: free empty subtitles as well in transcode_subtitles
...
Even if it does not matter at the moment, because subtitles with num_rect == 0
have no memory allocated, this is how we expect the users to use the API, a
returned AVSubtitle should be freed with avsubtitle_free.
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Nicolas George <george@nsup.org>
11 years ago
Marton Balint
3e396ca8ed
ffmpeg: do not pass possibly undefined subtitles to sub2video_update
...
It should not matter for real-life usage, it is just cleaner this way.
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Nicolas George <george@nsup.org>
11 years ago
Michael Niedermayer
738ebb4a0e
ffmpeg: set VCFR when copying timestamps
...
This fixes unreasonable initial frame repeats
Fixes Ticket3176
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
d7ac887cd6
cmdutils&ffmpeg: use av_fopen_utf8() for passlogfile
...
might fix Ticket3056
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
df87cfd798
ffmpeg: fix do_streamcopy() so it copies side data too
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
d7ebeba80c
ffmpeg: Do not fill gap before the first decodable frame on single stream input files unless the user explicitly requests it.
...
Fixes different behavior to JM and probably several if not all
reference decoders.
We cannot just do this unconditionally as it would ruin AV sync in
some use cases.
Bug-Found-by: BugMaster
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
8cdf4e0823
ffmpeg: remove unneeded include "libswscale/swscale.h"
...
Found-by: ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
9c52ab6f4f
ffmpeg: treat avi as VFR in framerate conversion code
...
It can be debated if avi is vfr or cfr, it can be either depending
on the definition of vfr and cfr.
This commit ensures that avi is treated correctly independent of
the AVFMT_VARIABLE_FPS value.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
a443b9732f
ffmpeg: make stream default if its the only of its kind and no source can be unambigously assigned to it
...
Fixes Ticket2969
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago