summaryrefslogtreecommitdiffstats
path: root/libavcodec/vp9.c
Commit message (Collapse)AuthorAgeFilesLines
* vp9: only call ff_get_format on stream format changes.Ronald S. Bultje2016-02-131-25/+35
| | | | | | In practice, this means we don't call it N times for N-threaded decoding. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc: add vp9 profiles to AVCodecDescriptorHendrik Leppkes2016-01-011-9/+2
|
* vaapi: Add VP9 hwaccell supportTimo Rothenpieler2015-12-221-1/+4
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec: implement vp9 dxva2 hwaccelHendrik Leppkes2015-12-071-1/+10
|
* vp9: add hwaccel hooksHendrik Leppkes2015-12-071-37/+91
|
* vp9: fix pixel format changes with threadingHendrik Leppkes2015-12-071-1/+2
|
* vp9: always keep s->bytesperpixel and ctx->pix_fmt in sync.Ronald S. Bultje2015-12-021-21/+22
| | | | Fixes mozilla bug 1229128.
* vp9: uses ff_set_dimensions (which sets coded_width/height).Ronald S. Bultje2015-10-241-3/+3
| | | | Fixes ticket 4935.
* vp9: use AVFrame.buf[0] to check if a frame is validHendrik Leppkes2015-10-161-23/+23
| | | | AVFrame.data[0] is not guaranteed to be set with a HWAccel
* vp9: expose reference frames in VP9SharedContextHendrik Leppkes2015-10-151-113/+96
|
* vp9: split header into separate struct and expose in vp9.hRonald S. Bultje2015-10-151-397/+320
| | | | This allows hwaccels to access the bitstream header information.
* avcodec: use HAVE_THREADS header guards to silence -Wunused-functionGanesh Ajjanagadde2015-10-041-0/+2
| | | | | | | | | | When compiled with --disable-pthreads, e.g http://fate.ffmpeg.org/report.cgi?time=20150917015044&slot=alpha-debian-qemu-gcc-4.7, a bunch of -Wunused-functions are reported due to missing header guards around threading related functions. This patch should silence such warnings. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* vp9: switch min_tile_cols location so it shifts up instead of down.Ronald S. Bultje2015-09-151-1/+1
| | | | | | This fixes cases where the shifted number is 64, but we shifted non- zero numbers away in the shift. The change makes behaviour consistent with libvpx.
* vp9: Fix emu[] edge overflow conditions for >8bpp/non-420.Ronald S. Bultje2015-09-121-2/+2
|
* vp9: re-initialize internal buffers on bpp change also.Ronald S. Bultje2015-09-121-1/+2
|
* vp9: fix overflow in 8x8 topleft 32x32 idct ssse3 version.Ronald S. Bultje2015-09-101-1/+1
| | | | | | | | | Also disable the mmx/iwht optimization when the bitexact flag is set. With synthetically coded coefficients (i.e. these that lead to a residual well outside the [-255,255] range), our optimizations will overflow. It doesn't make sense to fix the overflows, since they can only occur on synthetic input, not on real fwht-generated input. Thus, add a bitexact flag that disables this optimization.
* vp9: permanently delete segmentation refmap on any size change.Ronald S. Bultje2015-09-101-12/+7
|
* vp9: check return value of ff_thread_ref_frame().Ronald S. Bultje2015-09-051-1/+3
| | | | Fixes CID 1322309.
* vp9: fix edge copy for 10/12bpp frames.Ronald S. Bultje2015-09-051-8/+8
|
* vp9: do unscaled MC in scaled path if size of this reference matches.Ronald S. Bultje2015-09-051-102/+117
| | | | | This can happen if we do bidirectional MC, where one reference has the same size as the current frame, but the other one doesn't.
* vp9: sync segmentation.absolute_vals between threads.Ronald S. Bultje2015-09-051-0/+1
|
* vp9: always sync segmentation.feat between threads.Ronald S. Bultje2015-09-051-4/+2
|
* vp9: don't erase values for {lf,ref,skip,q}_enabled if segmentation=0.Ronald S. Bultje2015-09-041-10/+5
| | | | Instead, use segmentation.enabled before accessing each of these values.
* vp9: fix segmentation map retention across keyframe boundaries.Ronald S. Bultje2015-09-041-3/+3
|
* vp9: fix RGB chroma subsampling.Ronald S. Bultje2015-09-041-1/+1
|
* vp9: read reserved bit in RGB header.Ronald S. Bultje2015-09-041-0/+4
|
* vp9: clip intermediates in dequant calculations.Ronald S. Bultje2015-09-041-2/+2
| | | | This makes values consistent with libvpx.
* vp9: fix segmentation map retention if segmentation is turned off.Ronald S. Bultje2015-09-041-2/+4
|
* vp9: use resetctx in the same way as libvpx.Ronald S. Bultje2015-09-041-1/+5
|
* vp9: fix indentation.Ronald S. Bultje2015-09-041-1/+1
|
* vp9: deal with the case where update_map=0 but we're key/intraonly.Ronald S. Bultje2015-09-041-1/+2
|
* vp9: reset segmentation information on context reset.Ronald S. Bultje2015-09-041-0/+1
|
* Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-271-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-271-1/+1
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * vp9: Parse subsampling and report missing featureVittorio Giovara2015-05-311-1/+23
| |
* | lavc: Add properties field to AVCodecContext.Carl Eugen Hoyos2015-07-161-0/+2
| | | | | | | | The new field can hold information about losslessness and closed captions for now.
* | vp9/update_prob: prevent out of bounds table readJames Zern2015-06-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | the max value of the lookup in expanded form is: (((1 << 7) - 1) << 1) - 65 + 1 + 64 = 254 add one entry of padding to inv_map_table[] to prevent out of bounds access with non-conforming / fuzzed bitstreams Signed-off-by: James Zern <jzern@google.com> Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vp9: fix profile check for intraonly frames.Ronald S. Bultje2015-06-251-1/+1
| | | | | | | | | | Reviewed-by: James Zern <jzern@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vp9: don't retain NULL as segmentation_mapAndreas Cadhalpun2015-06-191-1/+2
| | | | | | | | | | | | | | | | This fixes segmentation faults, which were introduced in commit 4ba8f327. Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | doc: avoid incorrect phrase 'allows to'Andreas Cadhalpun2015-06-161-1/+1
| | | | | | | | | | | | | | | | Also fix typo found by Lou Logan: Sacrifying -> Sacrificing Reviewed-by: Lou Logan <lou@lrcd.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | vp9: change type of tile_size from unsigned to int64_tAndreas Cadhalpun2015-06-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise the check 'tile_size < size' treats a negative size as unsigned, causing the check to pass. This subsequently leads to segmentation faults. This was originally fixed as part of Libav commit 72ca83, so the original author is one of the following developers: Anton Khirnov <anton@khirnov.net> Diego Biurrun <diego@biurrun.de> Luca Barbato <lu_zero@gentoo.org> Martin Storsjö <martin@martin.st> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | vp9: clamp final zero MV if find_ref_mvs() found no suitable candidates.Ronald S. Bultje2015-06-011-0/+1
| | | | | | | | | | | | This may actually result in a non-zero MV. Fixes ticket 4583. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'rbultje/vp9-bugfixes'Michael Niedermayer2015-05-181-46/+112
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rbultje/vp9-bugfixes: vp9: match another find_ref_mvs() bug in libvpx. vp9: fix scaled motion vector clipping for sub8x8 blocks. vp9: improve signbias check. vp9: don't allow compound references if error_resilience is enabled. vp9: clamp segmented lflvl before applying ref/mode deltas. vp9: reset loopfilter mode/ref deltas on keyframe. vp9: fix crash when playing back 440/440 content with width%64<56. vp9: extend loopfilter workaround for vp9 h/v mix-up to work for 422. vp9: clip motion vectors in the same way as libvpx does. vp9: set skip flag if the block had no coded coefficients. vp9: apply mv scaling workaround only when subsampling is enabled. vp9: read all 4x4 blocks in sub8x8 blocks individually with scalability. vp9: fix segmentation map referencing upon framesize change. vp9: disable more pmulhrsw optimizations in idct16/32. vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * | vp9: match another find_ref_mvs() bug in libvpx.Ronald S. Bultje2015-05-161-10/+20
| | | | | | | | | | | | | | | | | | | | | If we find a second non-sub8x8 motion vector for a non-first sub8x8 block, and the clamped value is identical to the first non-sub8x8 motion vector, then the resulting nearmv motion vector is forced to zero.
| * | vp9: fix scaled motion vector clipping for sub8x8 blocks.Ronald S. Bultje2015-05-161-12/+16
| | | | | | | | | | | | To match the obscure clipping bug behaviour in libvpx.
| * | vp9: improve signbias check.Ronald S. Bultje2015-05-151-5/+4
| | | | | | | | | | | | | | | Otherwise it will still scale motion vectors, which leads to corrupted prediction.
| * | vp9: don't allow compound references if error_resilience is enabled.Ronald S. Bultje2015-05-151-2/+3
| | | | | | | | | | | | | | | | | | libvpx (probably accidentally) clears the bits if error_res is set, along with keyframe/intraonly. This probably wasn't the intention (since it's local data), but it's behaviour we have to copy...
| * | vp9: clamp segmented lflvl before applying ref/mode deltas.Ronald S. Bultje2015-05-151-2/+2
| | |
| * | vp9: reset loopfilter mode/ref deltas on keyframe.Ronald S. Bultje2015-05-151-0/+9
| | |
| * | vp9: fix crash when playing back 440/440 content with width%64<56.Ronald S. Bultje2015-05-151-1/+1
| | |
OpenPOWER on IntegriCloud