Commit Graph

21718 Commits

Author SHA1 Message Date
Michael Niedermayer b84d1bf193 diracdec: fix emulated_edge condition, fix out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-07 02:24:14 +01:00
Paul B Mahol f8d68822c0 takdec: use samplefmt.h from libavutil
Instead of having own code for calculating decoded buffer size
just use already provided functions from libavutil.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 01:11:55 +00:00
Paul B Mahol 6a7fed193c add missing dependency for tak demuxer 2012-12-07 00:15:47 +00:00
Paul B Mahol 4e4a95b18e takdec: remove get_code() and use get_sbits() directly
As found by Justin, this is probably bug in reference decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-07 00:03:47 +00:00
Michael Niedermayer 4b6869d6e0 bitstream: make vlc init of static tables thread safe.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 21:46:42 +01:00
Paul B Mahol 586c2528a0 dxa: port to bytestream2 API
Protects against overreads in input buffer.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 19:09:48 +00:00
Paul B Mahol 4d1912ff4d huffyuv: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 16:56:40 +00:00
Paul B Mahol 4a722a5cab huffyuv: check for malloc failures
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 16:44:43 +00:00
Paul B Mahol 7f261ac850 huffyuv: make use of av_fast_padded_malloc()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-06 16:31:54 +00:00
Michael Niedermayer 71949ef715 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: slice-mt: check master context for valid current_picture_ptr
  h264: slice-mt: get last_pic_dropable from master context
  alacenc: add support for multi-channel encoding

Conflicts:
	Changelog
	libavcodec/alac.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-06 16:14:38 +01:00
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
Janne Grunau 5945c7b35d h264: slice-mt: check master context for valid current_picture_ptr
Fixes errors in slice based multithreading introduced in 0b300daad2.

CC: libav-stable@libav.org
2012-12-05 23:16:37 +01:00
Janne Grunau a8cb1746c5 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 .

CC: libav-stable@libav.org
2012-12-05 23:16:37 +01:00
Justin Ruggles 5e1bbb8c7e alacenc: add support for multi-channel encoding 2012-12-05 16:13:37 -05: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