* [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder
@ 2024-06-12 6:59 fei.w.wang-at-intel.com
2024-06-12 7:07 ` Wang, Fei W
0 siblings, 1 reply; 5+ messages in thread
From: fei.w.wang-at-intel.com @ 2024-06-12 6:59 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: fei.w.wang
From: Fei Wang <fei.w.wang@intel.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
---
Changelog | 1 +
configure | 1 +
doc/decoders.texi | 2 +-
libavcodec/allcodecs.c | 1 +
libavcodec/qsv.c | 4 ++++
libavcodec/qsvdec.c | 7 ++++++-
libavcodec/version.h | 2 +-
7 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/Changelog b/Changelog
index 03d6b29ad8..a238a1c1f3 100644
--- a/Changelog
+++ b/Changelog
@@ -12,6 +12,7 @@ version <next>:
- qsv_params option added for QSV encoders
- VVC decoder compatible with DVB test content
- xHE-AAC decoder
+- Intel QSV-accelerated VVC decoding
version 7.0:
diff --git a/configure b/configure
index 6c5b8aab9a..b4cf12658d 100755
--- a/configure
+++ b/configure
@@ -3423,6 +3423,7 @@ av1_qsv_encoder_deps="libvpl"
av1_amf_encoder_deps="amf"
av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
+vvc_qsv_decoder_select="qsvdec"
# parsers
aac_parser_select="adts_header mpeg4audio"
diff --git a/doc/decoders.texi b/doc/decoders.texi
index 293c82c2ba..2fcc761d2f 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -157,7 +157,7 @@ Force to use a specific number of threads
@section QSV Decoders
The family of Intel QuickSync Video decoders (VC1, MPEG-2, H.264, HEVC,
-JPEG/MJPEG, VP8, VP9, AV1).
+JPEG/MJPEG, VP8, VP9, AV1, VVC).
@subsection Common Options
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index b102a8069e..a73b4e1673 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -885,6 +885,7 @@ extern const FFCodec ff_vp9_mediacodec_encoder;
extern const FFCodec ff_vp9_qsv_decoder;
extern const FFCodec ff_vp9_vaapi_encoder;
extern const FFCodec ff_vp9_qsv_encoder;
+extern const FFCodec ff_vvc_qsv_decoder;
// null codecs
extern const FFCodec ff_vnull_decoder;
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 0c6fbd0dc0..221c1b24e5 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -73,6 +73,10 @@ int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id)
case AV_CODEC_ID_AV1:
return MFX_CODEC_AV1;
#endif
+#if QSV_VERSION_ATLEAST(2, 11)
+ case AV_CODEC_ID_VVC:
+ return MFX_CODEC_VVC;
+#endif
default:
break;
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index f2cd6ae05c..9ad3439991 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -933,7 +933,8 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q,
frame->pict_type = ff_qsv_map_pictype(aframe.frame->dec_info.FrameType);
if (avctx->codec_id == AV_CODEC_ID_H264 ||
- avctx->codec_id == AV_CODEC_ID_HEVC) {
+ avctx->codec_id == AV_CODEC_ID_HEVC ||
+ avctx->codec_id == AV_CODEC_ID_VVC) {
if (aframe.frame->dec_info.FrameType & MFX_FRAMETYPE_IDR)
frame->flags |= AV_FRAME_FLAG_KEY;
else
@@ -1300,3 +1301,7 @@ DEFINE_QSV_DECODER(vp9, VP9, NULL)
#if CONFIG_AV1_QSV_DECODER
DEFINE_QSV_DECODER(av1, AV1, NULL)
#endif
+
+#if CONFIG_VVC_QSV_DECODER
+DEFINE_QSV_DECODER(vvc, VVC, NULL)
+#endif
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 7acb261bb3..37c4c39451 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
#include "version_major.h"
-#define LIBAVCODEC_VERSION_MINOR 7
+#define LIBAVCODEC_VERSION_MINOR 8
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder
2024-06-12 6:59 [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder fei.w.wang-at-intel.com
@ 2024-06-12 7:07 ` Wang, Fei W
0 siblings, 0 replies; 5+ messages in thread
From: Wang, Fei W @ 2024-06-12 7:07 UTC (permalink / raw)
To: ffmpeg-devel
On Wed, 2024-06-12 at 14:59 +0800, fei.w.wang@intel.com wrote:
> From: Fei Wang <fei.w.wang@intel.com>
Sorry for duplicate version. Please ignore this one.
Thanks
>
> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> ---
> Changelog | 1 +
> configure | 1 +
> doc/decoders.texi | 2 +-
> libavcodec/allcodecs.c | 1 +
> libavcodec/qsv.c | 4 ++++
> libavcodec/qsvdec.c | 7 ++++++-
> libavcodec/version.h | 2 +-
> 7 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/Changelog b/Changelog
> index 03d6b29ad8..a238a1c1f3 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -12,6 +12,7 @@ version <next>:
> - qsv_params option added for QSV encoders
> - VVC decoder compatible with DVB test content
> - xHE-AAC decoder
> +- Intel QSV-accelerated VVC decoding
>
>
> version 7.0:
> diff --git a/configure b/configure
> index 6c5b8aab9a..b4cf12658d 100755
> --- a/configure
> +++ b/configure
> @@ -3423,6 +3423,7 @@ av1_qsv_encoder_deps="libvpl"
> av1_amf_encoder_deps="amf"
> av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
> av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
> +vvc_qsv_decoder_select="qsvdec"
>
> # parsers
> aac_parser_select="adts_header mpeg4audio"
> diff --git a/doc/decoders.texi b/doc/decoders.texi
> index 293c82c2ba..2fcc761d2f 100644
> --- a/doc/decoders.texi
> +++ b/doc/decoders.texi
> @@ -157,7 +157,7 @@ Force to use a specific number of threads
> @section QSV Decoders
>
> The family of Intel QuickSync Video decoders (VC1, MPEG-2, H.264,
> HEVC,
> -JPEG/MJPEG, VP8, VP9, AV1).
> +JPEG/MJPEG, VP8, VP9, AV1, VVC).
>
> @subsection Common Options
>
> diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
> index b102a8069e..a73b4e1673 100644
> --- a/libavcodec/allcodecs.c
> +++ b/libavcodec/allcodecs.c
> @@ -885,6 +885,7 @@ extern const FFCodec ff_vp9_mediacodec_encoder;
> extern const FFCodec ff_vp9_qsv_decoder;
> extern const FFCodec ff_vp9_vaapi_encoder;
> extern const FFCodec ff_vp9_qsv_encoder;
> +extern const FFCodec ff_vvc_qsv_decoder;
>
> // null codecs
> extern const FFCodec ff_vnull_decoder;
> diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
> index 0c6fbd0dc0..221c1b24e5 100644
> --- a/libavcodec/qsv.c
> +++ b/libavcodec/qsv.c
> @@ -73,6 +73,10 @@ int ff_qsv_codec_id_to_mfx(enum AVCodecID
> codec_id)
> case AV_CODEC_ID_AV1:
> return MFX_CODEC_AV1;
> #endif
> +#if QSV_VERSION_ATLEAST(2, 11)
> + case AV_CODEC_ID_VVC:
> + return MFX_CODEC_VVC;
> +#endif
>
> default:
> break;
> diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
> index f2cd6ae05c..9ad3439991 100644
> --- a/libavcodec/qsvdec.c
> +++ b/libavcodec/qsvdec.c
> @@ -933,7 +933,8 @@ static int qsv_decode(AVCodecContext *avctx,
> QSVContext *q,
> frame->pict_type = ff_qsv_map_pictype(aframe.frame-
> >dec_info.FrameType);
>
> if (avctx->codec_id == AV_CODEC_ID_H264 ||
> - avctx->codec_id == AV_CODEC_ID_HEVC) {
> + avctx->codec_id == AV_CODEC_ID_HEVC ||
> + avctx->codec_id == AV_CODEC_ID_VVC) {
> if (aframe.frame->dec_info.FrameType &
> MFX_FRAMETYPE_IDR)
> frame->flags |= AV_FRAME_FLAG_KEY;
> else
> @@ -1300,3 +1301,7 @@ DEFINE_QSV_DECODER(vp9, VP9, NULL)
> #if CONFIG_AV1_QSV_DECODER
> DEFINE_QSV_DECODER(av1, AV1, NULL)
> #endif
> +
> +#if CONFIG_VVC_QSV_DECODER
> +DEFINE_QSV_DECODER(vvc, VVC, NULL)
> +#endif
> diff --git a/libavcodec/version.h b/libavcodec/version.h
> index 7acb261bb3..37c4c39451 100644
> --- a/libavcodec/version.h
> +++ b/libavcodec/version.h
> @@ -29,7 +29,7 @@
>
> #include "version_major.h"
>
> -#define LIBAVCODEC_VERSION_MINOR 7
> +#define LIBAVCODEC_VERSION_MINOR 8
> #define LIBAVCODEC_VERSION_MICRO 100
>
> #define
> LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder
@ 2024-06-12 0:58 fei.w.wang-at-intel.com
2024-06-12 12:12 ` Nuo Mi
0 siblings, 1 reply; 5+ messages in thread
From: fei.w.wang-at-intel.com @ 2024-06-12 0:58 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: fei.w.wang
From: Fei Wang <fei.w.wang@intel.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
---
Changelog | 1 +
configure | 1 +
doc/decoders.texi | 2 +-
libavcodec/allcodecs.c | 1 +
libavcodec/qsv.c | 4 ++++
libavcodec/qsvdec.c | 7 ++++++-
libavcodec/version.h | 2 +-
7 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/Changelog b/Changelog
index 03d6b29ad8..a238a1c1f3 100644
--- a/Changelog
+++ b/Changelog
@@ -12,6 +12,7 @@ version <next>:
- qsv_params option added for QSV encoders
- VVC decoder compatible with DVB test content
- xHE-AAC decoder
+- Intel QSV-accelerated VVC decoding
version 7.0:
diff --git a/configure b/configure
index 6c5b8aab9a..b4cf12658d 100755
--- a/configure
+++ b/configure
@@ -3423,6 +3423,7 @@ av1_qsv_encoder_deps="libvpl"
av1_amf_encoder_deps="amf"
av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
+vvc_qsv_decoder_select="qsvdec"
# parsers
aac_parser_select="adts_header mpeg4audio"
diff --git a/doc/decoders.texi b/doc/decoders.texi
index 293c82c2ba..2fcc761d2f 100644
--- a/doc/decoders.texi
+++ b/doc/decoders.texi
@@ -157,7 +157,7 @@ Force to use a specific number of threads
@section QSV Decoders
The family of Intel QuickSync Video decoders (VC1, MPEG-2, H.264, HEVC,
-JPEG/MJPEG, VP8, VP9, AV1).
+JPEG/MJPEG, VP8, VP9, AV1, VVC).
@subsection Common Options
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
index b102a8069e..a73b4e1673 100644
--- a/libavcodec/allcodecs.c
+++ b/libavcodec/allcodecs.c
@@ -885,6 +885,7 @@ extern const FFCodec ff_vp9_mediacodec_encoder;
extern const FFCodec ff_vp9_qsv_decoder;
extern const FFCodec ff_vp9_vaapi_encoder;
extern const FFCodec ff_vp9_qsv_encoder;
+extern const FFCodec ff_vvc_qsv_decoder;
// null codecs
extern const FFCodec ff_vnull_decoder;
diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
index 0c6fbd0dc0..221c1b24e5 100644
--- a/libavcodec/qsv.c
+++ b/libavcodec/qsv.c
@@ -73,6 +73,10 @@ int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id)
case AV_CODEC_ID_AV1:
return MFX_CODEC_AV1;
#endif
+#if QSV_VERSION_ATLEAST(2, 11)
+ case AV_CODEC_ID_VVC:
+ return MFX_CODEC_VVC;
+#endif
default:
break;
diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
index f2cd6ae05c..9ad3439991 100644
--- a/libavcodec/qsvdec.c
+++ b/libavcodec/qsvdec.c
@@ -933,7 +933,8 @@ static int qsv_decode(AVCodecContext *avctx, QSVContext *q,
frame->pict_type = ff_qsv_map_pictype(aframe.frame->dec_info.FrameType);
if (avctx->codec_id == AV_CODEC_ID_H264 ||
- avctx->codec_id == AV_CODEC_ID_HEVC) {
+ avctx->codec_id == AV_CODEC_ID_HEVC ||
+ avctx->codec_id == AV_CODEC_ID_VVC) {
if (aframe.frame->dec_info.FrameType & MFX_FRAMETYPE_IDR)
frame->flags |= AV_FRAME_FLAG_KEY;
else
@@ -1300,3 +1301,7 @@ DEFINE_QSV_DECODER(vp9, VP9, NULL)
#if CONFIG_AV1_QSV_DECODER
DEFINE_QSV_DECODER(av1, AV1, NULL)
#endif
+
+#if CONFIG_VVC_QSV_DECODER
+DEFINE_QSV_DECODER(vvc, VVC, NULL)
+#endif
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 7acb261bb3..37c4c39451 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
#include "version_major.h"
-#define LIBAVCODEC_VERSION_MINOR 7
+#define LIBAVCODEC_VERSION_MINOR 8
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder
2024-06-12 0:58 fei.w.wang-at-intel.com
@ 2024-06-12 12:12 ` Nuo Mi
2024-06-13 6:29 ` Wang, Fei W
0 siblings, 1 reply; 5+ messages in thread
From: Nuo Mi @ 2024-06-12 12:12 UTC (permalink / raw)
To: FFmpeg development discussions and patches
Hi Fei,
Thank you for the patch.
Which hardware supports this? Could you provide the link?
On Wed, Jun 12, 2024 at 9:03 AM <fei.w.wang-at-intel.com@ffmpeg.org> wrote:
> From: Fei Wang <fei.w.wang@intel.com>
>
> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> ---
> Changelog | 1 +
> configure | 1 +
> doc/decoders.texi | 2 +-
> libavcodec/allcodecs.c | 1 +
> libavcodec/qsv.c | 4 ++++
> libavcodec/qsvdec.c | 7 ++++++-
> libavcodec/version.h | 2 +-
> 7 files changed, 15 insertions(+), 3 deletions(-)
>
> diff --git a/Changelog b/Changelog
> index 03d6b29ad8..a238a1c1f3 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -12,6 +12,7 @@ version <next>:
> - qsv_params option added for QSV encoders
> - VVC decoder compatible with DVB test content
> - xHE-AAC decoder
> +- Intel QSV-accelerated VVC decoding
>
>
> version 7.0:
> diff --git a/configure b/configure
> index 6c5b8aab9a..b4cf12658d 100755
> --- a/configure
> +++ b/configure
> @@ -3423,6 +3423,7 @@ av1_qsv_encoder_deps="libvpl"
> av1_amf_encoder_deps="amf"
> av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
> av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
> +vvc_qsv_decoder_select="qsvdec"
>
It's better to follow the alphabetical order.
You can send another patch to fix av1
>
> # parsers
> aac_parser_select="adts_header mpeg4audio"
> diff --git a/doc/decoders.texi b/doc/decoders.texi
> index 293c82c2ba..2fcc761d2f 100644
> --- a/doc/decoders.texi
> +++ b/doc/decoders.texi
> @@ -157,7 +157,7 @@ Force to use a specific number of threads
> @section QSV Decoders
>
> The family of Intel QuickSync Video decoders (VC1, MPEG-2, H.264, HEVC,
> -JPEG/MJPEG, VP8, VP9, AV1).
> +JPEG/MJPEG, VP8, VP9, AV1, VVC).
>
> @subsection Common Options
>
> diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
> index b102a8069e..a73b4e1673 100644
> --- a/libavcodec/allcodecs.c
> +++ b/libavcodec/allcodecs.c
> @@ -885,6 +885,7 @@ extern const FFCodec ff_vp9_mediacodec_encoder;
> extern const FFCodec ff_vp9_qsv_decoder;
> extern const FFCodec ff_vp9_vaapi_encoder;
> extern const FFCodec ff_vp9_qsv_encoder;
> +extern const FFCodec ff_vvc_qsv_decoder;
>
> // null codecs
> extern const FFCodec ff_vnull_decoder;
> diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
> index 0c6fbd0dc0..221c1b24e5 100644
> --- a/libavcodec/qsv.c
> +++ b/libavcodec/qsv.c
> @@ -73,6 +73,10 @@ int ff_qsv_codec_id_to_mfx(enum AVCodecID codec_id)
> case AV_CODEC_ID_AV1:
> return MFX_CODEC_AV1;
> #endif
> +#if QSV_VERSION_ATLEAST(2, 11)
> + case AV_CODEC_ID_VVC:
> + return MFX_CODEC_VVC;
> +#endif
>
> default:
> break;
> diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
> index f2cd6ae05c..9ad3439991 100644
> --- a/libavcodec/qsvdec.c
> +++ b/libavcodec/qsvdec.c
> @@ -933,7 +933,8 @@ static int qsv_decode(AVCodecContext *avctx,
> QSVContext *q,
> frame->pict_type =
> ff_qsv_map_pictype(aframe.frame->dec_info.FrameType);
>
> if (avctx->codec_id == AV_CODEC_ID_H264 ||
> - avctx->codec_id == AV_CODEC_ID_HEVC) {
> + avctx->codec_id == AV_CODEC_ID_HEVC ||
> + avctx->codec_id == AV_CODEC_ID_VVC) {
> if (aframe.frame->dec_info.FrameType & MFX_FRAMETYPE_IDR)
> frame->flags |= AV_FRAME_FLAG_KEY;
> else
> @@ -1300,3 +1301,7 @@ DEFINE_QSV_DECODER(vp9, VP9, NULL)
> #if CONFIG_AV1_QSV_DECODER
> DEFINE_QSV_DECODER(av1, AV1, NULL)
> #endif
> +
> +#if CONFIG_VVC_QSV_DECODER
> +DEFINE_QSV_DECODER(vvc, VVC, NULL)
> +#endif
> diff --git a/libavcodec/version.h b/libavcodec/version.h
> index 7acb261bb3..37c4c39451 100644
> --- a/libavcodec/version.h
> +++ b/libavcodec/version.h
> @@ -29,7 +29,7 @@
>
> #include "version_major.h"
>
> -#define LIBAVCODEC_VERSION_MINOR 7
> +#define LIBAVCODEC_VERSION_MINOR 8
> #define LIBAVCODEC_VERSION_MICRO 100
>
> #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
> --
> 2.25.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder
2024-06-12 12:12 ` Nuo Mi
@ 2024-06-13 6:29 ` Wang, Fei W
0 siblings, 0 replies; 5+ messages in thread
From: Wang, Fei W @ 2024-06-13 6:29 UTC (permalink / raw)
To: ffmpeg-devel
On Wed, 2024-06-12 at 20:12 +0800, Nuo Mi wrote:
> Hi Fei,
> Thank you for the patch.
> Which hardware supports this? Could you provide the link?
Lunar Lake will. Libvpl will update the supported HW in its code repo
later https://github.com/intel/libvpl. Here is a video on overview of
Lunar Lake:
https://www.youtube.com/watch?v=OGEdN2ahmBQ
>
> On Wed, Jun 12, 2024 at 9:03 AM <fei.w.wang-at-intel.com@ffmpeg.org>
> wrote:
>
> > From: Fei Wang <fei.w.wang@intel.com>
> >
> > Signed-off-by: Fei Wang <fei.w.wang@intel.com>
> > ---
> > Changelog | 1 +
> > configure | 1 +
> > doc/decoders.texi | 2 +-
> > libavcodec/allcodecs.c | 1 +
> > libavcodec/qsv.c | 4 ++++
> > libavcodec/qsvdec.c | 7 ++++++-
> > libavcodec/version.h | 2 +-
> > 7 files changed, 15 insertions(+), 3 deletions(-)
> >
> > diff --git a/Changelog b/Changelog
> > index 03d6b29ad8..a238a1c1f3 100644
> > --- a/Changelog
> > +++ b/Changelog
> > @@ -12,6 +12,7 @@ version <next>:
> > - qsv_params option added for QSV encoders
> > - VVC decoder compatible with DVB test content
> > - xHE-AAC decoder
> > +- Intel QSV-accelerated VVC decoding
> >
> >
> > version 7.0:
> > diff --git a/configure b/configure
> > index 6c5b8aab9a..b4cf12658d 100755
> > --- a/configure
> > +++ b/configure
> > @@ -3423,6 +3423,7 @@ av1_qsv_encoder_deps="libvpl"
> > av1_amf_encoder_deps="amf"
> > av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
> > av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
> > +vvc_qsv_decoder_select="qsvdec"
> >
> It's better to follow the alphabetical order.
> You can send another patch to fix av1
OK, will fix it in v2.
Thanks
Fei
>
> > # parsers
> > aac_parser_select="adts_header mpeg4audio"
> > diff --git a/doc/decoders.texi b/doc/decoders.texi
> > index 293c82c2ba..2fcc761d2f 100644
> > --- a/doc/decoders.texi
> > +++ b/doc/decoders.texi
> > @@ -157,7 +157,7 @@ Force to use a specific number of threads
> > @section QSV Decoders
> >
> > The family of Intel QuickSync Video decoders (VC1, MPEG-2, H.264,
> > HEVC,
> > -JPEG/MJPEG, VP8, VP9, AV1).
> > +JPEG/MJPEG, VP8, VP9, AV1, VVC).
> >
> > @subsection Common Options
> >
> > diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
> > index b102a8069e..a73b4e1673 100644
> > --- a/libavcodec/allcodecs.c
> > +++ b/libavcodec/allcodecs.c
> > @@ -885,6 +885,7 @@ extern const FFCodec ff_vp9_mediacodec_encoder;
> > extern const FFCodec ff_vp9_qsv_decoder;
> > extern const FFCodec ff_vp9_vaapi_encoder;
> > extern const FFCodec ff_vp9_qsv_encoder;
> > +extern const FFCodec ff_vvc_qsv_decoder;
> >
> > // null codecs
> > extern const FFCodec ff_vnull_decoder;
> > diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c
> > index 0c6fbd0dc0..221c1b24e5 100644
> > --- a/libavcodec/qsv.c
> > +++ b/libavcodec/qsv.c
> > @@ -73,6 +73,10 @@ int ff_qsv_codec_id_to_mfx(enum AVCodecID
> > codec_id)
> > case AV_CODEC_ID_AV1:
> > return MFX_CODEC_AV1;
> > #endif
> > +#if QSV_VERSION_ATLEAST(2, 11)
> > + case AV_CODEC_ID_VVC:
> > + return MFX_CODEC_VVC;
> > +#endif
> >
> > default:
> > break;
> > diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
> > index f2cd6ae05c..9ad3439991 100644
> > --- a/libavcodec/qsvdec.c
> > +++ b/libavcodec/qsvdec.c
> > @@ -933,7 +933,8 @@ static int qsv_decode(AVCodecContext *avctx,
> > QSVContext *q,
> > frame->pict_type =
> > ff_qsv_map_pictype(aframe.frame->dec_info.FrameType);
> >
> > if (avctx->codec_id == AV_CODEC_ID_H264 ||
> > - avctx->codec_id == AV_CODEC_ID_HEVC) {
> > + avctx->codec_id == AV_CODEC_ID_HEVC ||
> > + avctx->codec_id == AV_CODEC_ID_VVC) {
> > if (aframe.frame->dec_info.FrameType &
> > MFX_FRAMETYPE_IDR)
> > frame->flags |= AV_FRAME_FLAG_KEY;
> > else
> > @@ -1300,3 +1301,7 @@ DEFINE_QSV_DECODER(vp9, VP9, NULL)
> > #if CONFIG_AV1_QSV_DECODER
> > DEFINE_QSV_DECODER(av1, AV1, NULL)
> > #endif
> > +
> > +#if CONFIG_VVC_QSV_DECODER
> > +DEFINE_QSV_DECODER(vvc, VVC, NULL)
> > +#endif
> > diff --git a/libavcodec/version.h b/libavcodec/version.h
> > index 7acb261bb3..37c4c39451 100644
> > --- a/libavcodec/version.h
> > +++ b/libavcodec/version.h
> > @@ -29,7 +29,7 @@
> >
> > #include "version_major.h"
> >
> > -#define LIBAVCODEC_VERSION_MINOR 7
> > +#define LIBAVCODEC_VERSION_MINOR 8
> > #define LIBAVCODEC_VERSION_MICRO 100
> >
> > #define
> > LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
> > --
> > 2.25.1
> >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel@ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
> >
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-06-13 6:29 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-12 6:59 [FFmpeg-devel] [PATCH v1] lavc/qsvdec: Add VVC decoder fei.w.wang-at-intel.com
2024-06-12 7:07 ` Wang, Fei W
-- strict thread matches above, loose matches on Subject: below --
2024-06-12 0:58 fei.w.wang-at-intel.com
2024-06-12 12:12 ` Nuo Mi
2024-06-13 6:29 ` Wang, Fei W
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git