022796c82f
avcodec/utvideodec: add support for UQY0
2020-02-25 13:09:20 +01:00
78c8a76536
avcodec/get_bits: unbreak get_bits_le() with cached reader
2019-04-19 13:58:54 +02:00
562f00ed07
avcodec/utvideodec: use cached bitstream reader everywhere except on x86_32
...
From 100x real-time decoding to 138x real-time decoding for 320x240 video.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2018-08-30 12:00:27 +02:00
47b7c68ae5
avcodec/utvideodec: Set pro flag based on fourcc
...
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 >
2018-04-01 02:58:51 +02:00
7414d0bda7
avcodec/utvideodec: Check subsample factors
...
Fixes: Out of array read
Fixes: heap_poc
Found-by: GwanYeong Kim <gy741.kim@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-02-27 12:23:23 +01:00
76cc0f0f67
avcodec/utvideodec: Add several out of array read related checks
...
Fixes: OV_decode_plane.avi
Found-by: GwanYeong Kim <gy741.kim@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-02-11 03:04:48 +01:00
118e1b0b33
avcodec/utvideodec: Fix bytes left check in decode_frame()
...
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 >
2018-02-05 02:54:02 +01:00
92b32664cd
avcodec/utvideodec: add support for UMH2, UMY2, UMH4, UMY4, UMRA, UMRG
...
These are new modes which are supposed to be more SIMD friendly.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2018-01-02 13:41:49 +01:00
f2e9156eb6
avcodec/utvideodec : use gradient_pred dsp in interlace decoding
2017-12-19 20:55:08 +01:00
630967ef63
avcodec/utvideodec : add SIMD (SSSE3 and AVX2) for gradient_pred
2017-12-09 15:19:03 +01:00
9e1c9633cc
avcodec/utvideodec : use dsp add_median_pred for second line
...
process start of the line in scalar, before call dsp
(dsp need align 16)
2017-12-09 15:11:12 +01:00
9c71473189
libavcodec/utvideo : simplify decode_plane
...
the func is only call with step = 1
no need to pass it in the func
2017-11-07 00:51:17 +01:00
b428d445a8
Merge commit '7c25523cc8e618e77dc84d960e41e9644eaf8c33'
...
* commit '7c25523cc8e618e77dc84d960e41e9644eaf8c33':
utvideodec: Fix decoding odd sizes with interlaced video with some formats
See 9ef21a897c
Merged-by: James Almer <jamrial@gmail.com >
2017-10-30 14:25:15 -03:00
850c6db97d
avcodec/utvideodec: Factor multiply out of inner loop
...
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 >
2017-06-28 14:08:21 +02:00
5eb4701b7d
avcodec/utvideodec: bswap directly without memcpy
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
676a589c93
avcodec/utvideodec: enable unchecked bitreader
...
inner reader loop becomes 16% faster
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
9c604b34d4
avcodec/utvideodec: hardcode vlc bits
...
2.5% faster vlc decoding
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-06-28 14:08:21 +02:00
1835c5e7a4
avcodec/utvideodec: Move bitstream end check out of inner loop
...
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 >
2017-06-28 14:08:21 +02:00
4ed7c2bbc3
avcodec/utvideodec: add SIMD for restore_rgb_planes
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-06-27 09:54:10 +02:00
3594788b71
avcodec/utvideodec: decode to GBR(A)P
...
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 >
2017-06-26 20:11:58 +02:00
7c25523cc8
utvideodec: Fix decoding odd sizes with interlaced video with some formats
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-04-25 00:38:07 +02:00
4925537004
avcodec/utvideodec: fix gradient prediction when stride does not match width
...
Fixes #6340 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-04-21 21:46:00 +02:00
9ef21a897c
avcodec/utvideodec: fix decoding odd sizes with interlaced video with some formats
...
Fixes #6316 .
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-04-21 12:55:30 +02:00
378460fef1
utvideodec: Support for gradient prediction
...
Introduced with utvideo 18.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-04-15 15:37:18 +02:00
9227bd8ac2
utvideodec: Reuse the huffyuv add_left
...
~10% faster when simd is available.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-04-15 15:37:18 +02:00
4f33d9d41a
utvideodec: Support ULY4 and ULH4
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-04-15 15:37:18 +02:00
a93faf30d6
utvideodec: Support UQRA and UQRG
2017-04-15 15:37:18 +02:00
c523095564
utvideodec: Support UQY2
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-04-13 14:09:07 +02:00
1fe858136b
utvideodec: Prevent possible signed overflow
...
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 >
2017-04-13 13:37:10 +02:00
faa94a576f
avcodec/utvideodec: add support for gradient prediction
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-04-07 20:11:23 +02:00
eed8ccde3e
Merge commit '131a85a1fed9966bbd38517f76abfac0237e39dc'
...
* commit '131a85a1fed9966bbd38517f76abfac0237e39dc':
utvideo: Change type of array stride parameters to ptrdiff_t
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-20 11:33:48 +01:00
bc25897630
utvideodec: Add a missing include
...
This was missing from 77c23704c7
, fixing building.
Signed-off-by: Martin Storsjö <martin@martin.st >
2017-02-10 09:31:49 +02:00
77c23704c7
avcodec: Mark some codecs with threadsafe init as such
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2017-02-09 23:28:18 +01:00
91ed4e7196
avcodec: Mark some codecs with threadsafe init as such
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-07 23:31:25 +01:00
a25dac976a
Use bitstream_init8() where appropriate
2017-02-07 18:27:21 +01:00
47f212329e
huffyuvdsp: move functions only used by huffyuv from lossless_videodsp
...
Signed-off-by: James Almer <jamrial@gmail.com >
2017-01-12 22:53:05 -03:00
5ac1dd8e23
lossless_videodsp: move shared functions from huffyuvdsp
...
Several codecs other than huffyuv use them.
Signed-off-by: James Almer <jamrial@gmail.com >
2017-01-12 22:53:04 -03:00
68e5598e22
avcodec/utvideo: fix mistake using wrong arguments for left and lefttop pixel components
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-12-24 10:59:26 +01:00
ea93052db3
avcodec/utvideodec: add SIMD support for median prediction for planar formats
...
~10% faster overall.
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-12-23 17:44:01 +01:00
104a4289f9
utvideodec: Convert to the new bitstream reader
2016-11-24 11:22:12 +01:00
131a85a1fe
utvideo: Change type of array stride parameters to ptrdiff_t
...
ptrdiff_t is the correct type for array strides and similar.
2016-09-08 13:51:30 +02:00
c62cb9bf5a
avcodec/utvideodec: add support for ULY4 and ULH4
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-09-04 01:57:50 +02:00
84efdabc94
avcodec/utvideodec: add support for UQRG and UQRA formats
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-06-12 01:07:23 +02:00
3ecc59bc35
avcodec/utvideodec: fix multiple slices for UQY2 and other issues
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-06-11 21:31:49 +02:00
115e63c8d6
avcodec/utvideo: add support for UQY2
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2016-06-11 18:36:39 +02:00
e86444b19d
lavc/utvideodec: prevent possible signed overflow
...
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 >
2016-02-23 20:37:11 -05: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
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:59 +01:00
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