Michael Niedermayer
6a92598e14
avcodec/mpeg12dec: Redesign index checks for mpeg2_fast_decode_block_intra
...
This fixes the speed regression from 20626f53e9
and still checks sufficiently to prevent out of allocated memory accesses
due to the index
Before:
1681 decicycles in mpeg2_fast_decode_block_intra, 4194238 runs, 66 skips
After:
1658 decicycles in mpeg2_fast_decode_block_intra, 4194248 runs, 56 skips
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Janne Grunau
6d93307f8d
mpeg12: check scantable indices in all decode_block functions
...
Add checks to the fast functions used with CODEC_FLAGS2_FAST and move
the check for all other functions to before the invalid memory is
accessed. Fixes https://trac.videolan.org/vlc/ticket/9713 with
CODEC_FLAGS2_FAST.
CC: libav-stable@libav.org
11 years ago
Michael Niedermayer
934bb11ad7
avcodec/mpeg12dec: fix mis-indented line
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
5f54756f7e
avcodec/mpeg12dec: Disable the checked bitstream reader
...
Mpeg1/2 should not need it
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
76b5e99ce9
avcodec/mpeg12dec: Check for overread in mpeg_decode_slice()
...
This is needed in case the checked bitstream reader is disabled
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
d82eccea2b
avcodec/mpeg12dec: check block index in mpeg2_fast_decode_block_non_intra()
...
Prevents some overreads at the cost of 1 cpu cycle
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
0c8e5fb211
avcodec/mpeg12dec: Optimize mpeg1_decode_block_intra()
...
sandybridge i7 274->260 cycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
0a59055167
avcodec/mpeg12dec: check for overread in mpeg1_fast_decode_block_inter()
...
No speedloss meassured
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
746350ea0f
avcodec/mpeg12dec: Make mpeg2_fast_decode_block_intra() more robust by breaking out on invalid vlcs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Carl Eugen Hoyos
c892621577
Fix compilation with --disable-hwaccel=mpeg1_xvmc,mpeg2_xvmc
11 years ago
Ivan Kalvachev
1c63aed232
Convert XvMC to hwaccel v3
...
Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Tomer Barletz
fe285b04bb
avcodec/mpeg12dec: Don't create side data when current picture ptr is NULL.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Vittorio Giovara
bacc2869f3
mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information
11 years ago
Anton Khirnov
a097f0049b
mpeg12dec: move first_slice from MpegEncContext to Mpeg1Context
11 years ago
John Stebbins
1eaac1d6f7
mpeg12dec: Extract CC user data into frame side data
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Diego Biurrun
ad1161799e
mpeg12dec: Remove outdated UV swapping code for VCR2
11 years ago
Diego Biurrun
7b9780e7bf
mpeg12dec: Remove unused swap_uv member from Mpeg1Context
11 years ago
Diego Biurrun
3215140425
mpeg12dec: Remove incomplete and wrong UV swapping code for VCR2
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
19e30a58fc
Deprecate obsolete XvMC hardware decoding support
...
XvMC has long ago been superseded by newer acceleration APIs, such as
VDPAU, and few downstreams still support it. Furthermore XvMC is not
implemented within the hwaccel framework, but requires its own specific
code in the MPEG-1/2 decoder, which is a maintenance burden.
11 years ago
Luca Barbato
08303d7741
hwaccel: Simplify ff_find_hwaccel
...
It is always called by passing fields from an AVCodecContext.
11 years ago
Anton Khirnov
6c7254722a
mpeg12dec: stop using deprecated avcodec_set_dimensions
11 years ago
Michael Niedermayer
18802942d1
avcodec/mpeg12dec: Use skip_1stop_8data_bits()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
e1848aa469
avcodec/mpeg12dec: forward errors when EXPLODE is set
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Clément Bœsch
b46f19100b
cosmetics: group remaining .name and .long_name.
...
See b2bed9325
.
12 years ago
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
12 years ago
Michael Niedermayer
108b91c3fe
avcodec/mpeg12dec: clear mpeg_enc_ctx_allocated when contexts are deallocated
...
Fixes Ticket2950
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
70967a60df
mpeg12dec: also print progressive seq and chroma format
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
a0c6c8e53e
Revert "Merge commit of 'vdpau: remove old-style decoders'"
...
This reverts commit bf36dc50ea
, reversing
changes made to b7fc2693c7
.
Conflicts:
libavcodec/h264.c
Keeping support for the old VDPAU API has been requested by our VDPAU maintainer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
38f64c0330
mpeg12decdata.h: Move all tables to the only place they are used
12 years ago
Michael Niedermayer
9706401927
avcodec/mpeg12dec: check slice size before trying to decode it
...
Fixes assertion failure
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Rémi Denis-Courmont
578ea75a9e
vdpau: remove old-style decoders
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years ago
Rémi Denis-Courmont
93a51984a2
mpeg12: Ignore slice threading if hwaccel is active
...
Slice threading does not work with hardware acceleration, as decoding
is per-picture. This fixes Bugzilla #542 .
Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years ago
Michael Niedermayer
101c7ea906
avcodec/mpeg12dec: remove commented out assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
970c8df735
mpeg12dec: avoid reinitializtation on PS changes when possible.
...
Fixes Ticket2574
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Janne Grunau
bf20cdbd86
mpeg12: skip frames consistently
...
The decoder did not start predicted frames with missing references but
called the end of frame handling on them anyway. This caused an
assertion in the VA API HW accelorator since it tried to render a
picture with uninitialized buffers.
12 years ago
Diego Biurrun
2832ea26f3
Remove commented-out debug #define cruft
12 years ago
Diego Biurrun
bd8ac88214
avcodec: Add av_cold attributes to end functions missing them
12 years ago
Rainer Hochecker
fe1f36547d
register AV_PIX_FMT_VDPAU for hwaccel
12 years ago
Reimar Döffinger
c10d498bfd
Add thread-safe wrapper for get_format().
...
Just like get_buffer, get_format should not be called from a different
thread if thread_safe_callbacks is not set.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
12 years ago
Diego Biurrun
e557584aa7
mpeg12: Move Mpeg1Context declaration to the only place it is used
12 years ago
Diego Biurrun
1b6d66745a
Split MPEG-1/2 decoder code off from MPEG-1/2 common code
12 years ago
Janne Grunau
757d85868b
vdpau: fix obsolete mpeg1 vdpau decoder when mpeg2 is disabled
12 years ago
Martin Storsjö
f1e9398621
lavc: Rename avpriv_mpv_find_start_code after moving out from mpegvideo
...
Also move the declaration to internal.h, and add restrict qualifiers
to the declaration (as in the implementation).
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Michael Niedermayer
0163ad66e1
mpeg2: 12LSB w/h of 0 is not allowed in compliant videos thus this also needs AV_EF_COMPLIANT
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
ce0124acac
mpeg12: do not fail on zero dimensions in the sequence header.
...
The total frame size is a combination of the 12 bits in the sequence
header and 2 more bits in the the sequence extension. While the
specification explicitly forbids the dimensions from the sequence header
from being 0 (thus ruling out multiples of 4096), such videos
apparrently exist in the wild so we should attempt to decode them.
Based on a patch by Michael Niedermayer <michaelni@gmx.at>
Fixes Bug 416.
12 years ago
Reimar Döffinger
23426987fa
mpeg12: reduce hwaccel-related code duplication.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
12 years ago
Michael Niedermayer
64308941d4
mpegvideo: Fix exported qp table offest
...
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
fa80967a73
mpeg1/2: export qp table
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
53fd4f5594
avcodec: fix motion vector vissualization
...
was broken by the buffer ref stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago