Nicolas George
03847eb825
lavf: compute probe buffer size more reliably.
...
The previous code computes the offset by reversing the growth
of the allocated buffer size: it is complex and did lead to
inconsistencies when the size limit is reached.
Fix trac ticket #1991 .
2012-12-04 19:49:51 +01:00
Michael Niedermayer
83ddedbbf2
lavf: the core rfps code needs 2 durations to estimate rfps
...
This fixes a regression where this count became 1 with
HPM-GC\ EXPORT\ FCP-1A-AVCI100-1080i25-001.mxf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-04 18:04:29 +01:00
Michael Niedermayer
d7b20bfbb5
Merge commit '5c7bf2dddee5bdfa247ff0d57cb8a37d19077f66'
...
* commit '5c7bf2dddee5bdfa247ff0d57cb8a37d19077f66':
lavf: move nuv fourcc audio tags from riff to nuv
lavf: add a common function for selecting a pcm codec from parameters
Conflicts:
libavformat/internal.h
libavformat/mov.c
libavformat/riff.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 14:00:44 +01:00
Justin Ruggles
261e9348ef
lavf: add a common function for selecting a pcm codec from parameters
2012-11-28 11:18:50 -05:00
Michael Niedermayer
386fc67c79
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavf: avoid integer overflow in ff_compute_frame_duration()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-26 16:24:23 +01:00
Janne Grunau
7709ce029a
lavf: avoid integer overflow in ff_compute_frame_duration()
...
Scaling the denominator instead of the numerator if it is too large
loses precision. Fixes an assert caused by a negative frame duration in
the fuzzed sample nasa-8s2.ts_s202310.
CC: libav-stable@libav.org
2012-11-26 10:26:08 +01:00
Michael Niedermayer
0efcf16a3e
replace av_log(0, by av_log(NULL,
...
The first parameter is a pointer and NULL is more correct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-23 18:10:02 +01:00
Carl Eugen Hoyos
d513fb1c75
Add -skip_initial_bytes option.
...
Fixes ticket #1909 .
2012-11-20 22:04:14 +01:00
Gavin Kinsey
19660a8876
Allow use of @ character in username and passwords embedded in URLs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-19 18:02:28 +01:00
Marton Balint
4bee03034b
lavf: let av_find_best_stream use bitrate info if available
...
I guess the user expects to see the stream with the highest bitrate, not with
the most frames, this is especially useful for multi bitrate streams.
This patch changes av_find_best_stream to select the stream based on a number
of conditions, the first condition has the highest priority, the last condition
has the lowest:
1) Select the stream with the highest FFMIN(5, codec_info_nb_frames) value
2) Select the stream with the highest bitrate
3) Select the stream with the highest codec_info_nb_frames
4) Select the first stream
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-18 13:57:08 +01:00
Michael Niedermayer
af9ec3dd1d
av_probe_input_format3: support NULL as buffer. Fixes null ptr deref
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-13 22:21:10 +01:00
Michael Niedermayer
7ec1fe1f47
lavf: Dont compare absolute to relative timestamps in duration gcd
...
This prevents a division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-09 14:59:43 +01:00
Michael Niedermayer
2ca649f177
utils: fix integer overflow with DURATION_MAX_READ_SIZE
...
Fixes CID703746
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 18:44:14 +01:00
Michael Niedermayer
f742c7b2ce
lavf: fix integer overflow in rfps calculation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-01 21:37:29 +01:00
Michael Niedermayer
6992b0bfc2
utils: fix rounding of micro seconds
...
Found-by: Johan Wessfeldt <johan.wessfeldt@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-31 19:12:47 +01:00
Paul B Mahol
e12cfd044c
lavf: const correctness for avformat_new_stream
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-10-24 17:55:35 +00:00
Michael Niedermayer
5442c6cce3
lavf: fix duration estimation for multi program TS
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 18:11:26 +02:00
Michael Niedermayer
31cdf6002a
lavf: increase retries to guess duration from pts by 1
...
This fixes finding the duration for one TS file
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 17:31:31 +02:00
Michael Niedermayer
ee23dcf534
avformat_free_context: allow NULL as argument
...
Fixes CID703682
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 20:13:18 +02:00
Michael Niedermayer
901f4bb6fc
utils: consider mpeg4 in mp4/mov to have a unreliable timebase
...
Partly fixes Ticket1664
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-16 01:04:02 +02:00
Michael Niedermayer
45bd0d15f4
lavf: fix fps detection with PAFF H.264
...
Fixes Ticket1065
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-14 19:20:23 +02:00
Michael Niedermayer
120b38b966
avio: redesign ffio_rewind_with_probe_data()
...
This prevents a double free
Fixes CID718285
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-13 02:08:59 +02:00
Michael Niedermayer
59cbedfc3d
update_initial_timestamps: increase pts_buffer size
...
Fixes CID733786
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-12 00:08:28 +02:00
Michael Niedermayer
317505b566
lavf: do not prematurely accept a format with low score in init_input()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 21:41:20 +02:00
Michael Niedermayer
94f5470a20
lavf: add a AVPROBE_SCORE_RETRY instead of using hardcoded values.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 21:39:19 +02:00
Michael Niedermayer
eadba3e94d
Merge commit 'cbcd497f384f0f8ef3f76f85b29b644b900d6b9f'
...
* commit 'cbcd497f384f0f8ef3f76f85b29b644b900d6b9f':
adxdec: use planar sample format
adpcmdec: use planar sample format for adpcm_thp
adpcmdec: use planar sample format for adpcm_ea_xas
adpcmdec: use planar sample format for adpcm_ea_r1/r2/r3
adpcmdec: use planar sample format for adpcm_xa
adpcmdec: use planar sample format for adpcm_ima_ws for vqa version 3
adpcmdec: use planar sample format for adpcm_4xm
adpcmdec: use planar sample format for adpcm_ima_wav
adpcmdec: use planar sample format for adpcm_ima_qt
pcmdec: use planar sample format for pcm_lxf
mace: use planar sample format
atrac1: use planar sample format
build: non-x86: Only compile mpegvideo optimizations when necessary
rtpdec_mpeg4: au_headers is a single array, simple av_free is enough
avcodec: free extended_data instead address of it
fate: Add tests of the ff_make_absolute_url function
url: Handle relative urls starting with two slashes
url: Handle relative urls being just a new query string
url: Don't treat slashes in query parameters as directory separators
Conflicts:
libavcodec/adxdec.c
libavcodec/mips/Makefile
libavcodec/pcm.c
libavcodec/utils.c
libavformat/Makefile
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 13:01:27 +02:00
Duncan Salerno
33893e6abc
url: Handle relative urls starting with two slashes
...
This is defined by RFC 3986 section 5.4.1 to be handled this way.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:33 +03:00
Duncan Salerno
eea003814c
url: Handle relative urls being just a new query string
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:32 +03:00
Duncan Salerno
a6363e3d89
url: Don't treat slashes in query parameters as directory separators
...
Strip off query parameters from the original url before
applying the new relative path.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 14:16:31 +03:00
Michael Niedermayer
ac627b3d38
Merge commit '716d413c13981da15323c7a3821860536eefdbbb'
...
* commit '716d413c13981da15323c7a3821860536eefdbbb':
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
Conflicts:
doc/examples/muxing.c
ffmpeg.h
ffmpeg_filter.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
libavcodec/8bps.c
libavcodec/aasc.c
libavcodec/aura.c
libavcodec/avcodec.h
libavcodec/avs.c
libavcodec/bfi.c
libavcodec/bmp.c
libavcodec/bmpenc.c
libavcodec/c93.c
libavcodec/cscd.c
libavcodec/cyuv.c
libavcodec/dpx.c
libavcodec/dpxenc.c
libavcodec/eatgv.c
libavcodec/escape124.c
libavcodec/ffv1.c
libavcodec/flashsv.c
libavcodec/fraps.c
libavcodec/h264.c
libavcodec/huffyuv.c
libavcodec/iff.c
libavcodec/imgconvert.c
libavcodec/indeo3.c
libavcodec/kmvc.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libx264.c
libavcodec/ljpegenc.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
libavcodec/motionpixels.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo_enc.c
libavcodec/pamenc.c
libavcodec/pcxenc.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/pnm.c
libavcodec/pnmdec.c
libavcodec/pnmenc.c
libavcodec/ptx.c
libavcodec/qdrw.c
libavcodec/qpeg.c
libavcodec/qtrleenc.c
libavcodec/raw.c
libavcodec/rawdec.c
libavcodec/rl2.c
libavcodec/sgidec.c
libavcodec/sgienc.c
libavcodec/snowdec.c
libavcodec/snowenc.c
libavcodec/sunrast.c
libavcodec/targa.c
libavcodec/targaenc.c
libavcodec/tiff.c
libavcodec/tiffenc.c
libavcodec/tmv.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/vb.c
libavcodec/vp3.c
libavcodec/wnv1.c
libavcodec/xl.c
libavcodec/xwddec.c
libavcodec/xwdenc.c
libavcodec/yop.c
libavdevice/v4l2.c
libavdevice/x11grab.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/buffersrc.c
libavfilter/drawutils.c
libavfilter/formats.c
libavfilter/src_movie.c
libavfilter/vf_ass.c
libavfilter/vf_drawtext.c
libavfilter/vf_fade.c
libavfilter/vf_format.c
libavfilter/vf_hflip.c
libavfilter/vf_lut.c
libavfilter/vf_overlay.c
libavfilter/vf_pad.c
libavfilter/vf_scale.c
libavfilter/vf_transpose.c
libavfilter/vf_yadif.c
libavfilter/video.c
libavfilter/vsrc_testsrc.c
libavformat/movenc.c
libavformat/mxf.h
libavformat/utils.c
libavformat/yuv4mpeg.c
libavutil/imgutils.c
libavutil/pixdesc.c
libswscale/input.c
libswscale/output.c
libswscale/swscale_internal.h
libswscale/swscale_unscaled.c
libswscale/utils.c
libswscale/x86/swscale_template.c
libswscale/x86/yuv2rgb.c
libswscale/x86/yuv2rgb_template.c
libswscale/yuv2rgb.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-08 21:06:57 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Michael Niedermayer
513042c926
Merge commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd'
...
* commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd':
avformat: split muxing functions from util.c
Conflicts:
libavformat/internal.h
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:20:24 +02:00
Michael Niedermayer
82db8ee321
Merge commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d'
...
* commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d':
avconv: improve sample format negotiation for decoder request
Opus encoder using libopus
mpegts: Drop pointless casting of hex_dump_debug arguments
avformat: const correctness for av_hex_dump / av_hex_dump_log
wmadec: Adjust debug printf argument length modifier
Conflicts:
Changelog
ffmpeg.c
libavcodec/libopusdec.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:58:19 +02:00
Luca Barbato
55f9037f38
avformat: split muxing functions from util.c
2012-10-01 19:57:57 +02:00
Michael Niedermayer
31ab1575e5
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avcodec: Convert some commented-out printf/av_log instances to av_dlog
avcodec: Drop silly and/or broken printf debug output
avcodec: Drop some silly commented-out av_log() invocations
avformat: Convert some commented-out printf/av_log instances to av_dlog
avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
Remove some silly disabled code.
ac3dec: ensure get_buffer() gets a buffer for the correct number of channels
Conflicts:
libavcodec/dnxhddec.c
libavcodec/ffv1.c
libavcodec/h264.c
libavcodec/h264_parser.c
libavcodec/mjpegdec.c
libavcodec/motion_est_template.c
libavcodec/mpegaudiodec.c
libavcodec/mpegvideo_enc.c
libavcodec/put_bits.h
libavcodec/ratecontrol.c
libavcodec/wmaenc.c
libavdevice/timefilter.c
libavformat/asfdec.c
libavformat/avidec.c
libavformat/avienc.c
libavformat/flvenc.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:12:38 +02:00
Diego Biurrun
d3c40a7d1d
avformat: const correctness for av_hex_dump / av_hex_dump_log
2012-10-01 13:18:28 +02:00
Diego Biurrun
72eaba5e4f
avformat: Convert some commented-out printf/av_log instances to av_dlog
2012-10-01 10:24:28 +02:00
Michael Niedermayer
44a7a6300d
lavf: free probe data in case we close before probing finished
...
Fixes Ticket1634
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 17:33:05 +02:00
Michael Niedermayer
2e4ec8947d
lavf: fill in past dts based on reordered pts once the delay becomes known.
...
Previously we had ignored the past dts and just filled in from the
point where we have had sufficient information.
This should fix Ticket1734
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Michael Niedermayer
a8e3815db5
lavf: factorize timestamp shift in update_initial_timestamps()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Michael Niedermayer
3ba0dab76a
lavf: Add support offset timestamps on muxing.
...
This allows avoiding negative timestamps.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:55:16 +02:00
Michael Niedermayer
299c0b30a6
lavf: fix bug that caused has_decode_delay_been_guessed() to never return !=0
...
Possibly fixes Ticket1724
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 04:53:03 +02:00
Duncan Salerno
4b80a619b7
Handle the following type of relative URL correctly:
...
http://a/b + //c/d = http://c/d
http://a/b?c + ?d = http://a/b?d
http://a/b?c/d + /e = http://a/e
Updated with feedback from Clément Bœsch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 03:43:06 +02:00
Michael Niedermayer
46a35959d8
Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
...
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
ogg: check that the expected number of headers had been parsed
libx264: change default to closed gop to match x264cli
Use avcodec_free_frame() to free AVFrames.
lavf: use a malloced AVFrame in try_decode_frame().
lavc: add avcodec_free_frame().
lavc: ensure extended_data is set properly on decoding
lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
lavc: use av_mallocz to allocate AVFrames.
lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
libavcodec/utils.c
libavcodec/version.h
libavfilter/src_movie.c
libavformat/oggdec.c
libavformat/oggdec.h
libavformat/oggparsetheora.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Clément Bœsch
4390f8c28d
Fix two "skiping" typo.
2012-09-25 07:42:32 +02:00
Michael Niedermayer
6bcbe768bb
lavf: dont add apic streams for demuxers that dont support it.
...
Fixes crash
Fixes ticket1730
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 02:47:09 +02:00
Stefano Sabatini
bbe9fe469a
lavf/utils: remove loop on AVERROR(EAGAIN) in av_read_frame()
...
The loop was introduced in 64d340c62a
, and
was likely breaking non blocking reads as it busy loops.
2012-09-24 21:16:48 +02:00
Anton Khirnov
9eb296572e
lavf: use a malloced AVFrame in try_decode_frame().
...
This allows using avcodec_free_frame() to free it properly.
2012-09-24 12:31:24 +02:00
Stefano Sabatini
64d340c62a
lavf/utils: add error check in av_read_frame()
...
In particular, fix crash when the input file contains no packets (e.g. an
ffmeta input).
2012-09-24 00:41:13 +02:00
Michael Niedermayer
21c4393f1c
lavf/find_stream_info: make sure we decode at least one frame for DTS
...
The channel layout at the demuxer layer is commonly wrong and would
otherwise be used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 04:56:51 +02:00