summaryrefslogtreecommitdiff
path: root/libavcodec/j2kenc.c
Commit message (Collapse)AuthorAge
* avcodec/j2kenc: Fix leaks on init failureAndreas Rheinhardt2020-09-19
| | | | | | | | | | The JPEG2000 encoder did not clean up after itself on error. This commit fixes this by modifying the cleanup function to be able to handle only partially allocated structures and by setting the FF_CODEC_CAP_INIT_CLEANUP flag. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* libavcodec/jpeg2000: fix tag tree resetGautam Ramakrishnan2020-08-30
| | | | | | | | | | The implementation of the tag tree did not set the correct reset value for the encoder. This lead to inefficent tag tree being encoded. This patch fixes the implementation of the ff_tag_tree_zero() function. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/j2kenc: Support for multiple layersGautam Ramakrishnan2020-08-30
| | | | | | | | | | | This patch allows setting a compression ratio and to set multiple layers. The user has to input a compression ratio for each layer. The per layer compression ration can be set as follows: -layer_rates "r1,r2,...rn" for to create 'n' layers. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/j2kenc: Fix tag tree codingGautam Ramakrishnan2020-08-30
| | | | | | | | | | The implementation of tag tree encoding was incorrect. However, this error was not visible as the current j2k encoder encodes only 1 layer. This patch fixes tag tree coding for JPEG2000 such tag tree coding would work for multi layer encoding. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/j2kenc: Support for all Progression ordersGautam Ramakrishnan2020-08-09
| | | | | | | | | This patch allows for selecting the progression order in the j2k encoder. However, all components and resolution levels will use the same progression order and will not feature the use of progression order change markers. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/j2kenc: Allow Encoder to use SOP and EPH markersGautam Ramakrishnan2020-08-06
| | | | | | | | This patch allows the encoder to use SOP and EPH markers. This would be useful as these markers provide better error detection mechanisms. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/j2kenc: Encoding up to 16 bitsGautam Ramakrishnan2020-07-30
| | | | | | | This patch allows the JPEG2000 encoder to encode images to up to 16 bits. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/j2kenc: Fix undefined shifts of negative numbersAndreas Rheinhardt2020-01-21
| | | | | | | | | | | 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>
* lavc/j2kenc: Support AV_PIX_FMT_PAL8.Carl Eugen Hoyos2018-05-25
|
* avcodec/jpeg2000: Only allocate Jpeg2000Pass for the encoderMichael Niedermayer2017-12-01
| | | | | | | | | 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>
* avcodec/j2kenc: Fix out of array access in encode_cblk()Michael Niedermayer2017-12-01
| | | | | | | 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>
* avcodec/j2kenc: Only allocate cblk.data onceMichael Niedermayer2017-11-24
| | | | | | | Fixes: memleak Found-by: <jamrial> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000: Dynamically allocate codeblock dataMichael Niedermayer2017-11-22
| | | | | | | | | | | 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>
* avcodec: remove remaining uses of avcodec_get_chroma_sub_sampleMartin Vignali2017-11-06
| | | | | | Replace them with av_pix_fmt_get_chroma_sub_sample. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/j2kenc: Add attribution to OpenJPEG project:Aaron Boxer2016-04-01
| | | | | | http://ghostscript.com/~tor/gs-browse/gs/openjpeg/libopenjpeg/t1.c Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '2862b63783b5556f7f3fb2d097629bc6879f833a'Derek Buitenhuis2016-02-03
| | | | | | | * commit '2862b63783b5556f7f3fb2d097629bc6879f833a': lavc: Move prediction_method to codec private options Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavc/j2kenc: Remove experimental flag.Carl Eugen Hoyos2015-09-04
| | | | The encoder produces valid and - if requested - lossless files.
* Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'Michael Niedermayer2015-07-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* avcodec: Add a min size parameter to ff_alloc_packet2()Michael Niedermayer2015-07-27
| | | | | | | | 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>
* avcodec/j2kenc: remove unused variableMichael Niedermayer2015-07-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/j2kenc: Enable yuv42x and yuv41x encoding.Carl Eugen Hoyos2015-07-06
| | | | | Fixes ticket #535. Fixes ticket #4524.
* avcodec/j2kenc: Support user specified tile dimensionsMichael Niedermayer2015-07-03
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavc/j2kenc: Make jp2 output compatible with Kakadu.Carl Eugen Hoyos2015-06-30
| | | | Fixes ticket #4689.
* avcodec/j2kenc: store libavcodec ident in a comment unless bitexact mode is usedMichael Niedermayer2015-06-30
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/jpeg2000: Remove CBLK limitMichael Niedermayer2015-06-26
| | | | | | | | | 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>
* avcodec/j2kenc: Use JP2 format by defaultMichael Niedermayer2015-06-19
| | | | | | | | Without the JP2 fields its not possible to identify the colorspace Fixes Ticket538 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: Support writing JP2 encapsulationMichael Niedermayer2015-06-19
| | | | | | The added option matches openjpeg Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: YUV should not use the ICTMichael Niedermayer2015-06-19
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: Properly flush the end of the truncated AC streamMichael Niedermayer2015-06-17
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: Use ret < 0 instead of ret != 0 for error checksMichael Niedermayer2015-05-16
| | | | | | This is how most code in FFmpeg checks for failures Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: Initialize variable to silence compiler warningsHimangi Saraogi2015-03-25
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: use av_malloc(z)_array()Michael Niedermayer2014-04-08
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/j2kenc: drop dependancy on sizeof(AVFrame)Michael Niedermayer2013-12-17
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* cosmetics: group remaining .name and .long_name.Clément Bœsch2013-10-04
| | | | See b2bed9325.
* jpeg2000: fix overflow in dequantizationMichael Niedermayer2013-07-13
| | | | | | | | 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>
* jpeg2000: Initialize only once mqc arraysNicolas Bertrand2013-07-12
| | | | | | Increases encoding and decoding speed Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k/jpeg2000dec: mergeMichael Niedermayer2013-05-31
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* jpeg2000/j2k: merge j2k/jpeg2000.c/hMichael Niedermayer2013-05-30
| | | | | | Now only j2kdec / jpeg2000dec.c remain Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k/jpeg2000: split data pointer in int & float.Michael Niedermayer2013-05-30
| | | | | | | | | | | | 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>
* j2k/jpeg2000: merge float DWT and related codeMichael Niedermayer2013-05-29
| | | | | | | | 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>
* j2k/jpeg2000: split stepsize in float & int variablesMichael Niedermayer2013-05-28
| | | | | | This is more clear and less prone to mistakes. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2kenc: Zero DWT struct on allocationMichael Niedermayer2013-05-28
| | | | | | Should fix fate Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k/jpeg2000: merge lowres codeMichael Niedermayer2013-05-28
| | | | | | This also fixes lowres use with ffplay Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k/jpeg2000: merge j2k & jpeg2000 dwts, drop j2k dwtMichael Niedermayer2013-05-27
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2kenc: Allow encoding with the 9/7 waveletMichael Niedermayer2013-05-27
| | | | | | Also add a fate test that tests 9/7 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k: change fixed point of stepsize to 16.16Michael Niedermayer2013-05-27
| | | | | | This seems more natural and matches jpeg2000 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k/jpeg2000: Partially merge quantization codeMichael Niedermayer2013-05-27
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* j2k: drop cblknx/y from Jpeg2000BandMichael Niedermayer2013-05-27
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>