James Almer
b29c8c995f
Merge commit '150c896a9e46b23b97debb0a5f66fbaeaa32f153'
...
* commit '150c896a9e46b23b97debb0a5f66fbaeaa32f153':
hevcdec: split ff_hevc_diag_scan* declarations into a separate header
Merged-by: James Almer <jamrial@gmail.com>
2017-03-23 15:14:06 -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
Carl Eugen Hoyos
0674d1938e
lavc/hevc_ps: Use correct pix_fmt for 10bit 4:0:0.
...
Fixes the second sample from ticket #5544 .
2016-11-14 10:36:25 +01:00
Carl Eugen Hoyos
08be65a075
lavc/hevc_ps: Fix an error message.
2016-11-10 08:22:26 +01:00
Carl Eugen Hoyos
edb8af6e92
lavc/hevc_ps: Use correct pix_fmt for 12bit 4:0:0.
...
Fixes part of ticket #5544 .
2016-11-10 08:11:12 +01:00
Anton Khirnov
150c896a9e
hevcdec: split ff_hevc_diag_scan* declarations into a separate header
...
This will be useful in the following commits.
2016-10-16 20:26:40 +02: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
Matthieu Bouron
bf011695fd
lavc/hevc: store VPS/SPS/PPS data
2016-09-09 16:35:37 +02:00
Hendrik Leppkes
1ecb63cd1c
hevc: set profile based on the profile compatibility flags if needed
...
This fixes retrieving a valid profile for many of the FATE conformance samples,
allowing them to be properly decoded by the HWAccel after adding a profile check.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2016-07-20 16:33:09 +02:00
Hendrik Leppkes
6eb1b40ad8
hevc: fix size condition in ptl parsing
...
When only one sublayer is present, no information is coded. Only when at least two
are present, all 8 sublayers are written.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:10:59 +01:00
Carl Eugen Hoyos
4405ff2cae
lavc/hevc_ps: Fix default display window offsets for yuv422 and yuv444.
2016-03-13 13:15:17 +01:00
Carl Eugen Hoyos
db4786f1cf
lavc/hevc_ps: Support GBR decoding.
2016-03-13 09:33:38 +01:00
Carl Eugen Hoyos
a6a52ef29a
lavc/hevc_ps: Fix offset for yuv422 and yuv444.
...
Fixes ticket #4980 .
Analyzed-by: kurosu and Hendrik
Reviewed-by: Ronald
2016-03-09 14:00:57 +01:00
Hendrik Leppkes
8c399bd5ce
dxva2_hevc: properly signal the num_delta_pocs from the SPS RPS
...
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>
2016-02-13 14:19:54 +01:00
Hendrik Leppkes
f85cc3bf12
hevc: set profile based on the profile compatibility flags if needed
...
This fixes retrieving a valid profile for many of the FATE conformance samples,
allowing them to be properly decoded by the HWAccel after adding a profile check.
2016-02-01 10:34:23 +01:00
Michael Niedermayer
93f30f825c
avcodec/hevc_ps: Check chroma_format_idc
...
Fixes out of array access
Fixes: 24d05e8b84676799c735c9e27d97895e/asan_heap-oob_1b70f6a_2955_7c3652a7f370f9f3ef40642bc2c99bb2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-05 15:04:57 +01:00
Hendrik Leppkes
5d324dae11
dxva2_hevc: properly signal the num_delta_pocs from the SPS RPS
...
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
2015-08-03 15:48:21 +02:00
Michael Niedermayer
94d68a41fa
Merge commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615'
...
* commit '7c6eb0a1b7bf1aac7f033a7ec6d8cacc3b5c2615':
lavc: AV-prefix all codec flags
Conflicts:
doc/examples/muxing.c
ffmpeg.c
ffmpeg_opt.c
ffplay.c
libavcodec/aacdec.c
libavcodec/aacenc.c
libavcodec/ac3dec.c
libavcodec/ac3enc_float.c
libavcodec/atrac1.c
libavcodec/atrac3.c
libavcodec/atrac3plusdec.c
libavcodec/dcadec.c
libavcodec/ffv1enc.c
libavcodec/h264.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb.c
libavcodec/imc.c
libavcodec/libmp3lame.c
libavcodec/libtheoraenc.c
libavcodec/libtwolame.c
libavcodec/libvpxenc.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/mpeg12dec.c
libavcodec/mpeg12enc.c
libavcodec/mpegaudiodec_template.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/mpegvideo_motion.c
libavcodec/nellymoserdec.c
libavcodec/nellymoserenc.c
libavcodec/nvenc.c
libavcodec/on2avc.c
libavcodec/options_table.h
libavcodec/opus_celt.c
libavcodec/pngenc.c
libavcodec/ra288.c
libavcodec/ratecontrol.c
libavcodec/twinvq.c
libavcodec/vc1_block.c
libavcodec/vc1_loopfilter.c
libavcodec/vc1_mc.c
libavcodec/vc1dec.c
libavcodec/vorbisdec.c
libavcodec/vp3.c
libavcodec/wma.c
libavcodec/wmaprodec.c
libavcodec/x86/hpeldsp_init.c
libavcodec/x86/me_cmp_init.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:10:35 +02:00
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Michael Niedermayer
f8e4d37983
avcodec/hevc_ps: Also print depth in failure path of map_pixel_format()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 05:12:00 +02:00
Luca Barbato
c88c5eef53
hevc: Split the struct setup from the pps parsing
2015-07-15 19:39:44 +02:00
Michael Niedermayer
4e160ecdbc
Merge commit 'c88c5eef53ff1619724ba47b722da64ec0593dab'
...
* commit 'c88c5eef53ff1619724ba47b722da64ec0593dab':
hevc: Split the struct setup from the pps parsing
Conflicts:
libavcodec/hevc_ps.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-15 21:21:40 +02:00
Michael Niedermayer
3edc6d1cd9
Merge commit '32c8d89c036b0e75ece74aea638df587099def0b'
...
* commit '32c8d89c036b0e75ece74aea638df587099def0b':
hevc: Print the non-supported chroma_format_idc
Conflicts:
libavcodec/hevc_ps.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 01:33:58 +02:00
Michael Niedermayer
e17a459af0
Merge commit '8e373fe048812a25b238ea60a7052b8c07639a42'
...
* commit '8e373fe048812a25b238ea60a7052b8c07639a42':
hevc: Factor out the pixel format mapping from the sps parser
Conflicts:
libavcodec/hevc_ps.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-14 01:23:39 +02:00
Luca Barbato
32c8d89c03
hevc: Print the non-supported chroma_format_idc
...
And drop the spurious newline.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-13 21:59:53 +02:00
Luca Barbato
8e373fe048
hevc: Factor out the pixel format mapping from the sps parser
...
The function will grow larger as more formats are supported.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-07-13 21:59:53 +02:00
Anton Khirnov
b9f76d19d8
hevc_ps: make sure failing to decode an SPS always returns an error
...
Some of the goto err clauses do not set the error code. It seems better
to fall back on INVALIDDATA instead of adding it everywhere explicitly.
2015-07-13 07:49:03 +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
b11acd5732
hevc: remove HEVCContext usage from hevc_ps
...
Factor out the parameter sets into a separate struct and use it instead.
This will allow us to reuse this code in the parser.
2015-07-12 18:15:39 +02:00
Michael Niedermayer
15893adbdb
avcodec/hevc_ps: Remove gotos from ff_hevc_parse_sps()
...
They are currently unnecessary
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 13:02:07 +02:00
Michael Niedermayer
1dacf26964
avcodec/hevc_ps: Do not return success on failures in ff_hevc_parse_sps()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-09 04:50:05 +02:00
Michael Niedermayer
1d4194e696
Merge commit 'fd124d8357b1becfde3ac8d5e3320127cf97a5b7'
...
* 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>
2015-07-09 04:50:00 +02:00
Anton Khirnov
fd124d8357
hevc_ps: split the code for parsing the SPS and exporting it into the context
...
This will be useful in the later commits, where we want to parse an SPS
without having a whole decoding context.
2015-07-08 23:36:22 +02:00
Michael Niedermayer
57078e4d25
avcodec/hevc_ps: Only discard overread VPS if a previous is available
...
Fixes Ticket4621
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-18 18:03:21 +02:00
Michael Niedermayer
04da0d2586
avcodec/hevc_ps: Move log2_ctb_size checks up to prevent undefined shift operations
...
Fixes CID1292293
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:38:11 +02:00
Michael Niedermayer
65e5032955
avcodec/hevc_ps: Explicitly check num_tile_* for negative values
...
This fixes nothing but maybe helps coverity which does not see that this is failing later
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
b195aa5d52
avcodec/hevc_ps: Check vps_num_hrd_parameters
...
Fix CID1239052 part2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +02:00
Michael Niedermayer
16c95b1073
avcodec/hevc_ps: More completely check vps_num_layer_sets
...
Fixes CID1239052 part1
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-13 14:26:17 +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
James Almer
ba625dd8a1
avcodec: use av_mod_uintp2() where useful
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-04-21 22:41:20 -03:00
Michael Niedermayer
235863463a
Merge commit 'df528b11ac607de13a7c438f2a51f2119f71a03c'
...
* commit 'df528b11ac607de13a7c438f2a51f2119f71a03c':
hevc: make sure no dangling pointers remain around on VPS/SPS change
Conflicts:
libavcodec/hevc_ps.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 22:16:10 +02:00
Michael Niedermayer
41dde62d7f
Merge commit 'ce0bc09ee2580d49fec90a6eb0de2ba1b580c854'
...
* commit 'ce0bc09ee2580d49fec90a6eb0de2ba1b580c854':
hevc: do not change the VPS if its contents are the same
Conflicts:
libavcodec/hevc_ps.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-03 21:37:03 +02:00
Anton Khirnov
df528b11ac
hevc: make sure no dangling pointers remain around on VPS/SPS change
2015-04-03 13:10:03 +02:00
Anton Khirnov
ce0bc09ee2
hevc: do not change the VPS if its contents are the same
...
This is the same as is done for SPS.
2015-04-03 13:10:03 +02:00
Michael Niedermayer
06c70d4537
avcodec/hevc_ps: Check cropping parameters more correctly
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 12:55:03 +01:00
Anton Khirnov
5127c00b97
hevc: zero the correct variables on invalid crop parameters
...
It's the output_window that is applied to the output frame, not
pic_conf_win
2015-03-21 09:35:19 +01:00
Michael Niedermayer
701c965a76
avcodec/hevc_ps: Check that log2_ctb_size is not smaller than the bounds of all profiles
...
Fixes: unaligned memory access
Fixes: signal_sigsegv_3344165_576_cov_3406448105_DBLK_A_MAIN10_VIXS_2.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Suggested-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 22:30:25 +01:00
Michael Niedermayer
205b2ba3d6
avcodec/hevc_ps: Sanity checks for some log2_* values
...
log2 values which imply numeric overflow are not supported
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-25 17:40:47 +01:00