Michael Niedermayer
30f680ee0a
avcodec/vc1dec: fix null pointer dereference
...
Fixes Ticket3860
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-25 02:18:31 +02:00
Michael Niedermayer
60dbed6067
Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
...
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
cosmetics: Write NULL pointer inequality checks more compactly
Conflicts:
libavcodec/dvdsubdec.c
libavcodec/h263dec.c
libavcodec/libxvid.c
libavcodec/rv10.c
libavcodec/utils.c
libavformat/format.c
libavformat/matroskadec.c
libavformat/segment.c
libavutil/opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02:00
Michael Niedermayer
fb33bff990
Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'
...
* commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39':
cosmetics: Write NULL pointer equality checks more compactly
Conflicts:
cmdutils.c
ffmpeg_opt.c
ffplay.c
libavcodec/dvbsub.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/dxa.c
libavcodec/libxvid_rc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/rv10.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/vc1dec.c
libavcodec/zmbv.c
libavdevice/v4l2.c
libavformat/matroskadec.c
libavformat/movenc.c
libavformat/sdp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Michael Niedermayer
c1df467d73
Merge commit '835f798c7d20bca89eb4f3593846251ad0d84e4b'
...
* commit '835f798c7d20bca89eb4f3593846251ad0d84e4b':
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
Conflicts:
libavcodec/h261dec.c
libavcodec/intrax8.c
libavcodec/mjpegenc.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpeg4videoenc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/rv10.c
libavcodec/x86/mpegvideoenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 20:11:56 +02:00
Gabriel Dume
4b1f5e5090
cosmetics: Write NULL pointer inequality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Diego Biurrun
835f798c7d
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
2014-08-15 01:26:33 -07:00
Michael Niedermayer
6801eb0a09
avcodec/vc1dec: do not crash when flushing without an allocated frame
...
Fixes Ticket3837
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-11 02:16:43 +02:00
Ben Avison
adf8227cf4
vc-1: Add platform-specific start code search routine to VC1DSPContext.
...
Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-04 22:22:54 +02:00
Michael Niedermayer
581b5f0b9b
Merge commit 'e3fcb14347466095839c2a3c47ebecff02da891e'
...
* commit 'e3fcb14347466095839c2a3c47ebecff02da891e':
dsputil: Split off IDCT bits into their own context
Conflicts:
configure
libavcodec/aic.c
libavcodec/arm/Makefile
libavcodec/arm/dsputil_init_arm.c
libavcodec/arm/dsputil_init_armv6.c
libavcodec/asvdec.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.c
libavcodec/dvdec.c
libavcodec/dxva2_mpeg2.c
libavcodec/intrax8.c
libavcodec/mdec.c
libavcodec/mjpegdec.c
libavcodec/mjpegenc_common.h
libavcodec/mpegvideo.c
libavcodec/ppc/dsputil_altivec.h
libavcodec/ppc/dsputil_ppc.c
libavcodec/ppc/idctdsp.c
libavcodec/x86/Makefile
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
libavcodec/x86/dsputil_x86.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-01 15:22:11 +02:00
Diego Biurrun
e3fcb14347
dsputil: Split off IDCT bits into their own context
2014-06-30 07:58:46 -07:00
Michael Niedermayer
56afbe8dbc
Merge commit '7b9ef8d701c319c26f7d0664fe977e176764c74e'
...
* commit '7b9ef8d701c319c26f7d0664fe977e176764c74e':
mpeg: Split error resilience bits off into a separate file
Conflicts:
configure
libavcodec/Makefile
libavcodec/mpegvideo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-23 03:48:30 +02:00
Diego Biurrun
7b9ef8d701
mpeg: Split error resilience bits off into a separate file
2014-06-22 17:36:37 -07:00
Michael Niedermayer
2b05db4f81
Merge commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9'
...
* commit 'e74433a8e6fc00c8dbde293c97a3e45384c2c1d9':
dsputil: Split clear_block*/fill_block* off into a separate context
Conflicts:
configure
libavcodec/asvdec.c
libavcodec/dnxhddec.c
libavcodec/dnxhdenc.c
libavcodec/dsputil.h
libavcodec/eamad.c
libavcodec/intrax8.c
libavcodec/mjpegdec.c
libavcodec/ppc/dsputil_ppc.c
libavcodec/vc1dec.c
libavcodec/x86/dsputil_init.c
libavcodec/x86/dsputil_mmx.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-19 04:54:38 +02:00
Diego Biurrun
e74433a8e6
dsputil: Split clear_block*/fill_block* off into a separate context
2014-06-18 14:07:23 -07:00
Michael Niedermayer
759e793823
avcodec/vc1dec: Fix support for small widths/linesizes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-14 16:33:09 +02:00
Michael Niedermayer
007547b282
avcodec: fix () in TRANSPOSE macro
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-08 15:26:18 +02:00
Michael Niedermayer
98a6806fdd
Merge commit '368f50359eb328b0b9d67451f56fda20b3255f9a'
...
* commit '368f50359eb328b0b9d67451f56fda20b3255f9a':
dsputil: Split off quarterpel bits into their own context
Conflicts:
configure
libavcodec/dsputil.c
libavcodec/h263dec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/vc1dec.c
libavcodec/vc1dsp.c
libavcodec/x86/dsputil_init.c
libavcodec/x86/qpeldsp.asm
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-30 02:43:34 +02:00
Diego Biurrun
368f50359e
dsputil: Split off quarterpel bits into their own context
2014-05-29 06:48:31 -07:00
Michael Niedermayer
f2f99f07a5
Merge commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f'
...
* commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f':
lavc: set AVCodecContext.hwaccel in ff_get_format()
Conflicts:
libavcodec/mpeg12dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:28:40 +02:00
Michael Niedermayer
d93cf093f8
Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'
...
* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425':
lavc: Add an internal wrapper around get_format()
Conflicts:
libavcodec/h264_slice.c
libavcodec/mpeg12dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 21:48:32 +02:00
Anton Khirnov
5c1d7246cd
lavc: set AVCodecContext.hwaccel in ff_get_format()
...
This way each decoder does not have to do the same thing manually.
2014-05-11 14:59:07 +02:00
Anton Khirnov
632ad2248e
lavc: Add an internal wrapper around get_format()
...
It will be useful in the following commits.
2014-05-11 14:59:07 +02:00
Michael Niedermayer
e9ad121ba5
Fix skiping typos
...
Found-by: Alessandro Ghedini <alessandro@ghedini.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 14:50:14 +02:00
Michael Niedermayer
3ba77ea369
avcodec/vc1dec: print debug message if a b frame without reference is skiped
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 01:41:31 +02:00
Michael Niedermayer
8b2c3d2ae9
Merge commit 'cdf6eb5a9710566be217a3f17d3d94ac4e4d2662'
...
* commit 'cdf6eb5a9710566be217a3f17d3d94ac4e4d2662':
vc1: Do not return an error when skipping b frames
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-26 01:06:15 +02:00
Alessandro Ghedini
cdf6eb5a97
vc1: Do not return an error when skipping b frames
...
This caused mpv (and possibly others) to fallback to software decoding after
seeking a VC1 stream.
Bug-Id: 667
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-25 18:22:25 +02:00
Ben Avison
9d8ecdd8ca
vc-1: Add platform-specific start code search routine to VC1DSPContext.
...
Initialise VC1DSPContext for parser as well as for decoder.
Note, the VC-1 code doesn't actually use the function pointer yet.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 02:36:11 +02:00
Christophe Gisquet
319235c67c
vc1dsp: introduce cases for 8x8 and 16x16
...
This allows further unrolling the DSP implementation where possible.
x86 and ARM DSP modified by simply moving the multiple calls from vc1dec
to the DSP code. Decoding improvements should only occurs because of the
compiler actually able to unroll more.
Decoding time: ~8.80s -> 8.64s (ie around 2%)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-20 18:25:36 +02:00
Michael Niedermayer
b9831364de
avcodec/vc1dec: use av_realloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-18 15:15:08 +02:00
Michael Niedermayer
cb53beb81a
iavcodec/vc1dec: Fix missing {}
...
Fixes part of Ticket3466
Found-by: Andrey_Karpov / PVS-Studio
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-16 03:56:39 +02:00
Michael Niedermayer
59a53842d3
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
mpegvideo: operate with pointers to AVFrames instead of whole structs
Conflicts:
libavcodec/h261dec.c
libavcodec/h263dec.c
libavcodec/intrax8.c
libavcodec/mpeg12enc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo.h
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/mpegvideo_xvmc.c
libavcodec/msmpeg4.c
libavcodec/ratecontrol.c
libavcodec/vaapi.c
libavcodec/vc1dec.c
libavcodec/vdpau_vc1.c
See: fc567ac49e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 15:18:46 +02:00
wm4
f6774f905f
mpegvideo: operate with pointers to AVFrames instead of whole structs
...
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().
ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.
NULL pointer checks are added to ff_thread_release_buffer() stub function.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-04-09 02:12:19 +02:00
Vittorio Giovara
c611148340
vc1dec: fix a possible unitialized variable warning
2014-04-02 00:28:05 +02:00
Michael Niedermayer
0f714abb49
Merge commit '654c7446a806c5dc8ec7800874c49a4c1ba2ce80'
...
* commit '654c7446a806c5dc8ec7800874c49a4c1ba2ce80':
vc1dec: improve hwaccel #ifdefs
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-31 22:04:25 +02:00
Rémi Denis-Courmont
654c7446a8
vc1dec: improve hwaccel #ifdefs
2014-03-31 17:52:42 +02:00
Michael Niedermayer
6ee2911996
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
lavc: drop ff_pixfmt_list_420
Conflicts:
libavcodec/flvdec.c
libavcodec/msmpeg4dec.c
libavcodec/rv10.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 03:56:43 +01:00
Vittorio Giovara
6f6c029464
lavc: drop ff_pixfmt_list_420
2014-03-23 01:56:58 +01:00
Michael Niedermayer
9517900bef
Merge commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b'
...
* commit 'e0c16e4e3259cf50b5bac4c23bb6e517f397c74b':
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_mvpred.h
libavcodec/svq1enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-17 12:36:48 +01:00
Vittorio Giovara
e0c16e4e32
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
2014-03-16 23:04:41 +01:00
Michael Niedermayer
20be510887
avcodec/vc1dec: remove blocks_off use from vc1_pred_b_mv()
...
it should always be 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-04 20:56:09 +01:00
Michael Niedermayer
41f9742053
avcodec/vc1dec: vc1_pred_b_mv() is not used for fields, simplify code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-04 20:12:54 +01:00
Michael Niedermayer
f4b288a639
avcodec/vc1dec: Print warning for frame pictures with direct mode MBs, followed by field pictures
...
This case is not implemented
No non fuzzed samples are known to use this
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-01 06:59:35 +01:00
Michael Niedermayer
85d51d8e32
avcodec/vc1dec: field pictures with direct mode MBs, followed by frame pictures are not supported
...
This case could occur when cuting and concatenating bitstreams
Fixes out of array read
Fixes: asan_heap-oob_1b33fdd_2849_cov_478905890_SA10143.vc1
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-01 06:48:44 +01:00
Michael Niedermayer
2830f287e2
Merge commit 'ebfe622bb1ca57cecb932e42926745cba7161913'
...
* commit 'ebfe622bb1ca57cecb932e42926745cba7161913':
mpegvideo: drop support for real (non-emulated) edges
Conflicts:
libavcodec/mpegvideo.c
libavcodec/mpegvideo_motion.c
libavcodec/wmv2.c
If this is slower on a major platform then it should be investigated
and potentially reverted.
See: 8fc52a5ef9
See: 3969b4b861
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-09 14:19:24 +01:00
Anton Khirnov
ebfe622bb1
mpegvideo: drop support for real (non-emulated) edges
...
Several decoders disable those anyway and they are not measurably faster
on x86. They might be somewhat faster on other platforms due to missing
emu edge SIMD, but the gain is not large enough (and those decoders
relevant enough) to justify the added complexity.
2014-01-09 09:41:19 +01:00
Michael Niedermayer
64b98df389
vc1: simplify *_use_ic initialization
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-22 14:59:31 +01:00
Michael Niedermayer
3e626548ce
avcodec/vc1dec: use av_mallocz for luma_mv
...
This ensures that no mvs are uninitialized at the time of loop filtering
Fixes: msan_uninit-mem_7f0b6dfe293c_2786_SA20021.vc1
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 21:54:20 +01:00
Michael Niedermayer
d8fd183683
vc1: Fix mb_height for field pictures
...
Tables are always allocated now with sufficient space for either progressive
or interlaced content. The alternative would be to detect a change
and reallocate.
This fixes decoding of a sample.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-17 22:01:45 +02:00
Michael Niedermayer
c9f72e4b81
avcodec/vc1dec: fix mby_start for interlaced content
...
Fixes first frame of Ticket2531
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-14 17:12:18 +01:00