From: "Xiang, Haihao" <haihao.xiang-at-intel.com@ffmpeg.org>
To: "ffmpeg-devel@ffmpeg.org" <ffmpeg-devel@ffmpeg.org>
Cc: "Wang, Fei W" <fei.w.wang@intel.com>
Subject: Re: [FFmpeg-devel] [PATCH v2 2/2] lavc/qsvdec: Add VVC decoder
Date: Fri, 26 Jul 2024 04:43:38 +0000
Message-ID: <0ab3cc8a5b6f496eb2bb359a437426ff71496677.camel@intel.com> (raw)
In-Reply-To: <20240614082854.697581-2-fei.w.wang@intel.com>
On Vr, 2024-06-14 at 16:28 +0800, 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 881b0e67a3..1fd1fce0c6 100644
> --- a/Changelog
> +++ b/Changelog
> @@ -13,6 +13,7 @@ version <next>:
> - VVC decoder compatible with DVB test content
> - xHE-AAC decoder
> - removed DEC Alpha DSP and support code
> +- Intel QSV-accelerated VVC decoding
>
>
> version 7.0:
> diff --git a/configure b/configure
> index 6d31698142..d50f444141 100755
> --- a/configure
> +++ b/configure
> @@ -3421,6 +3421,7 @@ vp9_vaapi_encoder_select="vaapi_encode"
> vp9_qsv_encoder_deps="libmfx MFX_CODEC_VP9"
> vp9_qsv_encoder_select="qsvenc"
> vp9_v4l2m2m_decoder_deps="v4l2_m2m vp9_v4l2_m2m"
> +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, \
LGTM, will apply
-Haihao
_______________________________________________
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".
next prev parent reply other threads:[~2024-07-26 4:43 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-14 8:28 [FFmpeg-devel] [PATCH v2 1/2] configure: Alphabetical order for av1 codecs fei.w.wang-at-intel.com
2024-06-14 8:28 ` [FFmpeg-devel] [PATCH v2 2/2] lavc/qsvdec: Add VVC decoder fei.w.wang-at-intel.com
2024-07-26 4:43 ` Xiang, Haihao [this message]
2024-07-30 7:45 ` Xiang, Haihao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=0ab3cc8a5b6f496eb2bb359a437426ff71496677.camel@intel.com \
--to=haihao.xiang-at-intel.com@ffmpeg.org \
--cc=fei.w.wang@intel.com \
--cc=ffmpeg-devel@ffmpeg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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