James Almer
859cc5c8e6
avcodec/hevc_parser: cosmetics
...
Reduces differences with libav slightly.
Signed-off-by: James Almer <jamrial@gmail.com >
2017-05-05 20:10:17 -03:00
James Almer
214f4133c4
avcodec/hevc_parser: move hevc_find_frame_end() down in the file
...
Reduces differences with libav.
2017-05-05 20:10:17 -03:00
James Almer
bf1e3be5a3
avcodec/hevc_parser: move slice header parsing to its own function
...
Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com >
Reviewed-by: Aaron Levinson <alevinsn@aracnet.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-05-05 17:30:37 -03:00
James Almer
1c088632e9
avcodec/hevc_parser: remove HEVCContext usage
...
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 >
2017-05-05 17:30:37 -03:00
James Almer
ceb0859066
avcodec/hevc_parser: use ff_h2645_packet_split() to parse NAL units
...
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 >
2017-05-05 17:30:36 -03:00
James Almer
1d53b8e907
avcodec/hevcdec: remove HEVCContext usage from ff_hevc_compute_poc()
...
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 >
2017-05-05 17:30:36 -03:00
James Almer
c4b08c8a4e
avcodec/hevcdec: remove HEVCContext usage from hevc_sei
...
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 >
2017-05-05 17:30:35 -03:00
James Almer
dc39ccdc3b
Merge commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f'
...
* commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f':
hevc: move the SliceType enum to hevc.h
Merged-by: James Almer <jamrial@gmail.com >
2017-03-23 20:02:11 -03:00
James Almer
6397815be0
Merge commit 'c359d624d3efc3fd1d83210d78c4152bd329b765'
...
* commit 'c359d624d3efc3fd1d83210d78c4152bd329b765':
hevcdec: move decoder-independent declarations into a separate header
Merged-by: James Almer <jamrial@gmail.com >
2017-03-23 14:27:48 -03:00
Clément Bœsch
038e6aef7a
Merge commit '4abe3b049d987420eb891f74a35af2cebbf52144'
...
* commit '4abe3b049d987420eb891f74a35af2cebbf52144':
hevc: rename hevc.[ch] to hevcdec.[ch]
Merged-by: Clément Bœsch <u@pkh.me >
2017-03-23 16:48:41 +01:00
Michael Niedermayer
db3507a670
avcodec/hevc_parser: export framerate, remove one dependency on the decoder
...
Fixes Ticket6090
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-02-14 17:00:30 +01:00
Mark Thompson
0c559f7893
hevc: Return stream format information from parser
2016-10-31 19:23:40 +00:00
Anton Khirnov
c359d624d3
hevcdec: move decoder-independent declarations into a separate 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.
2016-10-16 20:26:28 +02:00
Anton Khirnov
4abe3b049d
hevc: rename hevc.[ch] to hevcdec.[ch]
...
This is more consistent with the rest of libav and frees up the hevc.h
name for decoder-independent shared declarations.
2016-10-16 20:26:17 +02:00
Michael Niedermayer
cc13bc8c4f
avcodec/h2645: Fix NAL unit padding
...
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 >
2016-08-18 23:36:18 +02:00
Will Kelleher
964f07f68e
hevc: Fix memory leak related to a53_caption data
...
Signed-off-by: Will Kelleher <wkelleher@gogoair.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-05-15 01:30:53 +02:00
James Almer
fc1c836def
avcodec/hevc_parser: fix packet_split function name
...
Fixes compilation of hevc_parser without hevc_decoder
Signed-off-by: James Almer <jamrial@gmail.com >
2016-05-04 18:26:06 -03:00
Derek Buitenhuis
438ed974b8
Merge commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977'
...
* commit 'b667252a41fbf5a3f6ea8c67fdbc03db3d748977':
h2645_parse: add support for parsing h264
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-04-26 14:07:03 +01:00
Derek Buitenhuis
8e73574d4f
Merge commit '8229eff4b7a98ae5d85bb75f3bb072781b4a8ebe'
...
* commit '8229eff4b7a98ae5d85bb75f3bb072781b4a8ebe':
h2645_parse: add a function for uninitializing the packet
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-04-26 14:01:45 +01:00
Derek Buitenhuis
3c4ca4c5d7
Merge commit 'fa936a307f5cddfc2664600157a8207ca8080af6'
...
* commit 'fa936a307f5cddfc2664600157a8207ca8080af6':
hevc_parse: rename into h2645_parse
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-04-26 13:56:47 +01:00
Derek Buitenhuis
4791a910c0
lavc/hevc_parse: Don't take a HEVCContext
...
It's not even used anymore, and the checks are no longer
functionally important.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-04-25 14:40:33 +01:00
Anton Khirnov
b667252a41
h2645_parse: add support for parsing h264
2016-03-28 09:45:04 +02:00
Anton Khirnov
8229eff4b7
h2645_parse: add a function for uninitializing the packet
2016-03-28 09:43:18 +02:00
Anton Khirnov
fa936a307f
hevc_parse: rename into h2645_parse
...
This code will be shared with h264.
2016-03-28 09:42:44 +02:00
Andreas Cadhalpun
43ff4aed26
lavc: use get_bitsz to simplify the code
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com >
2016-01-03 21:12:53 +01:00
Michael Niedermayer
bd6610c3b3
avcodec/hevc_parser: Check init_get_bits8() for failure
...
Fixes: CID1322322
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-09-04 03:09:03 +02:00
Rainer Hochecker
62bd8deef9
avcodec/hevc_parser: fix split function of parser
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-09-02 02:48:43 +02:00
Michael Niedermayer
54882156dd
avcodec/hevc_parser: Treat extradata parsing differently, as it should not contain an AU
...
Fixes ticket4718
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-19 03:24:25 +02:00
Michael Niedermayer
85b7456efe
avcodec/hevc_parser: Fix memleaks in parser mix
...
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-13 22:26:53 +02:00
James Almer
84e847c7c8
avcodec/hevc_parser: use the old parser only when hevc decoder is available
...
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 >
2015-07-13 14:57:54 -03:00
Michael Niedermayer
4496ccc724
avcodec/hevc_parser: Reenable the old parser under ADVANCED_PARSER define
...
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 >
2015-07-13 02:14:58 +02:00
Michael Niedermayer
9e810a98a2
Merge commit '650060dfb665552442ec11b456660e3e9a9d9016'
...
* commit '650060dfb665552442ec11b456660e3e9a9d9016':
hevc_parser: parse and export some stream parameters
Conflicts:
configure
libavcodec/hevc_parser.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-13 01:28:57 +02:00
Michael Niedermayer
99558270ed
avcodec/hevc: Simplify skipped_bytes_pos code further
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-13 01:09:21 +02:00
Michael Niedermayer
4690a63632
Merge commit 'd82e1adc2019135a2fc45372e0ed0b5ef107cdd0'
...
* 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 >
2015-07-12 23:44:24 +02:00
Michael Niedermayer
d5fcca83b9
Merge commit 'b11acd57326db6c2cc1475dd0bea2a06fbc85aa2'
...
* 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 >
2015-07-12 22:28:54 +02:00
Anton Khirnov
650060dfb6
hevc_parser: parse and export some stream parameters
...
Particularly those that will be needed by the QSV decoder.
More can be added later as necessary.
2015-07-12 18:15:40 +02:00
Andreas Cadhalpun
05cc8c8e4b
hevc: check slice address length
...
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 >
2015-07-10 21:28:56 +02:00
Michael Niedermayer
0e7444f6e4
avcodec/hevc: Remove current_sps
...
The variable should not be needed anymore
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-04-28 00:04:58 +02:00
zhaoxiu.zeng
b3a56e60be
avcodec/hevc_parser: use avpriv_find_start_code in hevc_split()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-03-09 18:19:10 +01:00
Paul B Mahol
a5398aa56c
avcodec/hevc_parser: check for av_mallocz() failure
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2015-02-10 09:35:23 +00:00
Michael Niedermayer
ccd6911c18
avcodec/hevc_ps: do not loose all reference to pointers still in use
...
Fixes leaving a pointer to unreferenced memory
Fixes Ticket 3115
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-12 21:03:09 +02:00
Mickaël Raulet
e2760de605
hevc: fix key_frame as an IRAP
...
it was always 1 before with ISOBMFF(cherry picked from commit fb1402b1ec78d80acd6ced76bf78d65560965c4c)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-05-17 01:14:51 +02:00
gcocherel
3c846fda1c
HEVC : valgrind fix : vps_list
...
cherry picked from commit 211c39ade87bc079eabc862a6b684544dc88a786
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-11-26 13:22:01 +01:00
Michael Niedermayer
b23692b3a8
libavcodec/hevc: reduce whitespace differences to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-11-02 14:10:21 +01:00
Michael Niedermayer
1a6948fa70
libavcodec/hevc: reduce bracket differences to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-11-02 13:09:31 +01:00
Michael Niedermayer
ce7f1c76bd
avcodec/hevc: more whitespaces to reduce difference to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-11-02 12:33:54 +01:00
Michael Niedermayer
f578e5d937
avcodec/hevc: Adjust white-spaces to reduce difference to 064698d381
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-11-02 00:44:54 +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
Mickaël Raulet
7c8b65f688
hevc: add partial support for interlaced(cherry picked from commit 44b592ae6d323445c076ef3ec966ebf9daa8bccf)
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2013-10-31 10:00:22 +01:00
Yusuke Nakamura
afa93d198a
hevc_parser: Set pict_type, key_frame and output_picture_number.
...
Conflicts:
libavcodec/hevc.c
2013-10-27 11:07:43 +01:00