Michael Niedermayer
fbcc03db8f
jpeg2000: Check code-block size
...
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:43 +02:00
Luca Barbato
5650e331a7
jpeg2000: Validate resolution levels
...
There are 32 maximum decomposition levels, thus 33 resolution levels.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-07-02 20:05:43 +02:00
Carl Eugen Hoyos
0915b531bc
Rename "AVClass class" as "AVClass component_class".
...
The aix header math.h defines "extern int class()" for C.
2013-06-30 13:47:45 +02:00
Michael Niedermayer
32fc8d6db6
avcodec/jpeg2000dec: check that tp_end is after the start
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-21 00:58:41 +02:00
Michael Niedermayer
582f53349e
jpeg2000dec: make cblk->length(inc)/data use consistent
...
Fixes Ticket2612
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-17 20:08:51 +02:00
Michael Niedermayer
3b86174290
avcodec/jpeg2000dec: move bpno check to a earlier place
...
This prevents additional integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-16 15:27:39 +02:00
Michael Niedermayer
69e4d8e6a4
avcodec/jpeg2000dec: check len before parsing header
...
Fixes out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 19:34:00 +02:00
Michael Niedermayer
5deb96c564
avcodec/jpeg2000dec: Check Psot
...
Fixes out of array read
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 19:34:00 +02:00
Michael Niedermayer
e850a064ce
jpeg2000dec: Check compno in get_coc()
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 01:55:43 +02:00
Michael Niedermayer
129edcb50f
jpeg2000dec: dont set ncomponents to an invalid value
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-14 00:36:45 +02:00
Michael Niedermayer
8e887ca1fe
jpeg2000dec: Check bpno in decode_cblk()
...
Fixes integer overflow in fate-redcode-demux
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-10 17:13:46 +02:00
Michael Niedermayer
7c3a296b4f
jpeg2000dec: fix av_log()
...
Found-by: ubitux
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 21:52:49 +02:00
Michael Niedermayer
21d0f75f29
jpeg2000dec: check that we have enough components for MCT
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 16:06:48 +02:00
Michael Niedermayer
c49d94487c
jpeg2000dec: 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>
2013-06-06 15:38:05 +02:00
Michael Niedermayer
b26bcd08e6
jpeg2000dec: Check that theres a SOT before SOD
...
Fixes out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 10:51:07 +02:00
Michael Niedermayer
c51654fbc0
jpeg2000dec: Support 4 tile parts
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 03:10:42 +02:00
Michael Niedermayer
c59ce1c98e
get_qcc: Check compno
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-06 02:26:22 +02:00
Michael Niedermayer
bbc19010ed
jpeg2000dec: return error for invalid cdxy values
...
Fixes division by 0
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 23:31:19 +02:00
Michael Niedermayer
66c4d54413
jpeg2000dec: Propagate error code from get_cox() correctly
...
Without this the context state could become inconsistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-05 18:34:07 +02:00
Michael Niedermayer
bbf43c70dd
jpeg2000dec: assert that curtileno is valid when used
...
Fixes CID1026755
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:59:52 +02:00
Michael Niedermayer
6507d86f07
jpeg2000dec; optimize output sample convert a bit
...
67935 -> 29984 kcycles
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 13:00:50 +02:00
Paul B Mahol
d2021f74ed
jpeg2000dec: remove redundant error log message
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-06-03 00:20:08 +00:00
Michael Niedermayer
9054e72529
jpeg2000: make sure s->numXtiles / s->numYtiles are reset when tile is deallocated
...
This keeps the structure fields more consistent after cleanup
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 14:41:46 +02:00
Michael Niedermayer
dc60061bb6
jpeg2000dec: optimize dequantization_int()
...
4400->2800 cycles
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:48:13 +02:00
Michael Niedermayer
6cbd0241f2
jpeg2000dec: optimize dequantization_float()
...
4700 -> 2700 cycles (sandybridge i7)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-01 11:48:09 +02:00
Michael Niedermayer
f77467a11d
jpeg2000dec: fix indention
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 13:33:13 +02:00
Michael Niedermayer
c1415cfefb
jpeg2000dec: print more detailed cdx/y debug info
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 13:32:33 +02:00
Michael Niedermayer
9d56ccf5af
j2k/jpeg2000dec: merge
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:08 +02:00
Michael Niedermayer
fd7e119037
jpeg2000dec: merge simplification of jpeg2000_decode_packets() from j2k
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:08 +02:00
Michael Niedermayer
192050d7a7
jpeg2000dec: merge sgnd fix from j2k
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer
5dbbb762e5
jpeg2000dec: merge struct field types from j2k
...
Fixes AVOption type mismatch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 03:10:07 +02:00
Michael Niedermayer
cdb86136f7
j2k/jpeg2000: merge some of the tilepart related code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:11 +02:00
Michael Niedermayer
f67f2681da
jpeg2000deci/j2kdec: fix sizeof types
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer
20a2d5ec11
jpeg2000dec: fix ff_mqc_initdec() and data setup order
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer
7a2b634220
jpeg2000dec: simplify init_tile() / merge from j2k
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-31 02:22:10 +02:00
Michael Niedermayer
3f714d1ffd
jpeg2000/j2k: merge non functional changes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:38:04 +02:00
Michael Niedermayer
9ccc9f30f7
jpeg2000: drop red-blue swap
...
This should no longer be needed as the pix fmt was updated
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 18:37:56 +02:00
Michael Niedermayer
310f9dd698
j2k/jpeg2000: merge pix_fmt setting code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 16:45:30 +02:00
Michael Niedermayer
8bedbb82ce
j2k/jpeg2000: split data pointer in int & float.
...
This fixes a TODO item and unifies both decoders structures
It also fixes undefined behavior due to aliasing violations
I choose 2 fields instead of a union because mistakely using the
wrong type with a union will lead to hard to debug "wrong output"
while with 2 fields mistakely using the wrong type will crash
with a null pointer derefernce which is much easier to debug
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-30 14:18:53 +02:00
Michael Niedermayer
83fd377c94
j2k/jpeg2000: merge float DWT and related code
...
the float conditions are largely changed to check the DWT
instead of the bitexact flag, which previously was wrong
(DWT53 is always int)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-29 00:29:25 +02:00
Michael Niedermayer
c37d735c1c
jpeg2000dec: mct_decode: remove unused return
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 23:49:11 +02:00
Michael Niedermayer
fe7136ef82
j2k/jpeg2000: split stepsize in float & int variables
...
This is more clear and less prone to mistakes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Michael Niedermayer
aa0d11ed0b
jpeg2000dec: remove unneeded returns
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 22:16:14 +02:00
Michael Niedermayer
8cf57efdd7
j2k/jpeg2000: merge lowres code
...
This also fixes lowres use with ffplay
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-28 00:30:06 +02:00
Michael Niedermayer
8c2e201c4f
j2k/jpeg2000: drop xi/yi0/1 from Jpeg2000Prec
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:53:42 +02:00
Michael Niedermayer
14652c080d
j2k/jpeg2000: restructure cblk coord
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-27 15:13:18 +02:00
Michael Niedermayer
bd89b2b22a
j2k/jpeg2000: log2_prec size cleanup
...
This also changes the cblk size storage method to what jpeg2000 uses
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 22:29:11 +02:00
Michael Niedermayer
cb39dfb870
j2k/jpeg2000: check cblk size
...
This is based on j2k FCD which is ambigous thus the limit
might be tighter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
de90bd6c3f
j2k/jpeg2000: merge cosmetics and whitespace
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-26 20:15:50 +02:00
Michael Niedermayer
914ab4cd1c
j2kdec & jpeg2000dec: check lengthinc against array size
...
Fixes out of array reads
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 04:18:38 +02:00
Michael Niedermayer
17e66c9ff4
j2k & jpeg2000dec: reset numX/Ytiles if tiles failed allocation
...
Fixes null pointer dereference
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 03:18:55 +02:00
Michael Niedermayer
53f0442464
avcodec/jpeg2000dec: Port tile size check from j2kdec
...
Fixes potential integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 03:16:52 +02:00
Michael Niedermayer
73ffab4195
jpeg2000dec: check TPsot
...
Fixes out of array accesses
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:53:21 +02:00
Michael Niedermayer
fec8783883
jpeg2000dec: read and check curtileno
...
Fixes out of array accesses
Code ported from j2kdec
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:29:49 +02:00
Michael Niedermayer
f399b33c2b
jpeg2000dec & j2kdec: Fix return type of get_sot()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:14:04 +02:00
Michael Niedermayer
4a9a6a1f35
vcodec/jpeg2000dec: fix av_log() type
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 02:05:50 +02:00
Michael Niedermayer
0b42631641
avcodec/jpeg2000dec: merge bytestream2 reading from j2kdec
...
This fixes at least one out of array access
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 01:24:47 +02:00
Michael Niedermayer
c649ecb3b2
avcodec/jpeg2000dec: get_qcx, fix stack and heap overwrites
...
This is likely remotely exploitable
Fix ported from j2kdec
No uptodate FFmpeg release should be affected by this
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-22 00:07:45 +02:00
Michael Niedermayer
069ede2981
jpeg2000dec: Check ncomponents and tile dimensions
...
Fixes various problems
Code ported from j2kdec
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-21 21:44:34 +02:00
Michael Niedermayer
75835abe91
Merge commit '7c57a582a03fb473091a88737ab92b9f2a5bb87a'
...
* commit '7c57a582a03fb473091a88737ab92b9f2a5bb87a':
jpeg2000dec: don't use deprecated PIX_FMT values
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:39:00 +02:00
Michael Niedermayer
85de84c3e0
Merge commit '7cbc4cb4424430586ce2d5c0dba81174c6d1db01'
...
* commit '7cbc4cb4424430586ce2d5c0dba81174c6d1db01':
fate: update the mmf reference
mmf: Write metadata into an Optional Data chunk
jpeg2000dec: Use correct printf length modifier for pointer differences
Conflicts:
libavformat/mmf.c
tests/ref/lavf/mmf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-15 10:15:15 +02:00
Anton Khirnov
7c57a582a0
jpeg2000dec: don't use deprecated PIX_FMT values
2013-05-15 07:46:39 +02:00
Diego Biurrun
a349458e67
jpeg2000dec: Use correct printf length modifier for pointer differences
...
Also eliminate an unnecessary cast. Fixes the following warning:
jpeg2000dec.c:1200:20: warning: format ‘%lX’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘long long unsigned int’
2013-05-14 16:46:56 +02:00
Michael Niedermayer
1bad40ef27
Merge commit '70f9661542a581dfe93b636b1c55b5558e4a4e3c'
...
* commit '70f9661542a581dfe93b636b1c55b5558e4a4e3c':
jpeg2000dec: initialize static data just once
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:46:41 +02:00
Michael Niedermayer
aecb3421f6
Merge commit '45a1694fde251ee56e23aec073d73172c00aa470'
...
* commit '45a1694fde251ee56e23aec073d73172c00aa470':
jpeg2000dec: cleanup properly after decoding errors
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-08 11:41:54 +02:00
Michael Niedermayer
974420a701
jpeg2000dec: fix memleaks in error cases in jpeg2000_decode_frame()
...
Reviewed-by: Nicolas BERTRAND <nicoinattendu@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 22:56:22 +02:00
Janne Grunau
70f9661542
jpeg2000dec: initialize static data just once
2013-05-06 22:45:47 +02:00
Janne Grunau
45a1694fde
jpeg2000dec: cleanup properly after decoding errors
...
Fixes memory leak in fate-redcode-demux.
2013-05-06 22:27:33 +02:00
Michael Niedermayer
050b48f397
Merge commit '6c5eac9a603a91a707d030d96ba97e2ef6b3ce50'
...
* commit '6c5eac9a603a91a707d030d96ba97e2ef6b3ce50':
swscale: Remove unnecessary backslashes
jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck
Conflicts:
libavcodec/jpeg2000dec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:23:29 +02:00
Nicolas Bertrand
a06f0cef5b
jpeg2000: fix for uninitialized data errors in valgrind/memcheck
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 21:14:19 +02:00
Nicolas Bertrand
28816f9db8
jpeg2000: Fix uninitialized data errors pointed out by valgrind/memcheck
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-06 13:07:00 +02:00
Reimar Döffinger
d82729e5d9
Detect and skip mj2-style jp2c header.
...
This this fixes one of the issues with
http://blogs.bu.edu/mhirsch/files/2012/08/Rotate180CCW-checkerboard.mj2_.zip
and at least allows to demux the file properly instead
of failing during probing.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-05 10:01:22 +02:00
Michael Niedermayer
03b81df9e6
Merge commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b'
...
* commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b':
jpeg2000: Add mutlti-threading support to decoder
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 09:55:59 +02:00
Nicolas Bertrand
2e2d24667a
jpeg2000: Add mutlti-threading support to decoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 11:53:04 +02:00
Michael Niedermayer
5056cff125
Merge commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d'
...
* commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d':
jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:24:49 +02:00
Michael Niedermayer
e2e9bee2da
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
avcodec: Bump minor for JPEG 2000 decoder
JPEG 2000 decoder for DCinema
The mqc code is merged, the rest is added independent of
the existing jpeg2000 decoder and encoder.
Conflicts:
Changelog
doc/general.texi
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/mqc.c
libavcodec/mqc.h
libavcodec/mqcdec.c
libavcodec/version.h
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 20:00:54 +02:00
Janne Grunau
10f1a4d9bd
jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12
2013-04-22 17:11:21 +02:00
Nicolas Bertrand
c81a706381
JPEG 2000 decoder for DCinema
...
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 15:38:29 +02:00