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.
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>
* commit '488a0fa68973d48e264d54f1722f7afb18afbea7':
avconv: support -t as an input option.
Conflicts:
Changelog
ffmpeg.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '811bd0784679dfcb4ed02043a37c92f9df10500e':
avconv: make input -ss accurate when transcoding
Conflicts:
Changelog
doc/ffmpeg.texi
ffmpeg.h
ffmpeg_filter.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
lavfi/gradfun: remove rounding to match C and SSE code.
lavfi/gradfun: fix dithering in MMX code.
lavfi/gradfun: fix rounding in MMX code.
lavfi/gradfun: do not increment DC pointer for odd values.
fate: filter: Add dependencies
avconv: add options for reading filtergraphs from a file.
Conflicts:
Changelog
doc/ffmpeg.texi
doc/filters.texi
ffmpeg.h
ffmpeg_opt.c
libavfilter/vf_gradfun.c
tests/fate/filter.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '354468fc12dcf93e7fb4af552e18906771913273':
avplay: switch to new refcounted frames API
avconv: convert to new refcounted AVFrame API
Conflicts:
cmdutils.c
ffmpeg.c
ffmpeg.h
ffplay.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Allows, amongst other things, to override the size guessed
by the sub2video hack.
Note: the -s option could have more or less the same semantic,
but it receives a special treatment by the options system.
Until now, the end_display_time was ignored, making single
packets subtitles (like dvdsub) stay indefinitely.
start_display_time was also ignored, but is it almost always 0.
Normally we discard things prior to the intended start
for stream copy this is not always possible, and its not done by default
this option allows discarding to be enabled
this is primarely usefull when transcoding a video and stream copying an
audio stream.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ec36aa69448f20a78d8c4588265022e0b2272ab5':
x86: Fix linking with some or all of yasm, mmx, optimizations disabled
configure: Add more fine-grained SSE CPU capabilities flags
avfilter: x86: Use more precise compile template names
x86: cosmetics: Comment some #endifs for better readability
g723_1: add comfort noise generation
utvideoenc: Switch to dsputils' median prediction
utvideoenc: Avoid writing into the input picture
avtools: remove the distinction between func_arg and func2_arg.
avconv: make the -passlogfile option per-stream.
avconv: make the -pass option per-stream.
cmdutils: make -codecs print lossy/lossless flags.
lavc: add lossy/lossless codec properties.
Conflicts:
Changelog
cmdutils.c
configure
doc/APIchanges
ffmpeg.h
ffmpeg_opt.c
ffprobe.c
libavcodec/codec_desc.c
libavcodec/g723_1.c
libavcodec/utvideoenc.c
libavcodec/version.h
libavcodec/x86/mpegaudiodec.c
libavcodec/x86/rv40dsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mpegvideo_enc: don't use deprecated avcodec_encode_video().
cmdutils: refactor -codecs option.
avconv: make -shortest a per-output file option.
lavc: add avcodec_descriptor_get_by_name().
lavc: add const to AVCodec* function parameters.
swf(dec): replace CODEC_ID with AV_CODEC_ID
dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE
rtmpdh: Do not generate the same private key every time when using libnettle
rtp: remove ff_rtp_get_rtcp_file_handle().
rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle()
avio: add (ff)url_get_multi_file_handle() for getting more than one fd
h264: vdpau: fix crash with unsupported colorspace
amrwbdec: Decode the fr_quality bit properly
Conflicts:
Changelog
cmdutils.c
cmdutils_common_opts.h
doc/ffmpeg.texi
ffmpeg.c
ffmpeg.h
ffmpeg_opt.c
libavcodec/h264.c
libavcodec/options.c
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
mpegvideo: reduce excessive inlining of mpeg_motion()
mpegvideo: convert mpegvideo_common.h to a .c file
build: factor out mpegvideo.o dependencies to CONFIG_MPEGVIDEO
Move MASK_ABS macro to libavcodec/mathops.h
x86: move MANGLE() and related macros to libavutil/x86/asm.h
x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
aacdec: Don't fall back to the old output configuration when no old configuration is present.
rtmp: Add message tracking
rtsp: Support mpegts in raw udp packets
rtsp: Support receiving plain data over UDP without any RTP encapsulation
rtpdec: Remove an unused include
rtpenc: Remove an av_abort() that depends on user-supplied data
vsrc_movie: discourage its use with avconv.
avconv: allow no input files.
avconv: prevent invalid reads in transcode_init()
avconv: rename OutputStream.is_past_recording_time to finished.
Conflicts:
configure
doc/filters.texi
ffmpeg.c
ffmpeg.h
libavcodec/Makefile
libavcodec/aacdec.c
libavcodec/mpegvideo.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f154ef1ae5b03f288dd8c025dab1884b4cb20c1a':
avconv: send EOF to lavfi even if flushing the decoder fails
avconv: get rid of pointless temporary variable.
avconv: simplify transcode().
avconv: cosmetics
avconv: replace no_packet array in transcode() with a var in InputStream
avconv: remove unused variable from InputFile.
avconv: remove commented out cruft.
avconv: maintain sync on lavfi outputs.
Conflicts:
ffmpeg.c
ffmpeg.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master: (23 commits)
build: cosmetics: Reorder some lists in a more logical fashion
x86: pngdsp: Fix assembly for OS/2
fate: add test for RTjpeg in nuv with frameheader
rtmp: send check_bw as notification
g723_1: clip argument for 15-bit version of normalize_bits()
g723_1: use all LPC vectors in formant postfilter
id3v2: Support v2.2 PIC
avplay: fix build with lavfi disabled.
avconv: split configuring filter configuration to a separate file.
avconv: split option parsing into a separate file.
mpc8: do not leave padding after last frame in buffer for the next decode call
mpegaudioenc: list supported channel layouts.
mpegaudiodec: don't print an error on > 1 frame in a packet.
api-example: update to new audio encoding API.
configure: add --enable/disable-random option
doc: cygwin: Update list of FATE package requirements
build: Remove all installed headers and header directories on uninstall
build: change checkheaders to use regular build rules
rtmp: Add a new option 'rtmp_subscribe'
rtmp: Add support for subscribing live streams
...
Conflicts:
Makefile
common.mak
configure
doc/examples/decoding_encoding.c
ffmpeg.c
libavcodec/g723_1.c
libavcodec/mpegaudiodec.c
libavcodec/x86/pngdsp.asm
libavformat/version.h
library.mak
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>