Anton Khirnov
b11acd5732
hevc: remove HEVCContext usage from hevc_ps
...
Factor out the parameter sets into a separate struct and use it instead.
This will allow us to reuse this code in the parser.
2015-07-12 18:15:39 +02:00
Peter Meerwald
eea769df32
hevc: Use generic av_clip function, not C implementation
...
hevc seems to be the only place where the C implementation
of the av_clip function is explicitly selected, precluding
platform-specific optimizations
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2015-02-13 08:37:13 +01:00
Vittorio Giovara
9e9be5a20c
hevc_mvs: prevent unitialized use
...
CC: libav-stable@libav.org
Bug-Id: CID 1244202
2014-11-11 11:49:47 +01:00
Anton Khirnov
d208d1eba3
hevc_mvs: make sure to always initialize the temporal MV fully
...
The spec requires this.
Fixes uninitialized reads on some samples.
Remove now unnecessary initialization of the whole merge candidate list.
2014-10-07 07:13:01 +00:00
Anton Khirnov
79a60c8e77
hevc_mvs: initialize the temporal MV in case of missing ref
...
The caller expects the MV to always be initialized.
2014-10-07 07:12:55 +00:00
Luca Barbato
e3a00acde0
hevc: Initialize mergecand_list to 0
...
Unbreak cf6090dc62
.
CC: libav-stable@libav.org
Sample-Id: hevc-conformance-LTRPSPS_A_Qualcomm_1
2014-09-29 12:33:46 +01:00
Christophe Gisquet
3187fa14a3
hevc_mvs: avoid deriving tmvp in amvp
...
Reduces the number of calls to tmvp derivation from 933685 to 586271 on
a sequence.
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-08-12 10:13:43 +00:00
Christophe Gisquet
14ca0aa69b
hevc: wait proper position for tmvp
...
The position is either rounded or not checked, so delay the wait to
check the proper value.
Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-08-12 10:13:21 +00:00
Christophe Gisquet
cf6090dc62
hevc: use intreadwrite
...
When dealing with MVs, both components may be processed at a time.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-08-12 10:03:20 +00:00
Christophe Gisquet
ed53cc217f
hevc: derive partial merge list
...
The merge list only needs to be derived up to the merge index.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-08-12 09:59:30 +00:00
Christophe Gisquet
3505b19652
hevc: derive partially amvp list
...
When the candidate has been found, no need to derive others.
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-08-12 09:58:14 +00:00
Christophe Gisquet
09182b3224
hevc: simplify rounding
...
Signed-off-by: Anton Khirnov <anton@khirnov.net >
2014-08-12 09:57:25 +00:00
Luca Barbato
246d3bf0ec
hevc: Conceal zero td
...
It was done only in check_mvset(), while mv_scale() is called also by
dist_scale().
Sample-Id: 00001579-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2014-02-09 19:53:43 +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