Commit Graph

21705 Commits

Author SHA1 Message Date
Janne Grunau
3ab5f7dc13 h264: slice-mt: check master context for valid current_picture_ptr
Fixes errors in slice based multithreading introduced in 0b300daad2.
2012-12-06 04:45:04 +01:00
Janne Grunau
24c62ea7a5 h264: slice-mt: get last_pic_dropable from master context
Fixes fate-h264-conformance-cvnlfi2_sony_h and smllwebdl.mkv from
https://github.com/OpenELEC/OpenELEC.tv/issues/1557 .
2012-12-06 04:44:57 +01:00
Michael Niedermayer
7885fa7685 ff_lock_avcodec: make the lock state be consistent in case of failure.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 03:12:34 +01:00
Michael Niedermayer
2dec950f49 avcodec_open: if obtaining a lock fails, dont attempt to unlock it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:52:46 +01:00
Michael Niedermayer
0393cf15db Revert "Acquire lock when initializing parsers."
This reverts commit 7feef7dbca.

This commit causes assertion failures due to use of parser_init from multiple
threads, for example indirectly by ffmpeg.c and more directly from the
packet read functions.

I dont know how to fix this quickly, and fixing ffmpeg.c leaves
the possibility of other applications being affected.
Crashing the applications until this is resolved is clearly no good
thus this revert, so we have time to think about the problem.

Crashes can be reproduced by using multiple input files in ffmpeg.
2012-12-06 02:52:46 +01:00
Michael Niedermayer
eed865540a Revert "Add assert that the avcodec lock is held when initializing static VLC tables."
This reverts commit dd154198b1.
2012-12-06 02:52:07 +01:00
Michael Niedermayer
d7169280a6 frame_thread_encoder: fix locking while locks are held
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Michael Niedermayer
bde6f6eadc vc1dec: prevent v_edge_pos from becoming negative.
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Michael Niedermayer
b6a7f66f93 resample: remove disabled debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 02:51:26 +01:00
Paul B Mahol
9f66531d46 lavc/dxa: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 20:28:45 +00:00
Reimar Döffinger
dd154198b1 Add assert that the avcodec lock is held when initializing static VLC tables.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 21:01:17 +01:00
Reimar Döffinger
7feef7dbca Acquire lock when initializing parsers.
This is necessary since they might be initializing or
even using static VLC tables.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 21:01:17 +01:00
Reimar Döffinger
25fec8595d avcodec: add ff_lock/unlock_avcodec functions.
Will be used in future patches, together with the
variable that allows checking whether the lock is held.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-05 21:01:17 +01:00
Piotr Bandurski
5381960501 wmaenc: add new line to some error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 20:29:27 +01:00
Wolfram Gloger
928346091a mpegvideo_parser: fix buffer access beyond end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 20:29:18 +01:00
Michael Niedermayer
6d7effa9bd mpegvideo_enc: use av_log() in debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
911c00e60f motion_est: use av_log() in debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
7c2481f2d7 j2kenc: remove duplicate debug functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
9bb188da96 j2k: avoid printf() useage in debug code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Michael Niedermayer
b023392f34 mpegvideo: remove #if/define PARANOID code
This code never did anything as far as i can remember

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 19:31:27 +01:00
Paul B Mahol
4012cd6c4f lavc: fix decode_frame() third parameter semantics for rest of video decoders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 18:24:43 +00:00
Michael Niedermayer
835fd779a4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: workaround for slighly broken 'test' shell builtin
  mimic: initialize padding of swap_buf through av_fast_padded_malloc
  eamad: initialize padding of bitstream_buf through av_fast_padded_malloc()
  raw demuxer: initialize end of partial packets

Conflicts:
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 17:33:12 +01:00
Michael Niedermayer
fc1152de41 Merge commit 'df9b9567518f2840d79a4a96b447ebe1aa326408'
* commit 'df9b9567518f2840d79a4a96b447ebe1aa326408':
  lavc: fix decode_frame() third parameter semantics for video decoders

