aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vaapi_hevc.c
Commit message (Collapse)AuthorAgeFilesLines
* lavc/vaapi: Add support for remaining 10/12bit profilesPhilip Langdale2022-09-031-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the necessary pixel formats defined, we can now expose support for the remaining 10/12bit combinations that VAAPI can handle. Specifically, we are adding support for: * HEVC ** 12bit 420 ** 10bit 422 ** 12bit 422 ** 10bit 444 ** 12bit 444 * VP9 ** 10bit 444 ** 12bit 444 These obviously require actual hardware support to be usable, but where that exists, it is now enabled. Note that unlike YUVA/YUVX, the Intel driver does not formally expose support for the alphaless formats XV30 and XV360, and so we are implicitly discarding the alpha from the decoder and passing undefined values for the alpha to the encoder. If a future encoder iteration was to actually do something with the alpha bits, we would need to use a formal alpha capable format or the encoder would need to explicitly accept the alphaless format.
* lavc/vaapi_hevc: fill rext luma/chroma offset in the right wayXu Guangxin2022-06-241-16/+39
| | | | | | | | | For range extension, the luma/chroma offset is larger than 8 bits, we need fill the 16 bits version. Signed-off-by: Xu Guangxin <guangxin.xu@intel.com> Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* lavc/vaapi_hevc: add missing max_8bit_constraint_flagLinjie Fu2020-05-271-0/+1
| | | | | | This is accidentally missed while rebasing. Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* lavc: Rename hwaccel.h to hwconfig.hMark Thompson2020-04-261-1/+1
| | | | | This already applied to decoders as well as hwaccels, and adding encoder support was going to make the name even more inaccurate.
* lavc/vaapi_hevc: add function to find exact va_profile for REXTLinjie Fu2020-02-241-0/+78
| | | | | | | | | | | Add vaapi_parse_rext_profile and use profile constraint flags to determine the exact va_profile for HEVC_REXT. If profile mismatch is allowed, select Main profile by default. Add build object in Makefile for h265_profile_level dependency. Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* lavc/vaapi_hevc: extend parameter buffer to ParameterBufferHEVCExtensionLinjie Fu2020-02-241-19/+85
| | | | | | | | | Extend ParameterBufferHEVC to ParameterBufferHEVCExtension for both VAPicture and VASlice. Pass Range Extension flags to support the decode for HEVC REXT. Signed-off-by: Linjie Fu <linjie.fu@intel.com>
* lavc/vaapi_hevc: Do not initialize fields twice.Carl Eugen Hoyos2019-03-281-2/+0
| | | | | | | | | | | | | | | | | Fixes the following compilation warnings: libavcodec/vaapi_hevc.c:155:21: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] .pic_fields.bits = { ~^~~~ libavcodec/vaapi_hevc.c:125:57: note: previous initialization is here .pic_fields.value = 0, ^ libavcodec/vaapi_hevc.c:175:31: warning: initializer overrides prior initialization of this subobject [-Winitializer-overrides] .slice_parsing_fields.bits = { ~^~~~ libavcodec/vaapi_hevc.c:126:57: note: previous initialization is here .slice_parsing_fields.value = 0, Reviewed-by: Mark Thompson
* lavc: Mark all AVHWAccel structures as constMark Thompson2017-11-261-1/+1
|
* Merge commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24'James Almer2017-11-111-0/+1
|\ | | | | | | | | | | | | | | | | * commit 'b46a77f19ddc4b2b5fa3187835ceb602a5244e24': lavc: external hardware frame pool initialization Includes the fix from e724bdfffbd3c27aac53d1f32f20f105f37caef0 Merged-by: James Almer <jamrial@gmail.com>
| * lavc: external hardware frame pool initializationwm42017-10-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This adds a new API, which allows the API user to query the required AVHWFramesContext parameters. This also reduces code duplication across the hwaccels by introducing ff_decode_get_hw_frames_ctx(), which uses the new API function. It takes care of initializing the hw_frames_ctx if needed, and does additional error handling and API usage checking. Support for VDA and Cuvid missing. Signed-off-by: Anton Khirnov <anton@khirnov.net>
| * hevcdec: add a VAAPI hwaccelAnton Khirnov2016-12-191-0/+439
| | | | | Partially based on a patch by Timo Rothenpieler <timo@rothenpieler.org>. Additional scaling list handling fix by Jun Zhao <mypopydev@gmail.com>.
* Merge commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f'James Almer2017-03-231-7/+7
| | | | | | | * commit '0bfdcce4d42a6e654c00ea5f9237dc987626457f': hevc: move the SliceType enum to hevc.h Merged-by: James Almer <jamrial@gmail.com>
* 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>
* vaapi_hevc: Mark as async-safeMark Thompson2017-03-221-0/+2
|
* vaapi_hevc: Convert to use the new VAAPI hwaccel codeAnton Khirnov2017-01-171-319/+268
| | | | | (cherry picked from commit ea8b730d8e67152107d7fcdd5590bbb51ec236b1) Signed-off-by: Mark Thompson <sw@jkqxz.net>
* lavc/vaapi_hevc: fix scaling list duplicate transfer issue.Jun Zhao2016-11-231-7/+5
| | | | | | | | | | | | scaling list is already transfered to raster scan during head parsing, so no need to transfer it again. And after this fix, FATE test SLIST_A_Sony_4/SLIST_B_Sony_8/ SLIST_C_Sony_3/SLIST_D_Sony_9 will pass in i965/Skylake. Signed-off-by: Wang, Yi A <yi.a.wamg@intel.com> Signed-off-by: Jun Zhao <jun.zhao@intel.com> Signed-off-by: Mark Thompson <sw@jkqxz.net>
* doc: fix spelling errorsAndreas Cadhalpun2015-10-091-1/+1
| | | | | Reviewed-by: Lou Logan <lou@lrcd.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* vaapi: Add hevc hwaccel supportTimo Rothenpieler2015-08-271-0/+490
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>