summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc.h
Commit message (Collapse)AuthorAgeFilesLines
* lavc/hevc: store VPS/SPS/PPS dataMatthieu Bouron2016-09-091-0/+9
|
* hevc: Fix memory leak related to a53_caption dataWill Kelleher2016-05-151-0/+9
| | | | | Signed-off-by: Will Kelleher <wkelleher@gogoair.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit 'fa936a307f5cddfc2664600157a8207ca8080af6'Derek Buitenhuis2016-04-261-40/+2
|\ | | | | | | | | | | | | * 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-36/+2
| | | | | | | | This code will be shared with h264.
| * hevc: Track long and short term RPS size for VDPAUPhilip Langdale2016-02-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * dxva2_hevc: properly signal the num_delta_pocs from the SPS RPSHendrik Leppkes2016-02-131-0/+1
| | | | | | | | | | | | | | | | | | 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>
| * hevcdsp: add x86 SIMD for MCAnton Khirnov2015-12-051-1/+1
| |
* | lavc/hevc_parse: Don't take a HEVCContextDerek Buitenhuis2016-04-251-2/+2
| | | | | | | | | | | | | | It's not even used anymore, and the checks are no longer functionally important. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | lavc/hevc Parse SEI_TYPE_MASTERING_DISPLAY_INFO and propagate content into ↵Neil Birkbeck2016-02-141-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | avcodec/hevc: Fix integer overflow of entry_point_offsetMichael Niedermayer2015-12-051-1/+1
| | | | | | | | | | | | | | | | 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>
* | hevc: extract SEI caption dataWill Kelleher2015-11-071-0/+4
| | | | | | | | | | Signed-off-by: Will Kelleher <wkelleher@gogoair.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | hevc: properly handle no_rasl_output_flag when removing pictures from the DPBHendrik Leppkes2015-09-201-0/+1
| | | | | | | | | | | | | | Fixes ticket #4185. Reviewed-By: Mickael Raulet <Mickael.Raulet@insa-rennes.fr> Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
* | dxva2_hevc: properly signal the num_delta_pocs from the SPS RPSHendrik Leppkes2015-08-031-0/+1
| | | | | | | | | | | | | | | | 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
* | avcodec/hevc: Simplify skipped_bytes_pos code furtherMichael Niedermayer2015-07-131-4/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc: Move skipped_bytes_pos_nal to HEVCNAL, simplify codeMichael Niedermayer2015-07-131-2/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc: Move skipped_bytes_pos_size_nal into HAVCNALMichael Niedermayer2015-07-131-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc: Remove skipped_bytes_nal, simplify codeMichael Niedermayer2015-07-131-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0'Michael Niedermayer2015-07-121-3/+14
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0': hevc: move splitting the packet into NALUs into a separate function Conflicts: libavcodec/hevc.c libavcodec/hevc.h libavcodec/hevc_parse.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * hevc: move splitting the packet into NALUs into a separate functionAnton Khirnov2015-07-121-3/+14
| | | | | | | | | | This function is independent of the decoding context, so we'll be able to use it in the parser.
* | Merge commit 'ae05b4865514fd71b5e9431e93aa0d03d7ba7751'Michael Niedermayer2015-07-121-0/+5
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'ae05b4865514fd71b5e9431e93aa0d03d7ba7751': hevc: eliminate the second call to hls_nal_unit() Conflicts: libavcodec/hevc.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * hevc: eliminate the second call to hls_nal_unit()Anton Khirnov2015-07-121-0/+5
| | | | | | | | | | | | | | 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.
* | Merge commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2'Michael Niedermayer2015-07-121-9/+18
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2': hevc: remove HEVCContext usage from hevc_ps Conflicts: libavcodec/hevc.c libavcodec/hevc_cabac.c libavcodec/hevc_filter.c libavcodec/hevc_mvs.c libavcodec/hevc_ps.c libavcodec/hevc_refs.c libavcodec/hevcpred_template.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * hevc: remove HEVCContext usage from hevc_psAnton Khirnov2015-07-121-9/+18
| | | | | | | | | | | | Factor out the parameter sets into a separate struct and use it instead. This will allow us to reuse this code in the parser.
* | Merge commit '66acb76bb0492b263215ca9b4d927a7be39ace02'Michael Niedermayer2015-07-091-0/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '66acb76bb0492b263215ca9b4d927a7be39ace02': lavc: add Intel libmfx-based HEVC encoder Conflicts: Changelog configure libavcodec/Makefile libavcodec/allcodecs.c libavcodec/qsv.c libavcodec/qsvenc.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavc: add Intel libmfx-based HEVC encoderAnton Khirnov2015-07-081-0/+3
| |
* | Merge commit '69ab9f53f901eac6a649e22d28cf093357870627'Michael Niedermayer2015-07-091-3/+6
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit '69ab9f53f901eac6a649e22d28cf093357870627': hevc: split bitstream unescaping to a separate file Conflicts: libavcodec/Makefile libavcodec/hevc.c See: afa93d198aaf2cc661c4df6d4095cd030265d30a Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc: split bitstream unescaping to a separate fileAnton Khirnov2015-07-081-0/+6
| | | | | | | | It will be useful in the QSV HEVC encoder.
* | Merge commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7'Michael Niedermayer2015-07-091-2/+15
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7': hevc_ps: split the code for parsing the SPS and exporting it into the context Conflicts: libavcodec/hevc.c libavcodec/hevc_ps.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc_ps: split the code for parsing the SPS and exporting it into the contextAnton Khirnov2015-07-081-2/+15
| | | | | | | | | | This will be useful in the later commits, where we want to parse an SPS without having a whole decoding context.
* | avcodec/hevc: Track long and short term RPS size for VDPAUPhilip Langdale2015-06-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | avcodec/hevc: Remove current_spsMichael Niedermayer2015-04-281-2/+0
| | | | | | | | | | | | The variable should not be needed anymore Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c929659bdd7d2d5848ea52e685a3164c7b901bb0'Michael Niedermayer2015-03-211-4/+4
|\ \ | |/ | | | | | | | | | | * commit 'c929659bdd7d2d5848ea52e685a3164c7b901bb0': hevc: make the crop sizes unsigned Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc: make the crop sizes unsignedAnton Khirnov2015-03-211-4/+4
| |
| * hevc: add hwaccel hooksHendrik Leppkes2015-01-271-0/+3
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * hevc: store the short term rps flag and size in the contextHendrik Leppkes2015-01-271-0/+2
| | | | | | | | | | | | For future use by hardware accelerators. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * hevc: store the escaped/raw bitstream in HEVCNALHendrik Leppkes2015-01-271-0/+3
| | | | | | | | | | | | Hardware Accelerators require access to the escaped bitstream. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | x86/hevc_mc: use aligned loadsMickaël Raulet2015-02-061-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/hevc: Update the USE_SAO_SMALL_BUFFER case for the alignment ↵Christophe Gisquet2015-02-041-10/+1
| | | | | | | | | | | | | | | | | | | | | | | | requirements in FFmpeg Use edge emu buffers And enable the code unconditionally Speed difference without USE_SAO_SMALL_BUFFER and with the new code: Decicycles: 26772->26220 (BO32), 83803->80942 (BO64) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/hevc: reduce memory for SAOFabrice Bellard2015-02-041-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cherry picked from commit 5d9f79edef2c11b915bdac3a025b59a32082f409 SAO edge filter uses pre-SAO pixel data on the left and top of the ctb, so this data must be kept available. This was done previously by having 2 copies of the frame, one before and one after SAO. This commit reduces the storage to just that, instead of the previous whole frame. Commit message taken from patch by Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: add hwaccel hooksHendrik Leppkes2015-01-271-0/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: store the short term rps flag and size in the contextHendrik Leppkes2015-01-271-0/+2
| | | | | | | | | | | | For future use by hardware accelerators. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: store the escaped/raw bitstream in HEVCNALHendrik Leppkes2015-01-271-0/+3
| | | | | | | | | | | | Hardware Accelerators require access to the escaped bitstream. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '2c6a7f9348378f887066fb1669c46b9485e8ef3e'Michael Niedermayer2014-11-171-2/+0
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '2c6a7f9348378f887066fb1669c46b9485e8ef3e': hevc: do not store rqt_root_cbf in the context Conflicts: libavcodec/hevc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc: do not store rqt_root_cbf in the contextAnton Khirnov2014-11-171-2/+0
| | | | | | | | It does not need to be accessed outside of hls_coding_unit().
* | Merge commit '920bca3e2332dced9c78bd14cfc2ff138188bd57'Michael Niedermayer2014-11-171-2/+0
|\ \ | |/ | | | | | | | | | | * commit '920bca3e2332dced9c78bd14cfc2ff138188bd57': hevc: do not store pcm_flag in the context Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hevc: do not store pcm_flag in the contextAnton Khirnov2014-11-171-2/+0
| | | | | | | | It does not need to be accessed outside of hls_coding_unit().
| * hevc: use intreadwriteChristophe Gisquet2014-08-121-1/+1
| | | | | | | | | | | | When dealing with MVs, both components may be processed at a time. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * hevc: deobfuscate slice/tile boundary handling for DBFAnton Khirnov2014-08-091-5/+8
| | | | | | | | | | Use named constants instead of magic numbers, avoid using variables with inverse meaning from what their name implies.
* | hevc: reuse edge emu buffer for coefficientsChristophe Gisquet2014-10-011-1/+0
| | | | | | | | | | | | | | Kind of hackish but... Reviewed-by: Mickael Raulet <Mickael.Raulet@insa-rennes.fr> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | hevc: remove CodingTreeChristophe Gisquet2014-09-271-5/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud