39b60359db
avcodec/j2kenc: Fix undefined shifts of negative numbers
...
Also add parentheses to some lines to make the operator precedence
clearer.
This affected the FATE-tests vsynth*-jpeg2000 and vsynth*-jpeg2000-97
(where * ranges over { 1, 2, 3, _lena }) as well as ticket #7983 .
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-01-21 15:56:39 +01:00
7b51b8020c
lavc/j2kenc: Support AV_PIX_FMT_PAL8.
2018-05-25 20:09:22 +02:00
b5587fd2c6
avcodec/jpeg2000: Only allocate Jpeg2000Pass for the encoder
...
Reduces memory needed.
Fixes: OOM
Fixes: 4427/clusterfuzz-testcase-minimized-5106919271301120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-12-01 23:12:07 +01:00
0674087004
avcodec/j2kenc: Fix out of array access in encode_cblk()
...
Fixes: 4427/clusterfuzz-testcase-minimized-5106919271301120
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-12-01 23:12:07 +01:00
7c191dfba7
avcodec/j2kenc: Only allocate cblk.data once
...
Fixes: memleak
Found-by: <jamrial>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-11-24 04:04:39 +01:00
3d5822d9cf
avcodec/jpeg2000: Dynamically allocate codeblock data
...
Fixes: OOM
Fixes: 3541/clusterfuzz-testcase-minimized-6469958596820992
Adds support for decoding codeblock data larger than 8kb
Reduces decoder memory consumption
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-11-22 13:06:50 +01:00
4ada428aae
avcodec: remove remaining uses of avcodec_get_chroma_sub_sample
...
Replace them with av_pix_fmt_get_chroma_sub_sample.
Signed-off-by: James Almer <jamrial@gmail.com >
2017-11-06 19:13:03 -03:00
b6b4b0a65e
avcodec/j2kenc: Add attribution to OpenJPEG project:
...
http://ghostscript.com/~tor/gs-browse/gs/openjpeg/libopenjpeg/t1.c
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-04-01 17:35:15 +02:00
f3af379b5c
Merge commit '2862b63783b5556f7f3fb2d097629bc6879f833a'
...
* commit '2862b63783b5556f7f3fb2d097629bc6879f833a':
lavc: Move prediction_method to codec private options
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-02-03 16:49:19 +00:00
f253c34175
lavc/j2kenc: Remove experimental flag.
...
The encoder produces valid and - if requested - lossless files.
2015-09-04 23:48:32 +02:00
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* commit '059a934806d61f7af9ab3fd9f74994b838ea5eba':
lavc: Consistently prefix input buffer defines
Conflicts:
doc/examples/decoding_encoding.c
libavcodec/4xm.c
libavcodec/aac_adtstoasc_bsf.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.h
libavcodec/asvenc.c
libavcodec/avcodec.h
libavcodec/avpacket.c
libavcodec/dvdec.c
libavcodec/ffv1enc.c
libavcodec/g2meet.c
libavcodec/gif.c
libavcodec/h264.c
libavcodec/h264_mp4toannexb_bsf.c
libavcodec/huffyuvdec.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libxvid.c
libavcodec/mdec.c
libavcodec/motionpixels.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/noise_bsf.c
libavcodec/nuv.c
libavcodec/nvenc.c
libavcodec/options.c
libavcodec/parser.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/qsvdec.c
libavcodec/svq1enc.c
libavcodec/tiffenc.c
libavcodec/truemotion2.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/vc1dec.c
libavcodec/wmalosslessdec.c
libavformat/adxdec.c
libavformat/aiffdec.c
libavformat/apc.c
libavformat/apetag.c
libavformat/avidec.c
libavformat/bink.c
libavformat/cafdec.c
libavformat/flvdec.c
libavformat/id3v2.c
libavformat/isom.c
libavformat/matroskadec.c
libavformat/mov.c
libavformat/mpc.c
libavformat/mpc8.c
libavformat/mpegts.c
libavformat/mvi.c
libavformat/mxfdec.c
libavformat/mxg.c
libavformat/nutdec.c
libavformat/oggdec.c
libavformat/oggparsecelt.c
libavformat/oggparseflac.c
libavformat/oggparseopus.c
libavformat/oggparsespeex.c
libavformat/omadec.c
libavformat/rawdec.c
libavformat/riffdec.c
libavformat/rl2.c
libavformat/rmdec.c
libavformat/rtpdec_latm.c
libavformat/rtpdec_mpeg4.c
libavformat/rtpdec_qdm2.c
libavformat/rtpdec_svq3.c
libavformat/sierravmd.c
libavformat/smacker.c
libavformat/smush.c
libavformat/spdifenc.c
libavformat/takdec.c
libavformat/tta.c
libavformat/utils.c
libavformat/vqf.c
libavformat/westwood_vqa.c
libavformat/xmv.c
libavformat/xwma.c
libavformat/yop.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 23:15:19 +02:00
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
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
e36db49b7b
avcodec: Add a min size parameter to ff_alloc_packet2()
...
This parameter can be used to inform the allocation code about how much
downsizing might occur, and can be used to optimize how to allocate the
packet
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 19:57:52 +02:00
d759f7f1d0
avcodec/j2kenc: remove unused variable
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-10 23:24:20 +02:00
97fa0f37fe
lavc/j2kenc: Enable yuv42x and yuv41x encoding.
...
Fixes ticket #535 .
Fixes ticket #4524 .
2015-07-06 00:06:54 +02:00
9f653e6d36
avcodec/j2kenc: Support user specified tile dimensions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-07-03 18:23:08 +02:00
0f5b996531
lavc/j2kenc: Make jp2 output compatible with Kakadu.
...
Fixes ticket #4689 .
2015-06-30 15:00:38 +02:00
5c047f3ad4
avcodec/j2kenc: store libavcodec ident in a comment unless bitexact mode is used
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-30 13:45:03 +02:00
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
7e2bdea764
avcodec/j2kenc: Use JP2 format by default
...
Without the JP2 fields its not possible to identify the colorspace
Fixes Ticket538
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-19 21:56:57 +02:00
9a2fc170b1
avcodec/j2kenc: Support writing JP2 encapsulation
...
The added option matches openjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-19 21:51:25 +02:00
bb3703a4c3
avcodec/j2kenc: YUV should not use the ICT
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-19 05:12:06 +02:00
4624656797
avcodec/j2kenc: Properly flush the end of the truncated AC stream
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-17 20:39:03 +02:00
2580bae54a
avcodec/j2kenc: Use ret < 0 instead of ret != 0 for error checks
...
This is how most code in FFmpeg checks for failures
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-16 18:47:14 +02:00
b020a25df2
avcodec/j2kenc: Initialize variable to silence compiler warnings
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-25 15:06:36 +01:00
2daf580284
avcodec/j2kenc: use av_malloc(z)_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-04-08 23:12:26 +02:00
8443b27072
avcodec/j2kenc: drop dependancy on sizeof(AVFrame)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-12-17 16:57:58 +01:00
b46f19100b
cosmetics: group remaining .name and .long_name.
...
See b2bed9325
.
2013-10-04 13:33:20 +00:00
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
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
9d56ccf5af
j2k/jpeg2000dec: merge
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-31 03:10:08 +02:00
62d00aa22f
jpeg2000/j2k: merge j2k/jpeg2000.c/h
...
Now only j2kdec / jpeg2000dec.c remain
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-30 14:57:58 +02:00
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
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
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
9c66da517f
j2kenc: Zero DWT struct on allocation
...
Should fix fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-28 02:47:25 +02:00
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
d4a4661342
j2k/jpeg2000: merge j2k & jpeg2000 dwts, drop j2k dwt
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-27 21:54:07 +02:00
ee189701a6
j2kenc: Allow encoding with the 9/7 wavelet
...
Also add a fate test that tests 9/7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-27 18:50:18 +02:00
243cc38d94
j2k: change fixed point of stepsize to 16.16
...
This seems more natural and matches jpeg2000
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-27 17:58:06 +02:00
1b5cb6c00a
j2k/jpeg2000: Partially merge quantization code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-27 17:50:54 +02:00
c2e942099a
j2k: drop cblknx/y from Jpeg2000Band
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-27 15:55:29 +02:00
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
cbaa0871c2
j2kenc: switch to cblk in prec
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-27 15:13:18 +02:00
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
b4013899e2
j2k: s/ff_j2k_getsigctxno/ff_jpeg2000_getsigctxno/g
...
Also add a related comment
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-26 18:22:16 +02:00
e66faf71eb
j2k: merge ff_j2k_init_tier1_luts()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-26 18:07:48 +02:00
69b9773980
j2k: s/getnbctxno/getsigctxno/g
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-26 18:07:48 +02:00
5157ec89ef
j2k: redesign vert_causal_ctx_csty implementation
...
The old implementation was incomplete and could not have worked
This also fixes some warnings
New code is untested as i dont seem to have a sample file that uses this.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-05-26 18:07:48 +02:00