Paul B Mahol
585cfabb79
avcodec/jpeg2000dec: add slice threading support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Paul B Mahol
e2298b3fcc
avcodec/jpeg2000dec: account two last bytes from end of bytestream as EOC marker
...
This silences missing EOC marker when decoding j2k files with Psot set to 0.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
9 years ago
Michael Niedermayer
0aada30510
avcodec/jpeg2000dec: More completely check cdef
...
Fixes out of array read
Fixes: j2k-poc.bin
Found-by: Lucas Leong <wmliang.tw@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Anton Khirnov
2c6811397b
lavc: add profiles to AVCodecDescriptor
...
The profiles are a property of the codec, so it makes sense to export
them through AVCodecDescriptors, not just the codec implementations.
9 years ago
Michael Niedermayer
a85b02dcf7
avcodec/jpeg2000dec: Check bpno in decode_cblk()
...
Fixes: undefined shift
Fixes: c409ef86f892335a0a164b5871174d5a/asan_heap-oob_1dff564_2159_162b7234616deab02b544410455eb07b.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
0eb7de1973
avcodec/jpeg2000: Change coord to 32bit to support larger than 32k width or height
...
Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
65d3359fb3
avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
6ef819c40b
avcodec/jpeg2000dec: Check SIZ dimensions to be within the supported range
...
Fixes potential integer overflows
Fixes: 03e0abe721b1174856d41a1eb5d6a896/signal_sigabrt_7ffff6ae7cc9_3813_e71bf3541abed3ccba031cd5ba0269a4.avi
This fix is choosen to be simple to backport, better solution
for master is planed
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
44a7f17d0b
avcodec/jpeg2000dec: Check for duplicate SIZ marker
...
Fixes: 0231a17345734228011c6f35a64e4594/asan_heap-oob_1d92a72_3218_1213809a9e3affec77e4c191fdfdc0a9.mov
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
43492ff3ab
avcodec/jpeg2000dec: Clip all tile coordinates
...
Fixes out of array access
Fixes: b877a6b788a25c70e8b1d014f8628549/asan_heap-oob_1da2c3f_2324_5a1b329b0b3c4bb6b1d775660ac56717.r3d
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
c980c5e54d
avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too
...
Fixes: Ticket4878
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
c08b06c225
avcodec/jpeg2000dec: Check that step_x/y are valid before use in JPEG2000_PGOD_PCRL
...
Fixes: CID1322305 and CID1322304
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Luca Barbato
1b709f23fb
jpeg2000: Refactor decode_packets
...
Move the packet-specific parsers in separate functions.
9 years ago
Luca Barbato
29b00f880f
jpeg2000: Templatize the frame writer
9 years ago
Luca Barbato
41bcc3d152
jpeg2000: Split codeblock decoding from the main tile decoding
...
That loop is completely stand-alone.
9 years ago
Luca Barbato
5788623d29
jpeg2000: Split codeblock decoding from the main tile decoding
...
That loop is completely stand-alone.
9 years ago
Luca Barbato
db53a2306f
jpeg2000: Do not warn about known and skippable markers
...
Matches the openjpeg behaviour.
9 years ago
Hendrik Leppkes
5d8e836d0e
Replace all remaining occurances of step/depth_minus1 and offset_plus1
9 years ago
Michael Niedermayer
a87ada53c3
avcodec/jpeg2000dec: Initialize ret to avoid warning and make the code more robust
...
"Fixes" CID1322361
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
9e70475551
avcodec/jpeg2000dec: Assert that step_x/y are valid
...
Fixes CID1322304, CID1322305
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Carl Eugen Hoyos
daf2c35f52
lavc: Remove newline from avpriv_request_sample() calls.
9 years ago
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
9 years ago
Carl Eugen Hoyos
c239fcb948
lavc/jpeg2000: Signal lossless / bit-exact video stream.
9 years ago
Michael Niedermayer
d554715f67
avcodec/jpeg2000dec: Fix decoding of subsampled multi tile images
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Janne Grunau
007e27d363
avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()
10 years ago
Michael Niedermayer
ecbd111768
avcodec/jpeg2000dec: Remove unused variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
96e73fa649
avcodec/jpeg2000dec: Merge i_stepsize/2 decoder special case into dequant
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
5cccbc3b74
avcodec/jpeg2000dec: Check for mismatching per expected termination
...
not just at the end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
8672c0a643
avcodec/jpeg2000dec: Limit poc end fields to whats available in jpeg2000_decode_packets()
...
Fixes: Ticket4677
Solution based on information from
https://code.google.com/p/openjpeg/issues/detail?id=80
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
b75c0a72ed
avcodec/jpeg2000dec: Fix tp_index for POC
...
Fixes Ticket2586
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
c56ba5c270
avcodec/jpeg2000dec: Print what is found in place of EPH if EPH is not found
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
c72a831931
avcodec/jpeg2000dec: Support progression order changes
...
Fixes Ticket4657
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
2ec0ba1e22
avcodec/jpeg2000dec: Parse POCs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
7ca0cd5831
avcodec/jpeg2000dec: iterate in tile sample space for CPRL & RPCL
...
Thats what the spec says should be done
aka iterate in the wrong space and use special cases to patch that up.
It sometimes can result in different order
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
f5822ea379
avcodec/jpeg2000dec: Add missing \n to av_log()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
50b77e364f
avcodec/jpeg2000dec: iterate over positions with the special cases from jpeg2000
...
The order in j2k is not the simple and logic one
Fixes Ticket4670
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
6c4a2f11dd
avcodec/jpeg2000dec: Add coords to Jpeg2000Tile
...
These will be needed in subsequent commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
f1e173049e
avcodec/jpeg2000: Remove CBLK limit
...
This also reduces the amount of memory needed
Fixes Ticket4672
The new code seems slightly faster as well, probably due to better cache usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
9ff5e7974a
avcodec/jpeg2000dec: Limit x/y step to 1<<30
...
Fixes infinite loop
Fixes Ticket4663
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
2d8bf3d126
avcodec/jpeg2000dec: Check PPx / PPy values
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
d580255571
vcodec/jpeg2000: Increase cblk size limit to 128
...
Fixes Ticket4649
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
ffa1de8a3b
avcodec/jpeg2000dec: Use 32x32->64bit for 9/7i dequantization
...
Like the 5/3 case this is needed to avoid overflows and similarly for 16bpp
output pure 32bit operations are insufficient if high quality is wanted
Note, this code-path is only used in bitexact mode, so this should not
affect the speed of any real use-case
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
05ef6324d1
avcodec/jpeg2000dec: Add 5/3 de-quantization special case for the lossless case
...
This avoids a multiplication and 64bits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
8ff09e9098
avcodec/jpeg2000dec: Use 32x32->64bit for 5/3 dequantization
...
This fixes overflows, using fewer bits would impact high bit depth quality
Fixes Ticket4654
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
bb9f4f94ac
avcodec/jpeg2000dec: Replace TPsot check by assert
...
The condition is impossible now.
the TPsot type is changed to unsigned int to prevent gcc from producing warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
5ba9ec824a
avcodec/jpeg2000dec: Increase tile part limit to 256
...
This is the maximum that the syntax of jpeg2000 is capable to store
Fixes Ticket4639
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
08326e73a2
avcodec/jpeg2000dec: Continue decoding reslevels even when empty ones are encountered
...
Fixes Ticket4635
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
2687a51a3f
avcodec/jpeg2000dec: Drop unneeded rlevel variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
20657e05bc
avcodec/jpeg2000dec: Improve end check
...
Fixes spurious end mismatch warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago