summaryrefslogtreecommitdiff
path: root/libavcodec/utvideodec.c
Commit message (Collapse)AuthorAge
* avcodec/utvideodec: Fix integer overflow in decode_plane()Michael Niedermayer2020-05-12
| | | | | | | | Fixes: signed integer overflow: 2147483594 + 142 cannot be represented in type 'int' Fixes: 20492/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_UTVIDEO_fuzzer-5658568101724160 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: add support for UQY0Paul B Mahol2020-02-25
|
* avcodec/get_bits: unbreak get_bits_le() with cached readerPaul B Mahol2019-04-19
|
* avcodec/utvideodec: use cached bitstream reader everywhere except on x86_32Paul B Mahol2018-08-30
| | | | | | From 100x real-time decoding to 138x real-time decoding for 320x240 video. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/utvideodec: Set pro flag based on fourccMichael Niedermayer2018-04-01
| | | | | | | | | | This avoids mixing 8bit variants with pro and 10bit with non pro mode. Fixes: out of array read Fixes: poc_03_30.avi Found-by: GwanYeong Kim <gy741.kim@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: Check subsample factorsMichael Niedermayer2018-02-27
| | | | | | | | Fixes: Out of array read Fixes: heap_poc Found-by: GwanYeong Kim <gy741.kim@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: Add several out of array read related checksMichael Niedermayer2018-02-11
| | | | | | | Fixes: OV_decode_plane.avi Found-by: GwanYeong Kim <gy741.kim@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: Fix bytes left check in decode_frame()Michael Niedermayer2018-02-05
| | | | | | | | Fixes: out of array read Fixes: poc-2017.avi Found-by: GwanYeong Kim <gy741.kim@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/utvideodec: add support for UMH2, UMY2, UMH4, UMY4, UMRA, UMRGPaul B Mahol2018-01-02
| | | | | | These are new modes which are supposed to be more SIMD friendly. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/utvideodec : use gradient_pred dsp in interlace decodingMartin Vignali2017-12-19
|
* avcodec/utvideodec : add SIMD (SSSE3 and AVX2) for gradient_predMartin Vignali2017-12-09
|
* avcodec/utvideodec : use dsp add_median_pred for second lineMartin Vignali2017-12-09
| | | | | process start of the line in scalar, before call dsp (dsp need align 16)
* libavcodec/utvideo : simplify decode_planeMartin Vignali2017-11-07
| | | | | the func is only call with step = 1 no need to pass it in the func
* Merge commit '7c25523cc8e618e77dc84d960e41e9644eaf8c33'James Almer2017-10-30
|\ | | | | | | | | | | | | | | | | * commit '7c25523cc8e618e77dc84d960e41e9644eaf8c33': utvideodec: Fix decoding odd sizes with interlaced video with some formats See 9ef21a897c64417a0575cbc6fad6222f3163d103 Merged-by: James Almer <jamrial@gmail.com>
| * utvideodec: Fix decoding odd sizes with interlaced video with some formatsPaul B Mahol2017-04-25
| | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * utvideodec: Support for gradient predictionPaul B Mahol2017-04-15
| | | | | | | | | | | | | | Introduced with utvideo 18. Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * utvideodec: Reuse the huffyuv add_leftPaul B Mahol2017-04-15
| | | | | | | | | | | | | | ~10% faster when simd is available. Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * utvideodec: Support ULY4 and ULH4Paul B Mahol2017-04-15
| | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * utvideodec: Support UQRA and UQRGPaul B Mahol2017-04-15
| |
| * utvideodec: Support UQY2Paul B Mahol2017-04-13
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * utvideodec: Prevent possible signed overflowGanesh Ajjanagadde2017-04-13
| | | | | | | | | | | | | | | | | | Doing slice_end - slice_start is unsafe and can lead to undefined behavior until slice_end has been properly sanitized. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * utvideodec: Add a missing includeMartin Storsjö2017-02-10
| | | | | | | | | | | | This was missing from 77c23704c76, fixing building. Signed-off-by: Martin Storsjö <martin@martin.st>
| * avcodec: Mark some codecs with threadsafe init as suchDerek Buitenhuis2017-02-09
| | | | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * Use bitstream_init8() where appropriateDiego Biurrun2017-02-07
| |
| * utvideodec: Convert to the new bitstream readerAlexandra Hájková2016-11-24
| |
* | avcodec/utvideodec: Factor multiply out of inner loopMichael Niedermayer2017-06-28
| | | | | | | | | | | | | | | | 0.5% faster loop Reviewed-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/utvideodec: bswap directly without memcpyMichael Niedermayer2017-06-28
| | | | | | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/utvideodec: enable unchecked bitreaderMichael Niedermayer2017-06-28
| | | | | | | | | | | | | | inner reader loop becomes 16% faster Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/utvideodec: hardcode vlc bitsMichael Niedermayer2017-06-28
| | | | | | | | | | | | | | 2.5% faster vlc decoding Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/utvideodec: Move bitstream end check out of inner loopMichael Niedermayer2017-06-28
| | | | | | | | | | | | | | | | | | This is not needed when the buffer is large enough for the worst case of a line 2% faster vlc reading Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/utvideodec: add SIMD for restore_rgb_planesPaul B Mahol2017-06-27
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: decode to GBR(A)PPaul B Mahol2017-06-26
| | | | | | | | | | | | | | | | | | | | | | This is actually internal utvideo format. Allows to make use of SIMD for median prediction for rgb(a) formats, thus speeding up decoding. Simplifies code, eases further developement and maintenance. Update FATE because of pixel format switch. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: fix gradient prediction when stride does not match widthPaul B Mahol2017-04-21
| | | | | | | | | | | | Fixes #6340. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: fix decoding odd sizes with interlaced video with some ↵Paul B Mahol2017-04-21
| | | | | | | | | | | | | | | | formats Fixes #6316. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: add support for gradient predictionPaul B Mahol2017-04-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge commit '131a85a1fed9966bbd38517f76abfac0237e39dc'Clément Bœsch2017-03-20
|\| | | | | | | | | | | | | * commit '131a85a1fed9966bbd38517f76abfac0237e39dc': utvideo: Change type of array stride parameters to ptrdiff_t Merged-by: Clément Bœsch <u@pkh.me>
| * utvideo: Change type of array stride parameters to ptrdiff_tDiego Biurrun2016-09-08
| | | | | | | | ptrdiff_t is the correct type for array strides and similar.
* | avcodec: Mark some codecs with threadsafe init as suchDerek Buitenhuis2017-02-07
| | | | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | huffyuvdsp: move functions only used by huffyuv from lossless_videodspJames Almer2017-01-12
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | lossless_videodsp: move shared functions from huffyuvdspJames Almer2017-01-12
| | | | | | | | | | | | Several codecs other than huffyuv use them. Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/utvideo: fix mistake using wrong arguments for left and lefttop ↵Paul B Mahol2016-12-24
| | | | | | | | | | | | pixel components Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: add SIMD support for median prediction for planar formatsPaul B Mahol2016-12-23
| | | | | | | | | | | | ~10% faster overall. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: add support for ULY4 and ULH4Paul B Mahol2016-09-04
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: add support for UQRG and UQRA formatsPaul B Mahol2016-06-12
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideodec: fix multiple slices for UQY2 and other issuesPaul B Mahol2016-06-11
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/utvideo: add support for UQY2Paul B Mahol2016-06-11
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | lavc/utvideodec: prevent possible signed overflowGanesh Ajjanagadde2016-02-23
| | | | | | | | | | | | | | | | Doing slice_end - slice_start is unsafe and can lead to undefined behavior until slice_end has been properly sanitized. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanag@gmail.com>
* | 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>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | 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>