summaryrefslogtreecommitdiffstats
path: root/libavcodec/qsvenc_hevc.c
Commit message (Collapse)AuthorAgeFilesLines
* avcodec: add metadata to identify wrappers and hardware decoderswm42017-12-141-1/+2
| | | | | | | | | | | | | | | | | | | | | Explicitly identify decoder/encoder wrappers with a common name. This saves API users from guessing by the name suffix. For example, they don't have to guess that "h264_qsv" is the h264 QSV implementation, and instead they can just check the AVCodec .codec and .wrapper_name fields. Explicitly mark AVCodec entries that are hardware decoders or most likely hardware decoders with new AV_CODEC_CAPs. The purpose is allowing API users listing hardware decoders in a more generic way. The proposed AVCodecHWConfig does not provide this information fully, because it's concerned with decoder configuration, not information about the fact whether the hardware is used or not. AV_CODEC_CAP_HYBRID exists specifically for QSV, which can have software implementations in case the hardware is not capable. Based on a patch by Philip Langdale <philipl@overt.org>. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* qsv: Make the hevc idr_interval consistent with the h264 oneLuca Barbato2017-10-181-1/+5
| | | | | | | | | | | | | | According to the MediaSDK documentation the idr_interval value has a different meaning depending on the codec: 0 in H264 means make every I-frame IDR, in HEVC it means to have it only at the beginning. 1 in H264 means every other I-frame is not-IDR, in HEVC it means that every I-frame is IDR. Keep the behaviour consistent between the two encoders by increasing by 1 internally the idr_interval value for HEVC.
* qsv: Expose idr_interval for hevc as wellLuca Barbato2017-10-141-0/+1
|
* qsv: Load the hw hevc plugin by default on LinuxLuca Barbato2017-09-111-1/+7
| | | | | | Only on Windows the software plugin is available. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* Mark some arrays that never change as const.Anton Khirnov2017-02-011-2/+2
|
* hevcdec: move decoder-independent declarations into a separate headerAnton Khirnov2016-10-161-5/+6
| | | | | | | 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.
* hevc: rename hevc.[ch] to hevcdec.[ch]Anton Khirnov2016-10-161-1/+1
| | | | | This is more consistent with the rest of libav and frees up the hevc.h name for decoder-independent shared declarations.
* qsvenc: add support for p010Anton Khirnov2016-07-221-0/+1
|
* hevc_parse: rename into h2645_parseAnton Khirnov2016-03-281-2/+3
| | | | This code will be shared with h264.
* lavc: Move b_frame_strategy and b_sensitivity to codec private optionsVittorio Giovara2016-01-211-0/+2
| | | | | | | | | | The b_frame_strategy option is only used by mpegvideoenc, qsv, x264, and xavs, while b_sensitivity is only used by mpegvideoenc. These are very codec-specific options, so deprecate the global variants. Set proper limits to the maximum allowed values. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qsvenc_hevc: improve the default settingsMaxym Dmytrychenko2016-01-011-2/+2
| | | | | | | Use 8 B-frames and modify the GOP size to be a multiple of the B-frame count. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qsvenc: expose additional encoding optionsAnton Khirnov2015-11-201-0/+1
|
* qsvenc: factor out common optionsAnton Khirnov2015-11-201-8/+1
|
* lavc: AV-prefix a few left out capabilitiesVittorio Giovara2015-10-151-1/+1
|
* qsvenc: mark the encoders as INIT_CLEANUPAnton Khirnov2015-09-281-0/+1
| | | | Should fix some leaks on init failure.
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-271-1/+1
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qsvenc_hevc: fix enum declarationAnton Khirnov2015-07-251-2/+2
| | | | Declare a named enum, not a variable with anonymous enum type.
* qsvenc_hevc: use the correct HW plugin UIDAnton Khirnov2015-07-221-1/+1
|
* lavc: add Intel libmfx-based HEVC encoderAnton Khirnov2015-07-081-0/+272
OpenPOWER on IntegriCloud