| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Supports both prefix and suffix SEI, decoding all of the common SEI
types and some more obscure ones. Most of this is tested by the
existing tests in fate.
|
|
|
|
| |
Signed-off-by: Jun Zhao <mypopydev@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
Add comments to describe the sources of the constraint values expressed here,
and add some more related values which will be used in following patches.
Fix the incorrect values for SPS and PPS count (they are not the same as those
used for H.264), and remove HEVC_MAX_CU_SIZE because it is not used anywhere.
(cherry picked from commit b88da98b34809dedf8882d43ed543632ed233538)
|
|
|
|
|
|
|
| |
While not yet used, these NAL units do already have some defined
semantics and are referred to elsewhere.
(cherry picked from commit 3daaa4417317ca732fb00476fdb3308d784f87e4)
|
|\
| |
| |
| |
| |
| |
| | |
* commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f':
hevc: move the SliceType enum to hevc.h
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| | |
Those values are decoder-independent and are also use by the VA-API
encoder.
|
|\ \
| |/
| |
| |
| |
| |
| | |
* commit 'f6e2f8a9ffda2247bffba991450990d075ea68e3':
hevcdec: move parameter set parsing into a separate header
Merged-by: James Almer <jamrial@gmail.com>
|
| |
| |
| |
| |
| | |
This code is independent from the decoder, so it makes more sense for it
to to have its own header.
|
| |
| |
| |
| |
| |
| |
| | |
This way they can be reused by other code without including the whole
decoder-specific hevcdec.h
Also, add the HEVC_ prefix to them, since similarly named values exist
for H.264 as well and are sometimes used in the same code.
|
|/
|
|
| |
It was lost as part of a merge in 6397815be0bee10948387fcb90ead36ec2834ef7.
|
|
|
|
|
| |
This is more consistent with the rest of libav and frees up the hevc.h
name for decoder-independent shared declarations.
|
|
|
|
| |
This code will be shared with h264.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
| |
This function is independent of the decoding context, so we'll be able
to use it in the parser.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
Factor out the parameter sets into a separate struct and use it instead.
This will allow us to reuse this code in the parser.
|
| |
|
|
|
|
| |
It will be useful in the QSV HEVC encoder.
|
|
|
|
|
| |
This will be useful in the later commits, where we want to parse an SPS
without having a whole decoding context.
|
| |
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
| |
For future use by hardware accelerators.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
| |
Hardware Accelerators require access to the escaped bitstream.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
It does not need to be accessed outside of hls_coding_unit().
|
|
|
|
| |
It does not need to be accessed outside of hls_coding_unit().
|
|
|
|
|
|
| |
When dealing with MVs, both components may be processed at a time.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
| |
Use named constants instead of magic numbers, avoid using variables with
inverse meaning from what their name implies.
|
|
|
|
| |
Replace it by passing an additional parameter to transform_unit()
|
|
|
|
|
| |
They are replaced by passing additional parameters to the transform
functions.
|
|
|
|
| |
It does not need to be preserved.
|
|
|
|
| |
We do not need to store the value of the split flag.
|
|
|
|
| |
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
| |
|
|
|
|
|
| |
Fixes integer overflow and out of array accesses.
Found-by: Mateusz j00ru Jurczyk and Gynvael Coldwind
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
get_ue_golomb_long() returns an unsigned.
Sample-Id: 00001541-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
Keep qp fields within the range.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
| |
Also store a few PTL flags which were skipped before
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
stereo3d information
|
|
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>
|