Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH v2 1/2] configure: Alphabetical order for av1 codecs
@ 2024-06-14  8:28 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
  0 siblings, 1 reply; 4+ messages in thread
From: fei.w.wang-at-intel.com @ 2024-06-14  8:28 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>
---
 configure | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index 06a72e4114..6d31698142 100755
--- a/configure
+++ b/configure
@@ -3321,12 +3321,18 @@ nvenc_deps_any="libdl LoadLibrary"
 
 aac_mf_encoder_deps="mediafoundation"
 ac3_mf_encoder_deps="mediafoundation"
+av1_amf_encoder_deps="amf"
 av1_cuvid_decoder_deps="cuvid CUVIDAV1PICPARAMS"
 av1_mediacodec_decoder_deps="mediacodec"
 av1_mediacodec_encoder_deps="mediacodec"
 av1_mediacodec_encoder_select="extract_extradata_bsf"
 av1_nvenc_encoder_deps="nvenc NV_ENC_PIC_PARAMS_AV1"
 av1_nvenc_encoder_select="atsc_a53"
+av1_qsv_decoder_select="qsvdec"
+av1_qsv_encoder_deps="libvpl"
+av1_qsv_encoder_select="qsvenc"
+av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
+av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
 h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
 h263_v4l2m2m_encoder_deps="v4l2_m2m h263_v4l2_m2m"
 h264_amf_encoder_deps="amf"
@@ -3415,12 +3421,6 @@ 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"
-av1_qsv_decoder_select="qsvdec"
-av1_qsv_encoder_select="qsvenc"
-av1_qsv_encoder_deps="libvpl"
-av1_amf_encoder_deps="amf"
-av1_vaapi_encoder_deps="VAEncPictureParameterBufferAV1"
-av1_vaapi_encoder_select="cbs_av1 vaapi_encode"
 
 # parsers
 aac_parser_select="adts_header mpeg4audio"
-- 
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] 4+ messages in thread

* [FFmpeg-devel] [PATCH v2 2/2] lavc/qsvdec: Add VVC decoder
  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 ` fei.w.wang-at-intel.com
  2024-07-26  4:43   ` Xiang, Haihao
  0 siblings, 1 reply; 4+ messages in thread
From: fei.w.wang-at-intel.com @ 2024-06-14  8:28 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 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, \
-- 
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] 4+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2 2/2] lavc/qsvdec: Add VVC decoder
  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
  2024-07-30  7:45     ` Xiang, Haihao
  0 siblings, 1 reply; 4+ messages in thread
From: Xiang, Haihao @ 2024-07-26  4:43 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Wang, Fei W

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".

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2 2/2] lavc/qsvdec: Add VVC decoder
  2024-07-26  4:43   ` Xiang, Haihao
@ 2024-07-30  7:45     ` Xiang, Haihao
  0 siblings, 0 replies; 4+ messages in thread
From: Xiang, Haihao @ 2024-07-30  7:45 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Wang, Fei W

On Vr, 2024-07-26 at 04:43 +0000, Xiang, Haihao wrote:
> 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

Fixed conflict in Changelog & libavcodec/version.h and applied. 

Thanks
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".

_______________________________________________
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] 4+ messages in thread

end of thread, other threads:[~2024-07-30  7:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
2024-07-30  7:45     ` Xiang, Haihao

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