summaryrefslogtreecommitdiff
path: root/libavcodec/hevc_ps.c
Commit message (Collapse)AuthorAge
* 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>
* lavc: AV-prefix all codec flagsVittorio Giovara2015-07-27
| | | | | | Convert doxygen to multiline and express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: Split the struct setup from the pps parsingLuca Barbato2015-07-15
|
* hevc: Print the non-supported chroma_format_idcLuca Barbato2015-07-13
| | | | | | And drop the spurious newline. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: Factor out the pixel format mapping from the sps parserLuca Barbato2015-07-13
| | | | | | The function will grow larger as more formats are supported. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc_ps: make sure failing to decode an SPS always returns an errorAnton Khirnov2015-07-13
| | | | | Some of the goto err clauses do not set the error code. It seems better to fall back on INVALIDDATA instead of adding it everywhere explicitly.
* 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.
* 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 sure no dangling pointers remain around on VPS/SPS changeAnton Khirnov2015-04-03
|
* hevc: do not change the VPS if its contents are the sameAnton Khirnov2015-04-03
| | | | This is the same as is done for SPS.
* hevc: zero the correct variables on invalid crop parametersAnton Khirnov2015-03-21
| | | | | It's the output_window that is applied to the output frame, not pic_conf_win
* hevc_ps: remove a write-only variableAnton Khirnov2014-07-11
|
* hevc: remove unused array min_cb_addr_zsGildas Cocherel2014-06-26
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc: Allow out of bound values for num_reorder_picsKieran Kunhya2014-06-26
| | | | | | This fixes decoding for a sample that cannot be shared Signed-off-by: Anton Khirnov <anton@khirnov.net>
* 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: Use get_bits_long() in decode_vui()Michael Niedermayer2014-03-09
| | | | | Fix assertion failure. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* hevc: Mention the missing SPS in the error messageLuca Barbato2014-02-19
|
* 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: check that VPS referenced from SPS existsMichael Niedermayer2014-01-21
| | | | | | | | This matches how its done for SPS/PPS. Fixes null pointer dereference. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind 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: warn when an unknown profile is usedGuillaume Martres2013-12-20
| | | | | | | Bitstreams conforming to the spec should not use profiles not defined in it. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hevc_ps: fix indentationGildas Cocherel2013-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: don't check for errors in PTL codeGuillaume Martres2013-12-20
| | | | | | | According to the spec, the value of XXX_reserved_zero_44bits should be ignored, so don't report an error when it's not zero. 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_ps: Use AV_PIX_FMT_YUVJ420P if YUV 4:2:0 8-bit full scaleYusuke Nakamura2013-11-04
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* hevc: Use parsed VUI colorimetry in avcodecJan Ekström2013-11-04
| | | | | | Also limit the parsed VUI values to known valid ones. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* 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>