summaryrefslogtreecommitdiff
path: root/libavcodec/hevc.h
Commit message (Collapse)AuthorAge
* hevc_parse: rename into h2645_parseAnton Khirnov2016-03-28
| | | | This code will be shared with h264.
* hevc: Track long and short term RPS size for VDPAUPhilip Langdale2016-02-13
| | | | | | | | | | | | | | | | Today, we track the short term RPS size for DXVA, but only if the SliceHeader RPS is being used. Otherwise it's left uninitialized. NVIDIA's VDPAU implementation requires that the size be accurately tracked even if an SPS RPS is being used. In this case, it's really counting the size of the RPS idx information, but you end up with mangled output if the value is not accurate. VDPAU also needs the size of the long term RPS. Signed-off-by: Philip Langdale <philipl@overt.org> Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dxva2_hevc: properly signal the num_delta_pocs from the SPS RPSHendrik Leppkes2016-02-13
| | | | | | | | | ucNumDeltaPocsOfRefRpsIdx needs to contain the flat value from the SPS RPS, and not the final computed value from the slice header RPS, as this calculation is done internally by the driver again. Sample-Id: http://trailers.divx.com/hevc/Sintel_4k_27qp_24fps_1aud_9subs.mkvi Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
* hevcdsp: add x86 SIMD for MCAnton Khirnov2015-12-05
|
* hevc: move splitting the packet into NALUs into a separate functionAnton Khirnov2015-07-12
| | | | | 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-12
| | | | | | | 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-12
| | | | | | 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-08
|
* hevc: split bitstream unescaping to a separate fileAnton Khirnov2015-07-08
| | | | 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-08
| | | | | 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-21
|
* hevc: add hwaccel hooksHendrik Leppkes2015-01-27
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: store the short term rps flag and size in the contextHendrik Leppkes2015-01-27
| | | | | | For future use by hardware accelerators. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: store the escaped/raw bitstream in HEVCNALHendrik Leppkes2015-01-27
| | | | | | 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-17
| | | | It does not need to be accessed outside of hls_coding_unit().
* hevc: do not store pcm_flag in the contextAnton Khirnov2014-11-17
| | | | It does not need to be accessed outside of hls_coding_unit().
* hevc: use intreadwriteChristophe Gisquet2014-08-12
| | | | | | 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-09
| | | | | 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-28
| | | | Replace it by passing an additional parameter to transform_unit()
* hevc: eliminate unnecessary cbf_c{b,r} arraysAnton Khirnov2014-07-28
| | | | | 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-28
| | | | It does not need to be preserved.
* hevc: eliminate an unnecessary arrayAnton Khirnov2014-07-28
| | | | We do not need to store the value of the split flag.
* hevc: parse display orientation SEI messageVittorio Giovara2014-07-09
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: remove unused array min_cb_addr_zsGildas Cocherel2014-06-26
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dsputil: Split bswap*_buf() off into a separate contextDiego Biurrun2014-06-22
|
* hevc: templatize intra_predAnton Khirnov2014-05-19
|
* hevc: make pps/sps ids unsigned where necessaryVittorio Giovara2014-03-09
| | | | | 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-04
| | | | | | | | | | 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-21
| | | | | | | | 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-21
| | | | | | | | | | 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-21
| | | | | | | 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-09
| | | | | | | 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-22
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: support luma bit depth != chroma bit depth for PCM coding unitsMickaël Raulet2013-12-20
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: refactor Profile Tier LevelGildas Cocherel2013-12-20
| | | | | | 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-11
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: parse frame packing arrangement SEI messages and save relevant ↵Vittorio Giovara2013-12-09
| | | | stereo3d information
* Add HEVC decoderGuillaume Martres2013-10-31
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>