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>
2016-01-27 17:18:00 +01:00
Hendrik Leppkes
5e8b053452
Merge commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6'
...
* commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6':
lavc: add profiles to AVCodecDescriptor
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-01-01 16:20:39 +01:00
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.
2015-12-12 21:22:49 +01:00
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>
2015-12-04 18:54:39 +01:00
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>
2015-11-15 22:11:05 +01:00
Michael Niedermayer
65d3359fb3
avcodec/jpeg2000dec: Fix potential integer overflow with tile dimensions
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-15 21:36:19 +01:00
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>
2015-11-15 21:36:19 +01:00
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>
2015-11-14 00:58:54 +01:00
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>
2015-11-07 02:17:04 +01:00
Michael Niedermayer
c980c5e54d
avcodec/jpeg2000dec: Clear properties in jpeg2000_dec_cleanup() too
...
Fixes: Ticket4878
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-15 22:00:49 +02:00
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>
2015-10-11 15:43:26 +02:00
Hendrik Leppkes
64f72bb61f
Merge commit '29b00f880faa404aa1d0d6820310c510c5996479'
...
* commit '29b00f880faa404aa1d0d6820310c510c5996479':
jpeg2000: Templatize the frame writer
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-16 12:08:39 +02:00
Hendrik Leppkes
5a754f92d1
Merge commit '41bcc3d15204f290400ba02e4e8f87fc07bcc00e'
...
* commit '41bcc3d15204f290400ba02e4e8f87fc07bcc00e':
jpeg2000: Split codeblock decoding from the main tile decoding
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-16 11:31:40 +02:00
Luca Barbato
1b709f23fb
jpeg2000: Refactor decode_packets
...
Move the packet-specific parsers in separate functions.
2015-09-14 14:31:25 +02:00
Luca Barbato
29b00f880f
jpeg2000: Templatize the frame writer
2015-09-14 14:28:03 +02:00
Luca Barbato
41bcc3d152
jpeg2000: Split codeblock decoding from the main tile decoding
...
That loop is completely stand-alone.
2015-09-14 14:26:54 +02:00
Hendrik Leppkes
84d04a0dfa
Merge commit '5788623d29c3e806a7879210986110aced758dc2'
...
* commit '5788623d29c3e806a7879210986110aced758dc2':
jpeg2000: Split codeblock decoding from the main tile decoding
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-12 13:25:38 +02:00
Hendrik Leppkes
6e611a1839
Merge commit 'db53a2306f62f05faa67e6f3c60ee55a9b8e4776'
...
* commit 'db53a2306f62f05faa67e6f3c60ee55a9b8e4776':
jpeg2000: Do not warn about known and skippable markers
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-12 13:16:13 +02:00
Luca Barbato
5788623d29
jpeg2000: Split codeblock decoding from the main tile decoding
...
That loop is completely stand-alone.
2015-09-11 18:19:39 +02:00
Luca Barbato
db53a2306f
jpeg2000: Do not warn about known and skippable markers
...
Matches the openjpeg behaviour.
2015-09-11 18:19:01 +02:00
Hendrik Leppkes
5d8e836d0e
Replace all remaining occurances of step/depth_minus1 and offset_plus1
2015-09-08 17:10:48 +02:00
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>
2015-09-05 00:38:21 +02:00
Michael Niedermayer
9e70475551
avcodec/jpeg2000dec: Assert that step_x/y are valid
...
Fixes CID1322304, CID1322305
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-05 00:37:53 +02:00
Carl Eugen Hoyos
daf2c35f52
lavc: Remove newline from avpriv_request_sample() calls.
2015-08-11 22:50:45 +02:00
Michael Niedermayer
444e9874a7
Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
...
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
lavc: AV-prefix all codec capabilities
Conflicts:
cmdutils.c
ffmpeg.c
ffplay.c
libavcodec/8svx.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/adpcm.c
libavcodec/alac.c
libavcodec/atrac3plusdec.c
libavcodec/bink.c
libavcodec/dnxhddec.c
libavcodec/dvdec.c
libavcodec/dvenc.c
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
libavcodec/fic.c
libavcodec/flacdec.c
libavcodec/flacenc.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/hevc.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopenjpegdec.c
libavcodec/libvo-aacenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxdec.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpegaudiodec_float.c
libavcodec/msmpeg4dec.c
libavcodec/mxpegdec.c
libavcodec/nvenc_h264.c
libavcodec/nvenc_hevc.c
libavcodec/pngdec.c
libavcodec/qpeg.c
libavcodec/ra288.c
libavcodec/rv10.c
libavcodec/s302m.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tiff.c
libavcodec/tta.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/vp9.c
libavcodec/wavpack.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:50:18 +02:00
Michael Niedermayer
94d68a41fa
Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
...
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
lavc: AV-prefix all codec flags
Conflicts:
doc/examples/muxing.c
ffmpeg.c
ffmpeg_opt.c
ffplay.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/dcadec.c
libavcodec/ffv1enc.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/imc.c
libavcodec/libmp3lame.c
libavcodec/libtheoraenc.c
libavcodec/libtwolame.c
libavcodec/libvpxenc.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpegaudiodec_template.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/nvenc.c
libavcodec/on2avc.c
libavcodec/options_table.h
libavcodec/opus_celt.c
libavcodec/pngenc.c
libavcodec/ra288.c
libavcodec/ratecontrol.c
libavcodec/twinvq.c
libavcodec/vc1_block.c
libavcodec/vc1_loopfilter.c
libavcodec/vc1_mc.c
libavcodec/vc1dec.c
libavcodec/vorbisdec.c
libavcodec/vp3.c
libavcodec/wma.c
libavcodec/wmaprodec.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:10:35 +02:00
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
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>
2015-07-27 15:24:58 +01:00
Carl Eugen Hoyos
c239fcb948
lavc/jpeg2000: Signal lossless / bit-exact video stream.
2015-07-20 00:28:13 +02:00
Michael Niedermayer
d554715f67
avcodec/jpeg2000dec: Fix decoding of subsampled multi tile images
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-03 18:08:01 +02:00
Michael Niedermayer
9cf95654ac
Merge commit '007e27d363ba7d994019dc897dc9c39071bb204a'
...
* commit '007e27d363ba7d994019dc897dc9c39071bb204a':
avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()
Conflicts:
libavcodec/atrac3plusdec.c
libavcodec/sp5xdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-01 18:58:01 +02:00
Janne Grunau
007e27d363
avcodec: add missing CODEC_CAP_DR1 to codecs using get_buffer()
2015-07-01 12:10:25 +02:00
Michael Niedermayer
ecbd111768
avcodec/jpeg2000dec: Remove unused variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 19:36:52 +02:00
Michael Niedermayer
96e73fa649
avcodec/jpeg2000dec: Merge i_stepsize/2 decoder special case into dequant
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-28 15:26:31 +02:00
Michael Niedermayer
5cccbc3b74
avcodec/jpeg2000dec: Check for mismatching per expected termination
...
not just at the end
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 15:22:15 +02:00
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>
2015-06-27 11:48:42 +02:00
Michael Niedermayer
b75c0a72ed
avcodec/jpeg2000dec: Fix tp_index for POC
...
Fixes Ticket2586
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 22:00:29 +02:00
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>
2015-06-26 22:00:28 +02:00
Michael Niedermayer
c72a831931
avcodec/jpeg2000dec: Support progression order changes
...
Fixes Ticket4657
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 21:00:10 +02:00
Michael Niedermayer
2ec0ba1e22
avcodec/jpeg2000dec: Parse POCs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 20:59:05 +02:00
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>
2015-06-26 13:44:17 +02:00
Michael Niedermayer
f5822ea379
avcodec/jpeg2000dec: Add missing \n to av_log()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 05:25:42 +02:00
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>
2015-06-26 05:25:42 +02:00
Michael Niedermayer
6c4a2f11dd
avcodec/jpeg2000dec: Add coords to Jpeg2000Tile
...
These will be needed in subsequent commits
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 05:25:42 +02:00
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>
2015-06-26 01:00:17 +02:00
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>
2015-06-25 00:43:49 +02:00
Michael Niedermayer
2d8bf3d126
avcodec/jpeg2000dec: Check PPx / PPy values
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-25 00:23:31 +02:00
Michael Niedermayer
d580255571
vcodec/jpeg2000: Increase cblk size limit to 128
...
Fixes Ticket4649
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-24 17:38:05 +02:00
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>
2015-06-24 17:09:21 +02:00
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>
2015-06-24 17:05:42 +02:00