Conflicts:
	libavcodec/cscd.c
	libavcodec/eamad.c
	libavcodec/ffv1dec.c
	libavcodec/gifdec.c
	libavcodec/h264.c
	libavcodec/iff.c
	libavcodec/mjpegdec.c
	libavcodec/pcx.c
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 17:20:19 +01:00
Michael Niedermayer
022553e875 Merge commit '387bef95d28019c13c6805cfa4079e59948284e5'
* commit '387bef95d28019c13c6805cfa4079e59948284e5':
  lavc: factorise setting buffer type in avcodec_default_get_buffer().

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 17:02:42 +01:00
Michael Niedermayer
83db6cb521 Merge commit 'e57c4706e969afa1f2384481b955ccd9494cddb5'
* commit 'e57c4706e969afa1f2384481b955ccd9494cddb5':
  lavc: don't reuse audio buffers

This commit causes a 0.5% speedloss for mp3 and 2% for raw pcm, that is
"time ffmpeg" style tested thus includes disk IO, demux and parsing

I would not have merged it if it wasnt required for the "new" buffer API
but sadly it is.
Once the new API is in ill reimplement proper buffer reuse, which will
fix this speedloss. In case we choose not to merge the "new" buffer
API then this commit here should be reverted.

Conflicts:
	libavcodec/internal.h
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 16:53:12 +01:00
Michael Niedermayer
d2a3f08daf lavc: move ff_init_buffer_info() down to ff_get_buffer()
and remove redundant code from ff_get_buffer()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 15:58:37 +01:00
Michael Niedermayer
2f980cf39a Merge commit 'ff953fecffd3b9a616a046723fb9d4690be032a6'
* commit 'ff953fecffd3b9a616a046723fb9d4690be032a6':
  lavc: set frame properties in ff_get_buffer().

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 15:58:07 +01:00
Michael Niedermayer
874c5b02c4 Merge commit '594d4d5df3c70404168701dd5c90b7e6e5587793'
* commit '594d4d5df3c70404168701dd5c90b7e6e5587793':
  lavc: add a wrapper for AVCodecContext.get_buffer().

Conflicts:
	libavcodec/4xm.c
	libavcodec/8svx.c
	libavcodec/bmv.c
	libavcodec/cljr.c
	libavcodec/cscd.c
	libavcodec/dnxhddec.c
	libavcodec/dpcm.c
	libavcodec/dpx.c
	libavcodec/eacmv.c
	libavcodec/eamad.c
	libavcodec/frwu.c
	libavcodec/g723_1.c
	libavcodec/gifdec.c
	libavcodec/idcinvideo.c
	libavcodec/iff.c
	libavcodec/indeo3.c
	libavcodec/internal.h
	libavcodec/interplayvideo.c
	libavcodec/kmvc.c
	libavcodec/mpc7.c
	libavcodec/mpegaudiodec.c
	libavcodec/pcx.c
	libavcodec/pngdec.c
	libavcodec/pnmdec.c
	libavcodec/rl2.c
	libavcodec/snow.c
	libavcodec/targa.c
	libavcodec/tscc.c
	libavcodec/txd.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/vb.c
	libavcodec/vmdav.c
	libavcodec/vp56.c
	libavcodec/vqavideo.c
	libavcodec/wavpack.c
	libavcodec/wnv1.c
	libavcodec/xl.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 15:18:12 +01:00
Michael Niedermayer
99efd59626 Merge commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967'
* commit 'cb45553f577f8e0ebfe05d3287e1b6fa5859b967':
  Remove pointless #undefs of previously forbidden functions.
  fate: Add dependencies for bmp, cdxl, dfa, mp3

Conflicts:
	doc/examples/muxing.c
	libavfilter/filtfmts.c
	libavutil/des.c
	libavutil/eval.c
	libavutil/log.c
	libavutil/parseutils.c
	tests/fate/mp3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:34:45 +01:00
