James Almer
bd8f1fa100
avcodec/hevc_sei: rename HEVCSEIContext to HEVCSEI
...
Cosmetic change skipped in 0b30cb8dae
by mistake.
Signed-off-by: James Almer <jamrial@gmail.com>
2017-10-31 12:27:57 -03:00
James Almer
000fb61a71
avcodec/hevcdec: export cropping information instead of handling it internally
...
This merges commit a02ae1c683
from libav,
originally written by Anton Khirnov and skipped in
fc63d5ceb3
.
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>
2017-05-26 11:15:45 -03:00
Ronald S. Bultje
ca2209d67a
hevc: fix race condition in max_ra/seq_decode.
...
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.
2017-05-25 10:29:07 -04:00
James Almer
1e8daf31e0
avcodec/hevc_parser: add missing call to ff_hevc_reset_sei()
...
Signed-off-by: James Almer <jamrial@gmail.com>
2017-05-18 19:55:44 -03:00
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