summaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc_parser.c
Commit message (Collapse)AuthorAgeFilesLines
* h2645_parse: Make ff_h2645_packet_split reference-compatibleAndreas Rheinhardt2019-01-231-1/+1
| | | | | | | This is in preparation for a patch for cbs_h2645. Now the packet's rbsp_buffer can be owned by an AVBuffer. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
* lavc/hevc_parser: report detailed log when missing picture occursLinjie Fu2019-01-121-1/+1
| | | | | | | | | | Report the detailed log with buf_size in parse_nal_units to provide more information when picture could not be found. Match the behaviour in h264_parser. Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_parser: very minor simplification in hevc_parse()Michael Niedermayer2018-09-301-1/+1
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/hevc: Don't parse NAL unit for a dummy bufferHaihao Xiang2018-09-301-1/+6
| | | | | | | | | | | | hevc parser mistakenly reports the following message if a dummy buffer is padded for EOF [hevc @ 0x559b63848610] missing picture in access unit Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Reviewed-by: "Li, Zhong" <zhong.li@intel.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_parser: use ff_hevc_decode_extradata() to parse extradataJames Almer2018-01-301-12/+9
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parser: use ff_hevc_uninit_parameter_sets()James Almer2018-01-211-10/+1
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_sei: rename HEVCSEIContext to HEVCSEIJames Almer2017-10-311-3/+3
| | | | | | | Cosmetic change skipped in 0b30cb8dae5e7edb2a5f35900547321499c217f1 by mistake. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevcdec: export cropping information instead of handling it internallyJames Almer2017-05-261-2/+4
| | | | | | | | | | | | | | | | This merges commit a02ae1c6837a54ed9e7735da2b1f789b2f4b6e13 from libav, originally written by Anton Khirnov and skipped in fc63d5ceb357c4b760cb02772de0b50d0557140f. libavcodec/hevc_parser.c | 6 ++++-- libavcodec/hevc_ps.c | 31 ++++++++++++------------------- libavcodec/hevc_ps.h | 2 -- libavcodec/hevc_refs.c | 18 +++++------------- libavcodec/hevcdec.c | 7 ++++--- libavcodec/hevcdec.h | 2 -- 6 files changed, 25 insertions(+), 41 deletions(-) Signed-off-by: James Almer <jamrial@gmail.com>
* hevc: fix race condition in max_ra/seq_decode.Ronald S. Bultje2017-05-251-1/+1
| | | | | | | | | | These variables are shared between frame threads, but they are updated post-setup_finished() if a EOB/EOS slice type occurs. Moving the EOB/EOS slices to the next frame thread instance (by parsing them leading into the next picture instead of trailing behind the last picture) effectively prevents this race condition. This fixes tsan failures on hevc-conformance-NoOutPrior_A_Qualcomm_1.
* avcodec/hevc_parser: add missing call to ff_hevc_reset_sei()James Almer2017-05-181-0/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parser: cosmeticsJames Almer2017-05-051-8/+7
| | | | | | Reduces differences with libav slightly. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parser: move hevc_find_frame_end() down in the fileJames Almer2017-05-051-43/+44
| | | | Reduces differences with libav.
* avcodec/hevc_parser: move slice header parsing to its own functionJames Almer2017-05-051-107/+120
| | | | | | Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Aaron Levinson <alevinsn@aracnet.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parser: remove HEVCContext usageJames Almer2017-05-051-145/+32
| | | | | | | | This gets rid of the duplicate, limited parser. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Aaron Levinson <alevinsn@aracnet.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_parser: use ff_h2645_packet_split() to parse NAL unitsJames Almer2017-05-051-40/+10
| | | | | | | | This simplifies the code considerably. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Aaron Levinson <alevinsn@aracnet.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevcdec: remove HEVCContext usage from ff_hevc_compute_poc()James Almer2017-05-051-1/+1
| | | | | | | | Move it to hevc_ps as well. This is in preparation for a following patch. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Aaron Levinson <alevinsn@aracnet.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevcdec: remove HEVCContext usage from hevc_seiJames Almer2017-05-051-4/+5
| | | | | | | | Based on the H264 SEI implementation. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Aaron Levinson <alevinsn@aracnet.com> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f'James Almer2017-03-231-4/+4
|\ | | | | | | | | | | | | * commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f': hevc: move the SliceType enum to hevc.h Merged-by: James Almer <jamrial@gmail.com>
* \ Merge commit 'c359d624d3efc3fd1d83210d78c4152bd329b765'James Almer2017-03-231-59/+60
|\ \ | |/ | | | | | | | | | | * commit 'c359d624d3efc3fd1d83210d78c4152bd329b765': hevcdec: move decoder-independent declarations into a separate header Merged-by: James Almer <jamrial@gmail.com>
| * hevcdec: move decoder-independent declarations into a separate headerAnton Khirnov2016-10-161-25/+26
| | | | | | | | | | | | | | 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.
* | Merge commit '4abe3b049d987420eb891f74a35af2cebbf52144'Clément Bœsch2017-03-231-1/+1
|\ \ | |/ | | | | | | | | | | * commit '4abe3b049d987420eb891f74a35af2cebbf52144': hevc: rename hevc.[ch] to hevcdec.[ch] Merged-by: Clément Bœsch <u@pkh.me>
| * hevc: rename hevc.[ch] to hevcdec.[ch]Anton Khirnov2016-10-161-1/+1
| | | | | | | | | | This is more consistent with the rest of libav and frees up the hevc.h name for decoder-independent shared declarations.
* | avcodec/hevc_parser: export framerate, remove one dependency on the decoderMichael Niedermayer2017-02-141-0/+13
| | | | | | | | | | | | Fixes Ticket6090 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | hevc: Return stream format information from parserMark Thompson2016-10-311-0/+8
| |
* | avcodec/h2645: Fix NAL unit paddingMichael Niedermayer2016-08-181-2/+2
| | | | | | | | | | | | | | | | | | 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>
* | avcodec/hevc_parser: fix packet_split function nameJames Almer2016-05-041-1/+1
| | | | | | | | | | | | Fixes compilation of hevc_parser without hevc_decoder Signed-off-by: James Almer <jamrial@gmail.com>
* | Merge commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977'Derek Buitenhuis2016-04-261-1/+2
|\ \ | |/ | | | | | | | | | | * 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/+2
| |
* | 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-8/+9
|\ \ | |/ | | | | | | | | | | * 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-4/+5
| | | | | | | | This code will be shared with h264.
* | 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>
* | 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>
* | avcodec/hevc_parser: Check init_get_bits8() for failureMichael Niedermayer2015-09-041-1/+5
| | | | | | | | | | | | Fixes: CID1322322 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc_parser: fix split function of parserRainer Hochecker2015-09-021-7/+18
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc_parser: Treat extradata parsing differently, as it should not ↵Michael Niedermayer2015-07-191-2/+16
| | | | | | | | | | | | | | | | contain an AU Fixes ticket4718 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc_parser: Fix memleaks in parser mixMichael Niedermayer2015-07-131-1/+11
| | | | | | | | | | Found-by: jamrial Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avcodec/hevc_parser: use the old parser only when hevc decoder is availableJames Almer2015-07-131-5/+5
| | | | | | | | | | | | | | If it's not, then the new dependence-free parser will be used instead Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | avcodec/hevc_parser: Reenable the old parser under ADVANCED_PARSER defineMichael Niedermayer2015-07-131-174/+197
| | | | | | | | | | | | | | Feel free to use either, they both work but the old one provides more information but needs the hevc decoder Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '650060dfb665552442ec11b456660e3e9a9d9016'Michael Niedermayer2015-07-131-217/+290
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '650060dfb665552442ec11b456660e3e9a9d9016': hevc_parser: parse and export some stream parameters Conflicts: configure libavcodec/hevc_parser.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * hevc_parser: parse and export some stream parametersAnton Khirnov2015-07-121-5/+123
| | | | | | | | | | Particularly those that will be needed by the QSV decoder. More can be added later as necessary.
* | avcodec/hevc: Simplify skipped_bytes_pos code furtherMichael Niedermayer2015-07-131-3/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0'Michael Niedermayer2015-07-121-10/+12
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * 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>
* | Merge commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2'Michael Niedermayer2015-07-121-25/+27
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * Add HEVC decoderGuillaume Martres2013-10-311-0/+125
| | | | | | | | | | | | | | | | | | | | | | 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>
* hevc: check slice address lengthAndreas Cadhalpun2015-07-101-1/+1
| | | | | | | It is used as get_bits argument and reading 0 bits isn't supported. Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avcodec/hevc: Remove current_spsMichael Niedermayer2015-04-281-1/+0
| | | | | | The variable should not be needed anymore Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avcodec/hevc_parser: use avpriv_find_start_code in hevc_split()zhaoxiu.zeng2015-03-091-13/+13
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
OpenPOWER on IntegriCloud