summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc.h
Commit message (Collapse)AuthorAgeFilesLines
* hevcdsp: add x86 SIMD for MCAnton Khirnov2015-12-051-1/+1
|
* hevc: move splitting the packet into NALUs into a separate functionAnton Khirnov2015-07-121-3/+14
| | | | | This function is independent of the decoding context, so we'll be able to use it in the parser.
* hevc: eliminate the second call to hls_nal_unit()Anton Khirnov2015-07-121-0/+5
| | | | | | | Also, make hls_nal_unit() work only on the provided NAL unit, without requiring a whole decoding context. This will allow splitting this code for reuse by the parser.
* hevc: remove HEVCContext usage from hevc_psAnton Khirnov2015-07-121-9/+18
| | | | | | Factor out the parameter sets into a separate struct and use it instead. This will allow us to reuse this code in the parser.
* lavc: add Intel libmfx-based HEVC encoderAnton Khirnov2015-07-081-0/+3
|
* hevc: split bitstream unescaping to a separate fileAnton Khirnov2015-07-081-0/+6
| | | | It will be useful in the QSV HEVC encoder.
* hevc_ps: split the code for parsing the SPS and exporting it into the contextAnton Khirnov2015-07-081-2/+15
| | | | | This will be useful in the later commits, where we want to parse an SPS without having a whole decoding context.
* hevc: make the crop sizes unsignedAnton Khirnov2015-03-211-4/+4
|
* hevc: add hwaccel hooksHendrik Leppkes2015-01-271-0/+3
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: store the short term rps flag and size in the contextHendrik Leppkes2015-01-271-0/+2
| | | | | | For future use by hardware accelerators. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: store the escaped/raw bitstream in HEVCNALHendrik Leppkes2015-01-271-0/+3
| | | | | | Hardware Accelerators require access to the escaped bitstream. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: do not store rqt_root_cbf in the contextAnton Khirnov2014-11-171-2/+0
| | | | It does not need to be accessed outside of hls_coding_unit().
* hevc: do not store pcm_flag in the contextAnton Khirnov2014-11-171-2/+0
| | | | It does not need to be accessed outside of hls_coding_unit().
* hevc: use intreadwriteChristophe Gisquet2014-08-121-1/+1
| | | | | | When dealing with MVs, both components may be processed at a time. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: deobfuscate slice/tile boundary handling for DBFAnton Khirnov2014-08-091-5/+8
| | | | | Use named constants instead of magic numbers, avoid using variables with inverse meaning from what their name implies.
* hevc: eliminate the last element from TransformTreeAnton Khirnov2014-07-281-5/+0
| | | | Replace it by passing an additional parameter to transform_unit()
* hevc: eliminate unnecessary cbf_c{b,r} arraysAnton Khirnov2014-07-281-3/+0
| | | | | They are replaced by passing additional parameters to the transform functions.
* hevc: do not store the transform inter_split flag in the contextAnton Khirnov2014-07-281-3/+0
| | | | It does not need to be preserved.
* hevc: eliminate an unnecessary arrayAnton Khirnov2014-07-281-1/+0
| | | | We do not need to store the value of the split flag.
* hevc: parse display orientation SEI messageVittorio Giovara2014-07-091-0/+5
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: remove unused array min_cb_addr_zsGildas Cocherel2014-06-261-1/+0
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dsputil: Split bswap*_buf() off into a separate contextDiego Biurrun2014-06-221-2/+2
|
* hevc: templatize intra_predAnton Khirnov2014-05-191-2/+1
|
* hevc: make pps/sps ids unsigned where necessaryVittorio Giovara2014-03-091-1/+1
| | | | | Fixes integer overflow and out of array accesses. Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
* hevc: check that the VCL NAL types are the same for all slice segments of a ↵Anton Khirnov2014-02-041-0/+2
| | | | | | | | | | frame Fixes possible invalid memory access for mismatching skipped/non-skipped slice segments. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Sample-Id: 00001533-google
* hevc: Prevent some integer overflowsLuca Barbato2014-01-211-2/+2
| | | | | | | | get_ue_golomb_long() returns an unsigned. Sample-Id: 00001541-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* hevc: Use uint64 to check for tile dimensionsLuca Barbato2014-01-211-4/+4
| | | | | | | | | | And use unsigned datatypes. Otherwise it would overflow. Sample-Id: 00001315-google Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* hevc: Fix modulo operationsMichael Niedermayer2014-01-211-0/+3
| | | | | | | Keep qp fields within the range. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: fix decoding of one PU wide filesGuillaume Martres2014-01-091-2/+4
| | | | | | | For those the block size may be larger than the source linesize (if the edges are not allocated). Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: move DSP declarations from hevc.h into hevcdsp.hGuillaume Martres2013-12-221-81/+1
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: support luma bit depth != chroma bit depth for PCM coding unitsMickaël Raulet2013-12-201-0/+1
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: refactor Profile Tier LevelGildas Cocherel2013-12-201-11/+14
| | | | | | Also store a few PTL flags which were skipped before Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: store the VPS list as an AVBufferRef, just like the others *PSGildas Cocherel2013-12-111-1/+1
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: parse frame packing arrangement SEI messages and save relevant ↵Vittorio Giovara2013-12-091-0/+6
| | | | stereo3d information
* Add HEVC decoderGuillaume Martres2013-10-311-0/+1066
Initially written by Guillaume Martres <smarter@ubuntu.com> as a GSoC project. Further contributions by the OpenHEVC project and other developers, namely: Mickaël Raulet <mraulet@insa-rennes.fr> Seppo Tomperi <seppo.tomperi@vtt.fi> Gildas Cocherel <gildas.cocherel@laposte.net> Khaled Jerbi <khaled_jerbi@yahoo.fr> Wassim Hamidouche <wassim.hamidouche@insa-rennes.fr> Vittorio Giovara <vittorio.giovara@gmail.com> Jan Ekström <jeebjp@gmail.com> Anton Khirnov <anton@khirnov.net> Martin Storsjö <martin@martin.st> Luca Barbato <lu_zero@gentoo.org> Yusuke Nakamura <muken.the.vfrmaniac@gmail.com> Reimar Döffinger <Reimar.Doeffinger@gmx.de> Diego Biurrun <diego@biurrun.de> Signed-off-by: Anton Khirnov <anton@khirnov.net>
OpenPOWER on IntegriCloud