Michael Niedermayer
09de0ffeab vc1dec: Fix null pointer dereference in vc1_decode_skip_blocks()
This handles the last frame being unavailable like all the other
code in vc1dec.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 13:01:16 +01:00
Nicolas George
217b10de3f lavc/dvdsubdec: accept palette from options.
On DVDs, the palette is part of the IFO file and therefore
not available when reading from a dumped VOB file.
2012-12-05 09:25:48 +01:00
Michael Niedermayer
599ae9995f ff_emulated_edge_mc: fix handling of w/h being 0
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 03:45:10 +01:00
Michael Niedermayer
8bf16e677f ffv1enc: allow encoding with 1 slice for CIF and smaller in version 3
the default is still 4 slices for any resolution, this just allows the user
to force 1 slice.
This in my quick test improves compression by 1% for a 320x240 sample

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 01:22:43 +01:00
Janne Grunau
c15fea7933 mimic: initialize padding of swap_buf through av_fast_padded_malloc 2012-12-05 00:02:44 +01:00
Janne Grunau
42060c7030 eamad: initialize padding of bitstream_buf through av_fast_padded_malloc() 2012-12-05 00:02:44 +01:00
Anton Khirnov
df9b956751 lavc: fix decode_frame() third parameter semantics for video decoders
It's got_frame, not data size
2012-12-04 21:45:36 +01:00
Anton Khirnov
387bef95d2 lavc: factorise setting buffer type in avcodec_default_get_buffer(). 2012-12-04 21:45:23 +01:00
Anton Khirnov
e57c4706e9 lavc: don't reuse audio buffers
Any performance gain from this is negligible and not worth the extra
code.
2012-12-04 21:43:53 +01:00
Anton Khirnov
ff953fecff lavc: set frame properties in ff_get_buffer().
There is no point in duplicating this code in every get_buffer()
implementation.
2012-12-04 21:42:44 +01:00
Anton Khirnov
594d4d5df3 lavc: add a wrapper for AVCodecContext.get_buffer().
It will be useful in the upcoming transition to refcounted AVFrames.
2012-12-04 21:41:59 +01:00
Anton Khirnov
cb45553f57 Remove pointless #undefs of previously forbidden functions. 2012-12-04 21:40:22 +01:00
Peter Ross
59fe5a339b iff decoder: DEEP TVDC 32-bit decoder
Signed-off-by: Peter Ross <pross@xvid.org>
2012-12-04 20:53:26 +11:00
Reimar Döffinger
e2fc6a01f6 libspeex: allow custom sample rates again.
This was broken by 3b061c5e10
Fixes trac issue #1974.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-12-03 19:59:04 +01:00
Paul B Mahol
0a8360c4f9 takdec: add .sample_fmts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-03 15:21:19 +00:00
Paul B Mahol
694dc6251e shorten: update .sample_fmts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-03 15:13:35 +00:00
Piotr Bandurski
7e93b0ba4b ra144enc: reject unsupported sample rates 2012-12-03 10:03:27 +00:00
Michael Niedermayer
211372e86d Merge commit '0b300daad2f5cb59a7c06dde5ac701685e6edf16'
* commit '0b300daad2f5cb59a7c06dde5ac701685e6edf16':
  h264: error out on unset current_picture_ptr for h->current_slice > 0
  avprobe: report per stream bit rate if set by the decoder
  aac: avoid a memcpy in sbr_qmf_analysis

Conflicts:
	avprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 01:56:47 +01:00
Michael Niedermayer
9c208b404c vp56: Ignore reconfiguration from the alpha plane.
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-03 01:37:40 +01:00
Janne Grunau
0b300daad2 h264: error out on unset current_picture_ptr for h->current_slice > 0
Fixes a segfault with fuzzed sample sample_varPAR_s11622_r001-02.avi.

CC: libav-stable@libav.org
2012-12-02 23:24:53 +01:00
Christophe Gisquet
e32bea8eb4 aac: avoid a memcpy in sbr_qmf_analysis
Swapping buffer indices allows saving one memcpy that accounts for 1% of the
runtime, according to oprofile.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-12-02 21:07:48 +01:00