Vittorio Giovara
4d33873c29
hevc: make pps/sps ids unsigned where necessary
...
Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
2014-03-09 17:23:08 +01:00
Michael Niedermayer
920c01adce
hevc: Use get_bits_long() in decode_vui()
...
Fix assertion failure.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-03-09 08:25:39 +01:00
Luca Barbato
175e506332
hevc: Mention the missing SPS in the error message
2014-02-19 16:59:40 +01:00
Luca Barbato
838740e642
hevc: Prevent some integer overflows
...
get_ue_golomb_long() returns an unsigned.
Sample-Id: 00001541-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-01-21 11:59:18 +01:00
Luca Barbato
b37e796082
hevc: Use uint64 to check for tile dimensions
...
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
2014-01-21 11:57:51 +01:00
Michael Niedermayer
a7a07cc98a
hevc: check that VPS referenced from SPS exists
...
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 >
2014-01-21 11:57:36 +01:00
Mickaël Raulet
5c3fa74b94
hevc: support luma bit depth != chroma bit depth for PCM coding units
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-12-20 19:39:53 +01:00
Guillaume Martres
78d0b7f36e
hevc: warn when an unknown profile is used
...
Bitstreams conforming to the spec should not use profiles not defined
in it.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-12-20 19:39:38 +01:00
Gildas Cocherel
259cddb137
hevc_ps: fix indentation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-12-20 19:39:10 +01:00
Gildas Cocherel
2d18aaa14b
hevc: refactor Profile Tier Level
...
Also store a few PTL flags which were skipped before
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-12-20 19:38:59 +01:00
Guillaume Martres
67bbaed5c4
hevc: don't check for errors in PTL code
...
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 >
2013-12-20 19:36:44 +01:00
Gildas Cocherel
33452aede6
hevc: store the VPS list as an AVBufferRef, just like the others *PS
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2013-12-11 20:39:54 +01:00
Yusuke Nakamura
3ef9b7ab95
hevc_ps: Use AV_PIX_FMT_YUVJ420P if YUV 4:2:0 8-bit full scale
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2013-11-04 16:19:53 +01:00
Jan Ekström
885ec92425
hevc: Use parsed VUI colorimetry in avcodec
...
Also limit the parsed VUI values to known valid ones.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2013-11-04 16:03:11 +01:00
Guillaume Martres
064698d381
Add HEVC decoder
...
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 >
2013-10-31 20:19:59 +01:00