aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/hevc: Add YUV420P10 to vaapi hardware decode - permits hardware ↵Jean-Yves Simon2016-09-261-0/+3
| | | | | | decoding of HEVC Main 10 on AMD RX 480 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h2645: Fix NAL unit paddingMichael Niedermayer2016-08-181-1/+1
| | | | | | | | | The parser changes have lost the support for the needed padding, this adds it back Fixes out of array reads Fixes: 03ea21d271abc8acf428d42ace51d8b4/asan_heap-oob_3358eef_5692_16f0cc01ab5225e9ce591659e5c20e35.mkv Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* hevc: Fix memory leak related to a53_caption dataWill Kelleher2016-05-151-0/+2
| | | | | Signed-off-by: Will Kelleher <wkelleher@gogoair.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977'Derek Buitenhuis2016-04-261-1/+1
|\ | | | | | | | | | | | | * commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977': h2645_parse: add support for parsing h264 Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h2645_parse: add support for parsing h264Anton Khirnov2016-03-281-1/+1
| |
* | Merge commit '8229eff4b7a98ae5d85bb75f3bb072781b4a8ebe'Derek Buitenhuis2016-04-261-6/+1
|\| | | | | | | | | | | | | * commit '8229eff4b7a98ae5d85bb75f3bb072781b4a8ebe': h2645_parse: add a function for uninitializing the packet Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * h2645_parse: add a function for uninitializing the packetAnton Khirnov2016-03-281-4/+1
| |
* | Merge commit 'fa936a307f5cddfc2664600157a8207ca8080af6'Derek Buitenhuis2016-04-261-4/+4
|\| | | | | | | | | | | | | * commit 'fa936a307f5cddfc2664600157a8207ca8080af6': hevc_parse: rename into h2645_parse Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * hevc_parse: rename into h2645_parseAnton Khirnov2016-03-281-3/+3
| | | | | | | | This code will be shared with h264.
| * vdpau: Support for VDPAU accelerated HEVC decodingPhilip Langdale2016-02-131-1/+4
| | | | | | | | | | Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hevc: Track long and short term RPS size for VDPAUPhilip Langdale2016-02-131-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | lavc/hevc_parse: Don't take a HEVCContextDerek Buitenhuis2016-04-251-1/+1
| | | | | | | | | | | | | | It's not even used anymore, and the checks are no longer functionally important. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | hevc: support Main10 decoding through dxva2Hendrik Leppkes2016-02-151-1/+12
| |
* | lavc/hevc Parse SEI_TYPE_MASTERING_DISPLAY_INFO and propagate content into ↵Neil Birkbeck2016-02-141-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | the AVMasteringDisplayMetadata side data. Add support for parsing SEI_TYPE_MASTERING_DISPLAY_INFO and propagate contents into the AVMasteringDisplayMetadata side data. Primaries are ordered in RGB order and the values are converted to rationals ([0,1] for CEI 1931 Chroma coords, and cd/m^2 for luma). Signed-off-by: Neil Birkbeck <neil.birkbeck@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc: use get_bitsz to simplify the codeAndreas Cadhalpun2016-01-031-1/+1
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | Merge commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6'Hendrik Leppkes2016-01-011-9/+2
|\| | | | | | | | | | | | | * commit '2c6811397bdf13d43ca206e48d6d6da9c2cd47c6': lavc: add profiles to AVCodecDescriptor Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavc: add profiles to AVCodecDescriptorAnton Khirnov2015-12-121-8/+2
| | | | | | | | | | The profiles are a property of the codec, so it makes sense to export them through AVCodecDescriptors, not just the codec implementations.
| * hevcdsp: add x86 SIMD for MCAnton Khirnov2015-12-051-3/+3
| |
| * hevc: change the stride of the MC buffer to be in bytes instead of elementsAnton Khirnov2015-12-051-1/+1
| | | | | | | | | | | | Currently, the frame stride is passed in bytes, while the MC buffer size is in int16_t elements, This can be confusing, so pass both strides in bytes.
| * hevcdsp: split the pred functions by widthAnton Khirnov2015-12-051-59/+59
| | | | | | | | This should allow for more efficient SIMD.
| * hevcdsp: split the epel functions by widthAnton Khirnov2015-12-051-16/+13
| | | | | | | | This should allow for more efficient SIMD.
| * hevcdsp: split the qpel functions by width instead of by the subpixel fractionAnton Khirnov2015-12-051-7/+12
| | | | | | | | | | | | | | This should allow for more efficient SIMD. Keep the C versions as they are now, to allow the compiler to inline the interpolation coefficients.
| * cabac: Make CABAC states hardcodedAnton Khirnov2015-10-081-2/+0
| | | | | | | | | | | | | | There is not much reason to generate such a small table at runtime. Signed-off-by: Derek Buitenhuis <derekb@vimeo.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hevc: Simplify logical checkVittorio Giovara2015-10-041-1/+1
| | | | | | | | | | | | The intended meaning is "if this block is the first block in a slice then its left boundary is a slice boundary". Silence a logical-not-parentheses warning from gcc.
* | avcodec/hevc: Fix integer overflow of entry_point_offsetMichael Niedermayer2015-12-051-2/+2
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: d41d8cd98f00b204e9800998ecf8427e/signal_sigsegv_321165b_7641_077dfcd8cbc80b1c0b470c8554cd6ffb.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec: use AV_OPT_TYPE_BOOL in a bunch of placesClément Bœsch2015-12-041-2/+2
| |
* | avcodec/hevc: Check max ctb addresses for WPPMichael Niedermayer2015-11-281-0/+9
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: 2f95ddd996db8a6281d2e18c184595a7/asan_heap-oob_192fe91_3330_58e4441181e30a66c19f743dcb392347.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc: allocate entries unconditionallyMichael Niedermayer2015-11-271-3/+1
| | | | | | | | | | | | | | | | Fixes out of array access Fixes: 08664a2a7921ef48172f26495c7455be/asan_heap-oob_23036c6_3301_523388ef84285a0270caf67a43247b59.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc: Check entry_point_offsetsMichael Niedermayer2015-11-271-1/+7
| | | | | | | | | | | | | | | | Fixes out of array read Fixes: 007c4a36608ebdf27ee260ad60a81184/asan_heap-oob_32076b4_2243_116b1cb29d91cc4974d6680e3d10bd91.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | hevc: Fix a53 caption extractionWill Kelleher2015-11-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | Just realized my previous patch doesn't work quite right. I uploaded a better sample file that actually has visible captions to /incoming/hevc_cc.ts. I tested with that file doing hevc->x264 and it works. This is basically an exact copy of the existing h264 logic. Signed-off-by: Will Kelleher <wkelleher@gogoair.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | hevc: extract SEI caption dataWill Kelleher2015-11-071-0/+10
| | | | | | | | | | Signed-off-by: Will Kelleher <wkelleher@gogoair.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | all: remove some casts of function pointer to void *Ganesh Ajjanagadde2015-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | These casts are unnecessary, and may safely be removed. Found by enabling -Wpedantic on clang 3.7. Tested with FATE. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | cabac: Make cabac starts hardcodedAnton Khirnov2015-10-101-2/+0
| | | | | | | | | | | | There's not much reason to generate such a small table at runtime. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | hevc: fix wpp threading deadlock.Ronald S. Bultje2015-09-211-0/+2
| | | | | | | | Fixes ticket 4258.
* | hevc: properly handle no_rasl_output_flag when removing pictures from the DPBHendrik Leppkes2015-09-201-0/+5
| | | | | | | | | | | | | | Fixes ticket #4185. Reviewed-By: Mickael Raulet <Mickael.Raulet@insa-rennes.fr> Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
* | Merge commit '2268db2cd052674fde55c7d48b7a5098ce89b4ba'Hendrik Leppkes2015-09-081-1/+1
|\| | | | | | | | | | | | | * commit '2268db2cd052674fde55c7d48b7a5098ce89b4ba': lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fields Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavu: Drop the {minus,plus}1 suffix from AVComponentDescriptor fieldsVittorio Giovara2015-09-071-1/+1
| | | | | | | | | | | | The new fields can be accessed directly and are more intelligible. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * hevcdsp: fix a function nameAnton Khirnov2015-08-211-4/+4
| | | | | | | | | | put_weighted_pred_avg should be put_unweighted_pred_avg, there is no weighting there.
* | vaapi: Add hevc hwaccel supportTimo Rothenpieler2015-08-271-1/+4
| | | | | | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* | Merge commit 'a1926a29fb4325afa46842883f197c74d4535c36'Hendrik Leppkes2015-08-241-2/+2
|\| | | | | | | | | | | | | * commit 'a1926a29fb4325afa46842883f197c74d4535c36': hevc: avoid invalid shifts of negative values Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * hevc: avoid invalid shifts of negative valuesAnton Khirnov2015-08-211-3/+3
| |
* | lavc: propagate hwaccel errorswm42015-08-061-1/+4
| | | | | | | | | | | | | | | | At least the new videotoolbox decoder does not actually set a frame if end_frame fails. This causes the API to return success and signals that a picture was decoded, even though AVFrame->data[0] is NULL. Fix this by propagating end_frame errors.
* | Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'Michael Niedermayer2015-07-271-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'def97856de6021965db86c25a732d78689bd6bb0': lavc: AV-prefix all codec capabilities Conflicts: cmdutils.c ffmpeg.c ffplay.c libavcodec/8svx.c libavcodec/aacenc.c libavcodec/ac3dec.c libavcodec/adpcm.c libavcodec/alac.c libavcodec/atrac3plusdec.c libavcodec/bink.c libavcodec/dnxhddec.c libavcodec/dvdec.c libavcodec/dvenc.c libavcodec/ffv1dec.c libavcodec/ffv1enc.c libavcodec/fic.c libavcodec/flacdec.c libavcodec/flacenc.c libavcodec/flvdec.c libavcodec/fraps.c libavcodec/frwu.c libavcodec/gifdec.c libavcodec/h261dec.c libavcodec/hevc.c libavcodec/iff.c libavcodec/imc.c libavcodec/libopenjpegdec.c libavcodec/libvo-aacenc.c libavcodec/libvorbisenc.c libavcodec/libvpxdec.c libavcodec/libvpxenc.c libavcodec/libx264.c libavcodec/mjpegbdec.c libavcodec/mjpegdec.c libavcodec/mpegaudiodec_float.c libavcodec/msmpeg4dec.c libavcodec/mxpegdec.c libavcodec/nvenc_h264.c libavcodec/nvenc_hevc.c libavcodec/pngdec.c libavcodec/qpeg.c libavcodec/ra288.c libavcodec/rv10.c libavcodec/s302m.c libavcodec/sp5xdec.c libavcodec/takdec.c libavcodec/tiff.c libavcodec/tta.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/vp6.c libavcodec/vp9.c libavcodec/wavpack.c libavcodec/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: AV-prefix all codec capabilitiesVittorio Giovara2015-07-271-2/+2
| | | | | | | | | | | | Express bitfields more simply. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
| * hevc_parser: fix standalone build with the hevc decoder disabledAnton Khirnov2015-07-131-52/+0
| | | | | | | | | | | | The parser depends on hevc_ps, which in turn needs some data tables. Found-by: James Almer <jamrial@gmail.com>
* | Merge commit '077b55943330150db0eafd36bbee614697cabd98'Michael Niedermayer2015-07-131-2/+8
|\| | | | | | | | | | | | | * commit '077b55943330150db0eafd36bbee614697cabd98': hevc: handle a NULL sps in set_sps() properly Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * hevc: handle a NULL sps in set_sps() properlyAnton Khirnov2015-07-121-2/+8
| | | | | | | | | | This can happen in update_thread_context(), when the previous frame was corrupted.
* | Merge commit '18156b53f9b642b71c182c5c9818175a61572d2b'Michael Niedermayer2015-07-131-5/+5
|\| | | | | | | | | | | | | * commit '18156b53f9b642b71c182c5c9818175a61572d2b': hevc: do not pass an entire HEVCContext into export_stream_params() Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * hevc: do not pass an entire HEVCContext into export_stream_params()Anton Khirnov2015-07-121-5/+5
| | | | | | | | It only needs the parameter sets.
* | avcodec/hevc: Simplify skipped_bytes_pos code furtherMichael Niedermayer2015-07-131-5/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>