diff options
author | Xu Guangxin <guangxin.xu@intel.com> | 2021-01-05 10:43:41 +0800 |
---|---|---|
committer | Linjie Fu <linjie.justin.fu@gmail.com> | 2021-01-23 16:07:27 +0000 |
commit | d78ecf10bd745cb69a71b32419e0661bfdcfb1fd (patch) | |
tree | 6f4fc489101e6d0243ff4c0794f602bccab6782f /libavcodec/qsvdec.c | |
parent | 399c1f923574234e899beef72fe249863bd1722a (diff) | |
download | ffmpeg-d78ecf10bd745cb69a71b32419e0661bfdcfb1fd.tar.gz |
avcodec/qsvdec: refact, move qsvdec_other.c to qsvdec.c
Signed-off-by: Xu Guangxin <guangxin.xu@intel.com>
Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com>
Diffstat (limited to 'libavcodec/qsvdec.c')
-rw-r--r-- | libavcodec/qsvdec.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c index 18ae288b70..3ca16dafae 100644 --- a/libavcodec/qsvdec.c +++ b/libavcodec/qsvdec.c @@ -683,7 +683,22 @@ static av_cold int qsv_decode_init(AVCodecContext *avctx) QSVDecContext *s = avctx->priv_data; int ret; - if (avctx->codec_id == AV_CODEC_ID_HEVC && s->load_plugin != LOAD_PLUGIN_NONE) { + if (avctx->codec_id == AV_CODEC_ID_VP8) { + static const char *uid_vp8dec_hw = "f622394d8d87452f878c51f2fc9b4131"; + + av_freep(&s->qsv.load_plugins); + s->qsv.load_plugins = av_strdup(uid_vp8dec_hw); + if (!s->qsv.load_plugins) + return AVERROR(ENOMEM); + } else if (avctx->codec_id == AV_CODEC_ID_VP9) { + static const char *uid_vp9dec_hw = "a922394d8d87452f878c51f2fc9b4131"; + + av_freep(&s->qsv.load_plugins); + s->qsv.load_plugins = av_strdup(uid_vp9dec_hw); + if (!s->qsv.load_plugins) + return AVERROR(ENOMEM); + } + else if (avctx->codec_id == AV_CODEC_ID_HEVC && s->load_plugin != LOAD_PLUGIN_NONE) { static const char * const uid_hevcdec_sw = "15dd936825ad475ea34e35f3f54217a6"; static const char * const uid_hevcdec_hw = "33a61c0b4c27454ca8d85dde757c6f8e"; @@ -846,3 +861,27 @@ static const AVOption options[] = { #if CONFIG_H264_QSV_DECODER DEFINE_QSV_DECODER(h264, H264, "h264_mp4toannexb") #endif + +#if CONFIG_MPEG2_QSV_DECODER +DEFINE_QSV_DECODER(mpeg2, MPEG2VIDEO, NULL) +#endif + +#if CONFIG_VC1_QSV_DECODER +DEFINE_QSV_DECODER(vc1, VC1, NULL) +#endif + +#if CONFIG_MJPEG_QSV_DECODER +DEFINE_QSV_DECODER(mjpeg, MJPEG, NULL) +#endif + +#if CONFIG_VP8_QSV_DECODER +DEFINE_QSV_DECODER(vp8, VP8, NULL) +#endif + +#if CONFIG_VP9_QSV_DECODER +DEFINE_QSV_DECODER(vp9, VP9, NULL) +#endif + +#if CONFIG_AV1_QSV_DECODER +DEFINE_QSV_DECODER(av1, AV1, NULL) +#endif |