summaryrefslogtreecommitdiff
path: root/libavcodec/hevc_ps.h
Commit message (Collapse)AuthorAge
* hevc_ps: expose sps_extension_present_flagLynne2023-05-29
|
* hevc_ps: expose conformance_window_flagLynne2023-05-29
|
* hevc_ps: expose sublayer_ordering_info_flagLynne2023-05-29
|
* hevc_ps: expose vui_present flagLynne2023-05-29
|
* hevc_ps: expose rps fieldsLynne2023-05-29
|
* hevc_ps: expose log2_diff_max_min_transform_block_sizeLynne2023-05-29
|
* hevc_ps: expose pps_extension_present_flagLynne2023-05-29
|
* hevc_ps: expose vps_idLynne2023-05-29
|
* hevc_ps: expose pps_idLynne2023-05-29
|
* hevc_ps: expose SPS and VPS headersLynne2023-05-29
|
* avcodec/hevc_ps: add proper bound checks around cm_ref_layer_id in ↵Clement Lecigne2023-05-17
| | | | | | | colour_mapping_table. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_ps: use get_ue_golomb() for some SPS Screen Content Coding ↵James Almer2023-04-30
| | | | | | | | | extension fields Also remove the _minus1 part of the name to be in line with the rest of the decoder. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_ps: use get_ue_golomb() for some PPS Screen Content Coding ↵James Almer2023-04-28
| | | | | | | | | | extension fields Also remove the _minus8 part of the name to be in line with the rest of the decoder, and fix the storage type for pps_palette_predictor_initializer, to support hbd values. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_ps: use get_ue_golomb() for some PPS multilayer extension fieldsJames Almer2023-04-20
| | | | | | | Also remove the _plus* and _minus* parts of some of these to be in line with other similar fields in the decoder. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_ps: fix storage type for some PPS multilayer extension fieldsJames Almer2023-04-20
| | | | | | The spec states that the range of values for them is −2^14 to 2^14 − 1, inclusive. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevc_ps: further constrain allowed num_ref_loc_offsets valuesJames Almer2023-04-20
| | | | | | | The spec says: "The value of num_ref_loc_offsets shall be in the range of 0 to vps_max_layers_minus1, inclusive". Signed-off-by: James Almer <jamrial@gmail.com>
* lavc/hevc_ps: Add SPS/PPS parse support for HEVC extension syntaxLinjie Fu2023-02-27
| | | | | | | | | | | | 1. Add extension syntax according to 7.3.2.2.3/7.3.2.3.3 in T-REC-H.265-201911. 2. Keep using parsed PPS when bitstream overread for compatibility. For example, the clip PS_A_VIDYO_3.bit in FATE test has incomplete extension syntax which will be overread and un-decodable if without this change. 3. Format brace in pps_range_extensions(). Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* avcodec/(h264|hevc)_ps: Factor common VUI code outAndreas Rheinhardt2022-12-01
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* hevc: move SliceHeader and LongTermRPS back to hevcdec.hAnton Khirnov2020-06-08
| | | | | | | They are no longer necessary there and have nothing to do with parameter sets, so do not belong in hevc_ps.h. This effectively reverts 4aaace8b25.
* lavc/hevc: Add poc_msb_present filed in LongTermRPSXu Guangxin2020-05-27
| | | | | | | | | | delta_poc_msb_present_flag is needed in find_ref_idx() to indicate whether MSB of POC should be taken into account. Details in 8.3.2. Signed-off-by: Xu Guangxin <guangxin.xu@intel.com> Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* lavc/hevc_ps: parse constraint flags for HEVC REXTLinjie Fu2020-02-24
| | | | | | | | | Parse all the constraint flags according to ITU-T Rec. H.265 (02/2018). They have to be passed to hw decoders to determine the exact profile for Range Extension HEVC. Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* avcodec/hevc_ps: Fix integer overflow with num_tile_rows and num_tile_columnsMichael Niedermayer2019-06-30
| | | | | | | | | Fixes: signed integer overflow: -2147483648 - 1 cannot be represented in type 'int' Fixes: 14880/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5130977304641536 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_ps: Expose all SPS and PPS range extension flagsPhilip Langdale2019-02-16
| | | | | | | We need all the flags to be exposed to be able to pass them on to HW decoders. I did not attempt to nuance any of the warnings about flags being unsupported as there's no way, at the point we extract flags, to say whether an HW decoder is being used.
* avcodec/nvdec_hevc: add support for new extended sps/pps flags from SDK 8.1Timo Rothenpieler2018-04-13
|
* avcodec/hevc_ps: add a function to uninitialize parameter set buffersJames Almer2018-01-21
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* hevc: Improve stream constraint values in common headerMark Thompson2017-10-17
| | | | | | | | | | Add comments to describe the sources of the constraint values expressed here, and add some more related values which will be used in following patches. Fix the incorrect values for SPS and PPS count (they are not the same as those used for H.264), and remove HEVC_MAX_CU_SIZE because it is not used anywhere. (cherry picked from commit b88da98b34809dedf8882d43ed543632ed233538)
* avcodec/hevc_ps: extract SPS fields required for hvcC constructionAman Gupta2017-09-28
| | | | | Signed-off-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevc_ps: Fix c?_qp_offset_list sizeMichael Niedermayer2017-09-12
| | | | | | | | Fixes: runtime error: index 5 out of bounds for type 'int8_t const[5]' Fixes:3175/clusterfuzz-testcase-minimized-4736774054084608 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hevcdec: export cropping information instead of handling it internallyJames Almer2017-05-26
| | | | | | | | | | | | | | | | 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>
* avcodec/hevcdec: move SliceHeader struct definition to hevc_psJames Almer2017-05-05
| | | | | | | | 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 ff_hevc_compute_poc()James Almer2017-05-05
| | | | | | | | 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>
* Merge commit 'f6e2f8a9ffda2247bffba991450990d075ea68e3'James Almer2017-03-23
| | | | | | | * commit 'f6e2f8a9ffda2247bffba991450990d075ea68e3': hevcdec: move parameter set parsing into a separate header Merged-by: James Almer <jamrial@gmail.com>
* hevcdec: move parameter set parsing into a separate headerAnton Khirnov2016-10-16
This code is independent from the decoder, so it makes more sense for it to to have its own header.