Michael Niedermayer
780669ef7c
avcodec/jpeg2000dec: non zero image offsets are not supported
...
Fixes out of array accesses
Fixes Ticket3080
Found-by: ami_stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-26 02:19:13 +02:00
Michael Niedermayer
a1b9004b76
avcodec/jpeg2000dec: fix context consistency with too large lowres
...
Fixes out of array accesses
Fixes Ticket2898
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-15 14:30:17 +02:00
Michael Niedermayer
fe448cd28d
avcodec/jpeg2000dec: prevent out of array accesses in pixel addressing
...
Fixes Ticket2921
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 21:48:36 +02:00
Michael Niedermayer
ac3b01a9c0
avcodec/jpeg2000dec: check transform equality in MCT
...
Fixes null pointer dereference
Fixes Ticket2843
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-13 19:23:24 +02:00
Michael Niedermayer
e96c80154f
Merge commit '1018a92219a38a812cf97761c6b3a5e66a400f4b'
...
* commit '1018a92219a38a812cf97761c6b3a5e66a400f4b':
jpeg2000: Check block length
See: 914ab4cd1c
See: 582f53349e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-10 10:32:04 +02:00
Luca Barbato
1018a92219
jpeg2000: Check block length
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-10-09 22:25:19 +02:00
Michael Niedermayer
fcd19d6c8d
avcodec/jpeg2000dec: Zero code and quant style
...
This prevents future frames from using half initialized/inconsistent
structures
Fixes assertion failure
Fixes Ticket2897
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 19:03:56 +02:00
Michael Niedermayer
2dd38a1d48
avcodec/jpeg2000dec: move "missing SIZ" check up
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 10:04:43 +02:00
Michael Niedermayer
8ae14bf5ce
Merge commit '18a245a2aea31b92bc435f2962a71e060d83b5f7'
...
* commit '18a245a2aea31b92bc435f2962a71e060d83b5f7':
jpeg2000dec: Add more checks when parsing headers
The check cannot be true in FFmpeg, but does no harm.
I will move it in a subsequent commit so it can detect missing SIZ
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-18 10:03:35 +02:00
Martin Storsjö
18a245a2ae
jpeg2000dec: Add more checks when parsing headers
...
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-17 15:57:27 +03:00
Clément Bœsch
04427182bc
avcodec: typo fix sepera* → separa*
2013-09-15 21:32:42 +02:00
Michael Niedermayer
e428632c1a
avcodec/jpeg2000dec: print invalid cdx/y values
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-15 15:37:16 +02:00
Carl Eugen Hoyos
f99f7f4025
Set bits_per_raw_sample when reading j2k frames.
2013-09-12 09:23:32 +02:00
Michael Niedermayer
4ced30908f
avcodec/jpeg2000dec: make SOC finding code more robust
...
Fixes file from Ticket860
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-05 01:39:20 +02:00
Michael Niedermayer
9a271a9368
jpeg2000: check log2_cblk dimensions
...
Fixes out of array access
Fixes Ticket2895
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-24 03:42:54 +02:00
Michael Niedermayer
8bb11c3ca7
avcodec/jpeg2000dec: Check cdx/y values more carefully
...
Some invalid values where not handled correctly in the later pixel
format matching code.
Fixes out of array accesses
Fixes Ticket2848
Found-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-23 01:02:03 +02:00
Michael Niedermayer
63c0e9077e
avcodec/jpeg2000dec: fix near null pointer dereference
...
Fixes Ticket2840
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-18 18:44:12 +02:00
Michael Niedermayer
5cd57e8758
avcodec/jpeg2000dec: check sample sepration for validity
...
Fixes division by 0
Fixes Ticket2841
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-07 15:09:35 +02:00
Michael Niedermayer
bff371e34c
jpeg2000dec: simplify jpeg2000_read_bitstream_packets()
...
23 lines less
less error prone as theres no more need to update *_size on every read
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 03:55:07 +02:00
Michael Niedermayer
1434df3b93
jpeg2000dec: Support non subsampled 9-16bit planar pixel formats
...
This applies changes similar to fc6de70c44
to the >8bit codepath
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 04:16:53 +02:00
Michael Niedermayer
db33010483
jpeg2000dec: silence unused variable warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-19 17:54:57 +02:00
Michael Niedermayer
fc6de70c44
jpeg2000dec: Support non subsampled 8bit planar pixel formats
...
Fixes file2.jp2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 21:50:32 +02:00
Michael Niedermayer
99de97cabf
jpeg2000dec: parse CDEF
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Conflicts:
libavcodec/jpeg2000dec.c
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-18 21:43:42 +02:00
Carl Eugen Hoyos
b39a6bbe7f
Fix pix_fmt detection in the native jpeg2000 decoder.
...
Based on b7a928b
by Michael Bradshaw.
Fixes ticket #2683 .
Reviewed-by: Nicolas Bertrand
2013-07-18 13:51:24 +02:00
Nicolas Bertrand
f56fe04de3
jpeg2000: Initialize only once mqc arrays
...
Improves decoding speed.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-13 07:54:12 +02:00
Michael Niedermayer
f57119b8e5
jpeg2000: fix overflow in dequantization
...
Fixes decoding of file generated with:
ffmpeg -f lavfi -i smptehdbars=hd720 -pix_fmt rgb48 /tmp/o.jp2
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-13 12:44:37 +02:00
Nicolas Bertrand
dd1382ac95
jpeg2000: Initialize only once mqc arrays
...
Increases encoding and decoding speed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-12 23:43:09 +02:00
Michael Niedermayer
5eb23e6b0a
Merge commit '22e18ea39e371030cc78973d1b46aae45a7ea215'
...
* commit '22e18ea39e371030cc78973d1b46aae45a7ea215':
jpeg2000: Optimize output sample conversion
jpeg2000: Reset s->numX/Ytiles on tile deallocation
jpeg2000: Optimize dequantization
jpeg2000: Do not assume a single tile
jpeg2000: Speed up jpeg2000_decode_tile()
jpeg2000: Use EBCOT's CAUSAL and BYPASS mode in decode_cblk()
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:36:05 +02:00
Michael Niedermayer
19ff6f55e8
Merge commit 'd57c737ac30cf079a342fa649fd4888c2d059dd9'
...
* commit 'd57c737ac30cf079a342fa649fd4888c2d059dd9':
jpeg2000: Simplify jpeg2000_decode_packets()
jpeg2000: Do not crash on NULL node in tag_tree_decode
jpeg2000: Refactor SOT marker parsing
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:26:01 +02:00
Michael Niedermayer
1abb875c98
Merge commit 'daeb4e3042f2ecae2d41aaa4cae0bed932539788'
...
* commit 'daeb4e3042f2ecae2d41aaa4cae0bed932539788':
jpeg2000: Proper cleanup on failure in decode_frame()
Conflicts:
libavcodec/jpeg2000.c
See: 9d56ccf5
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 16:11:01 +02:00
Michael Niedermayer
ee7da5bacc
Merge commit '589e5b52f634f6b2d307a167a19eef7e7328cb08'
...
* commit '589e5b52f634f6b2d307a167a19eef7e7328cb08':
jpeg2000: Use the correct sizeof in memset for T1 data
jpeg2000: Simplify init_tile()
jpeg2000: Update pixel format support
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:45:03 +02:00
Michael Niedermayer
11cf4b7247
Merge commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea'
...
* commit 'f9581f1414ec8e3e7d0868793cda4f2e4fa113ea':
jpeg2000: Improve reduced resolution decoding
jpeg2000: Compute quantization for 'scalar derived' in the correct case.
jpeg2000: Calculate code-block coord in ff_jpeg2000_init_component()
Conflicts:
libavcodec/jpeg2000.c
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:20:37 +02:00
Michael Niedermayer
c7a092cb2d
Merge commit '4cbd5ed11b0161a6a192174934b241e0cc0599a9'
...
* commit '4cbd5ed11b0161a6a192174934b241e0cc0599a9':
jpeg2000: Fix compute precedence error in lut_gain index
jpeg2000: Initialize code blocks structures in precincts to 0
jpeg2000: Check that we have enough components for MCT
Conflicts:
libavcodec/jpeg2000.c
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 15:03:08 +02:00
Michael Niedermayer
9dfa5ea5dc
Merge commit '86a2602e16171ddc10c3ec655c23b16ffa595059'
...
* commit '86a2602e16171ddc10c3ec655c23b16ffa595059':
jpeg2000: Drop unused and writeonly fields
jpeg2000: Correctly calculate sgnd
Conflicts:
libavcodec/jpeg2000.h
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:46:10 +02:00
Michael Niedermayer
a4a16821d7
Merge commit 'fd54dd028bc9f7bfb80ebf823a533dc84b73f936'
...
* commit 'fd54dd028bc9f7bfb80ebf823a533dc84b73f936':
jpeg2000: check len before parsing header
jpeg2000: Check component number in get_coc() and get_qcc()
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:38:37 +02:00
Michael Niedermayer
2cad1ea29e
Merge commit '17e5d614a8647d51b9795cb8bccf97ee33ca2d58'
...
* commit '17e5d614a8647d51b9795cb8bccf97ee33ca2d58':
jpeg2000: Check zero bit-plane validity
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:30:17 +02:00
Michael Niedermayer
db5c93a1a9
Merge commit '7e201d575dc4385eb67314b0419d4d77185e65f4'
...
* commit '7e201d575dc4385eb67314b0419d4d77185e65f4':
jpeg2000: Validate block lengthinc
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:28:51 +02:00
Michael Niedermayer
f0358dc1d3
Merge commit '278a923c51187d37445d88a6b21082036ec9568d'
...
* commit '278a923c51187d37445d88a6b21082036ec9568d':
jpeg2000: Validate SIZ parsing
Conflicts:
libavcodec/jpeg2000dec.c
This commit is not exactly merged due to bugs in it
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 14:19:35 +02:00
Michael Niedermayer
2e85737b0e
Merge commit 'd3cb302b88503c3111e25add196622110c056188'
...
* commit 'd3cb302b88503c3111e25add196622110c056188':
jpeg2000: Validate SOT parsing
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 13:28:35 +02:00
Michael Niedermayer
57bc64e235
Merge commit '1a3598aae768465a8efc8475b6df5a8261bc62fc'
...
* commit '1a3598aae768465a8efc8475b6df5a8261bc62fc':
jpeg2000: Use bytestream2
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:54:01 +02:00
Michael Niedermayer
26f6acc66b
Merge commit '5efadcb8cdef6fc5ca5f1f72e45ef3b23016b1c4'
...
* commit '5efadcb8cdef6fc5ca5f1f72e45ef3b23016b1c4':
jpeg2000: Clean up return paths and error messages
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:16:24 +02:00
Michael Niedermayer
b0448e5123
Merge commit 'be3271009ef893fbed9640e8edbd771685fd957b'
...
* commit 'be3271009ef893fbed9640e8edbd771685fd957b':
jpeg2000: Define the maximum decomposition levels
Conflicts:
libavcodec/jpeg2000.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 12:02:11 +02:00
Michael Niedermayer
3f0364327c
Merge commit 'fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e'
...
* commit 'fbcc03db8f3919e2ea46d6ad11a00906b1c0ef0e':
jpeg2000: Check code-block size
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 11:55:45 +02:00
Michael Niedermayer
37a970bbb6
Merge commit '5650e331a733711b809bc27f968500f0f5530126'
...
* commit '5650e331a733711b809bc27f968500f0f5530126':
jpeg2000: Validate resolution levels
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-03 11:20:39 +02:00
Michael Niedermayer
95a57d26d8
jpeg2000: Use the matching coding style struct for transform selection
...
Fixes a null pointer dereference.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
22e18ea39e
jpeg2000: Optimize output sample conversion
...
67935 -> 29984 kcycles
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
f0552e63a6
jpeg2000: Reset s->numX/Ytiles on tile deallocation
...
Keep the structure fields more consistent after cleanup.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:48 +02:00
Michael Niedermayer
d57c737ac3
jpeg2000: Simplify jpeg2000_decode_packets()
...
Raise PATCHWELCOME error in case of non-implemented progression order.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Nicolas Bertrand <nicoinattendu@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Luca Barbato
daeb4e3042
jpeg2000: Proper cleanup on failure in decode_frame()
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00
Michael Niedermayer
e11099db20
jpeg2000: Optimize dequantization
...
Float: 4700 -> 2700 cycles
Integer: 4400 -> 2800 cycles
(sandybridge i7)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:47 +02:00