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 v5 1/2] vaapi: support VAProfileH264High10 decoding
@ 2023-03-31 11:54 jianfeng.zheng
  2023-04-06  7:06 ` Xiang, Haihao
  0 siblings, 1 reply; 5+ messages in thread
From: jianfeng.zheng @ 2023-03-31 11:54 UTC (permalink / raw)
  To: ffmpeg-devel

see https://github.com/intel/libva/pull/664

Signed-off-by: jianfeng.zheng <jianfeng.zheng@mthreads.com>
---
 libavcodec/h264_slice.c   | 9 ++++++++-
 libavcodec/vaapi_decode.c | 5 +++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 7767e16cf1..d05b83a121 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -809,8 +809,15 @@ static enum AVPixelFormat get_pixel_format(H264Context *h, int force_callback)
                 *fmt++ = AV_PIX_FMT_YUV444P10;
         } else if (CHROMA422(h))
             *fmt++ = AV_PIX_FMT_YUV422P10;
-        else
+        else {
+#if CONFIG_H264_VAAPI_HWACCEL
+            // Just add as candidate. Whether VAProfileH264High10 usable or
+            // not is decided by vaapi_decode_make_config() defined in FFmpeg
+            // and vaQueryCodingProfile() defined in libva.
+            *fmt++ = AV_PIX_FMT_VAAPI;
+#endif
             *fmt++ = AV_PIX_FMT_YUV420P10;
+        }
         break;
     case 12:
         if (CHROMA444(h)) {
diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
index ab8c12e364..dd55cbd6f1 100644
--- a/libavcodec/vaapi_decode.c
+++ b/libavcodec/vaapi_decode.c
@@ -398,6 +398,11 @@ static const struct {
     MAP(MPEG4,       MPEG4_ADVANCED_SIMPLE,
                                MPEG4AdvancedSimple),
     MAP(MPEG4,       MPEG4_MAIN,      MPEG4Main   ),
+#if VA_CHECK_VERSION(1, 18, 0)
+    MAP(H264,        H264_HIGH_10_INTRA,
+                                      H264High10  ),
+    MAP(H264,        H264_HIGH_10,    H264High10  ),
+#endif
     MAP(H264,        H264_CONSTRAINED_BASELINE,
                            H264ConstrainedBaseline),
     MAP(H264,        H264_MAIN,       H264Main    ),
-- 
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 v5 1/2] vaapi: support VAProfileH264High10 decoding
  2023-03-31 11:54 [FFmpeg-devel] [PATCH v5 1/2] vaapi: support VAProfileH264High10 decoding jianfeng.zheng
@ 2023-04-06  7:06 ` Xiang, Haihao
  2023-04-06  7:26   ` Jianfeng Zheng
  0 siblings, 1 reply; 5+ messages in thread
From: Xiang, Haihao @ 2023-04-06  7:06 UTC (permalink / raw)
  To: ffmpeg-devel

On Vr, 2023-03-31 at 19:54 +0800, jianfeng.zheng wrote:
> see https://github.com/intel/libva/pull/664
> 
> Signed-off-by: jianfeng.zheng <jianfeng.zheng@mthreads.com>
> ---
>  libavcodec/h264_slice.c   | 9 ++++++++-
>  libavcodec/vaapi_decode.c | 5 +++++
>  2 files changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> index 7767e16cf1..d05b83a121 100644
> --- a/libavcodec/h264_slice.c
> +++ b/libavcodec/h264_slice.c
> @@ -809,8 +809,15 @@ static enum AVPixelFormat get_pixel_format(H264Context
> *h, int force_callback)
>                  *fmt++ = AV_PIX_FMT_YUV444P10;
>          } else if (CHROMA422(h))
>              *fmt++ = AV_PIX_FMT_YUV422P10;
> -        else
> +        else {
> +#if CONFIG_H264_VAAPI_HWACCEL
> +            // Just add as candidate. Whether VAProfileH264High10 usable or
> +            // not is decided by vaapi_decode_make_config() defined in FFmpeg
> +            // and vaQueryCodingProfile() defined in libva.
> +            *fmt++ = AV_PIX_FMT_VAAPI;
> +#endif
>              *fmt++ = AV_PIX_FMT_YUV420P10;
> +        }
>          break;
>      case 12:
>          if (CHROMA444(h)) {
> diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
> index ab8c12e364..dd55cbd6f1 100644
> --- a/libavcodec/vaapi_decode.c
> +++ b/libavcodec/vaapi_decode.c
> @@ -398,6 +398,11 @@ static const struct {
>      MAP(MPEG4,       MPEG4_ADVANCED_SIMPLE,
>                                 MPEG4AdvancedSimple),
>      MAP(MPEG4,       MPEG4_MAIN,      MPEG4Main   ),
> +#if VA_CHECK_VERSION(1, 18, 0)
> +    MAP(H264,        H264_HIGH_10_INTRA,
> +                                      H264High10  ),
> +    MAP(H264,        H264_HIGH_10,    H264High10  ),
> +#endif
>      MAP(H264,        H264_CONSTRAINED_BASELINE,
>                             H264ConstrainedBaseline),
>      MAP(H264,        H264_MAIN,       H264Main    ),

Pathset LGTM, but I wonder high 10 and high 10 intra are supported for decoding
however only high 10 is supported for encoding. does high 10 intra not work as
expected for encoding ? 

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

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

* Re: [FFmpeg-devel] [PATCH v5 1/2] vaapi: support VAProfileH264High10 decoding
  2023-04-06  7:06 ` Xiang, Haihao
@ 2023-04-06  7:26   ` Jianfeng Zheng
  2023-04-12  3:08     ` Xiang, Haihao
  0 siblings, 1 reply; 5+ messages in thread
From: Jianfeng Zheng @ 2023-04-06  7:26 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Hi Haihao,

I think high10 intra encoding would also be supported as well. But I
havn't made strict
test. It could be opened as well in an additional patch after some more test.

Thanks
Jianfeng

Xiang, Haihao <haihao.xiang-at-intel.com@ffmpeg.org> 于2023年4月6日周四 15:12写道:
>
> On Vr, 2023-03-31 at 19:54 +0800, jianfeng.zheng wrote:
> > see https://github.com/intel/libva/pull/664
> >
> > Signed-off-by: jianfeng.zheng <jianfeng.zheng@mthreads.com>
> > ---
> >  libavcodec/h264_slice.c   | 9 ++++++++-
> >  libavcodec/vaapi_decode.c | 5 +++++
> >  2 files changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> > index 7767e16cf1..d05b83a121 100644
> > --- a/libavcodec/h264_slice.c
> > +++ b/libavcodec/h264_slice.c
> > @@ -809,8 +809,15 @@ static enum AVPixelFormat get_pixel_format(H264Context
> > *h, int force_callback)
> >                  *fmt++ = AV_PIX_FMT_YUV444P10;
> >          } else if (CHROMA422(h))
> >              *fmt++ = AV_PIX_FMT_YUV422P10;
> > -        else
> > +        else {
> > +#if CONFIG_H264_VAAPI_HWACCEL
> > +            // Just add as candidate. Whether VAProfileH264High10 usable or
> > +            // not is decided by vaapi_decode_make_config() defined in FFmpeg
> > +            // and vaQueryCodingProfile() defined in libva.
> > +            *fmt++ = AV_PIX_FMT_VAAPI;
> > +#endif
> >              *fmt++ = AV_PIX_FMT_YUV420P10;
> > +        }
> >          break;
> >      case 12:
> >          if (CHROMA444(h)) {
> > diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
> > index ab8c12e364..dd55cbd6f1 100644
> > --- a/libavcodec/vaapi_decode.c
> > +++ b/libavcodec/vaapi_decode.c
> > @@ -398,6 +398,11 @@ static const struct {
> >      MAP(MPEG4,       MPEG4_ADVANCED_SIMPLE,
> >                                 MPEG4AdvancedSimple),
> >      MAP(MPEG4,       MPEG4_MAIN,      MPEG4Main   ),
> > +#if VA_CHECK_VERSION(1, 18, 0)
> > +    MAP(H264,        H264_HIGH_10_INTRA,
> > +                                      H264High10  ),
> > +    MAP(H264,        H264_HIGH_10,    H264High10  ),
> > +#endif
> >      MAP(H264,        H264_CONSTRAINED_BASELINE,
> >                             H264ConstrainedBaseline),
> >      MAP(H264,        H264_MAIN,       H264Main    ),
>
> Pathset LGTM, but I wonder high 10 and high 10 intra are supported for decoding
> however only high 10 is supported for encoding. does high 10 intra not work as
> expected for encoding ?
>
> 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] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH v5 1/2] vaapi: support VAProfileH264High10 decoding
  2023-04-06  7:26   ` Jianfeng Zheng
@ 2023-04-12  3:08     ` Xiang, Haihao
  2023-04-17  7:12       ` Xiang, Haihao
  0 siblings, 1 reply; 5+ messages in thread
From: Xiang, Haihao @ 2023-04-12  3:08 UTC (permalink / raw)
  To: ffmpeg-devel

On Do, 2023-04-06 at 15:26 +0800, Jianfeng Zheng wrote:
> Hi Haihao,
> 
> I think high10 intra encoding would also be supported as well. But I
> havn't made strict
> test. It could be opened as well in an additional patch after some more test.

It is fine for me. I'll push this patchset if no more comments.

Thanks
Haihao

> 
> Thanks
> Jianfeng
> 
> Xiang, Haihao <haihao.xiang-at-intel.com@ffmpeg.org> 于2023年4月6日周四 15:12写道:
> > 
> > On Vr, 2023-03-31 at 19:54 +0800, jianfeng.zheng wrote:
> > > see https://github.com/intel/libva/pull/664
> > > 
> > > Signed-off-by: jianfeng.zheng <jianfeng.zheng@mthreads.com>
> > > ---
> > >  libavcodec/h264_slice.c   | 9 ++++++++-
> > >  libavcodec/vaapi_decode.c | 5 +++++
> > >  2 files changed, 13 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> > > index 7767e16cf1..d05b83a121 100644
> > > --- a/libavcodec/h264_slice.c
> > > +++ b/libavcodec/h264_slice.c
> > > @@ -809,8 +809,15 @@ static enum AVPixelFormat
> > > get_pixel_format(H264Context
> > > *h, int force_callback)
> > >                  *fmt++ = AV_PIX_FMT_YUV444P10;
> > >          } else if (CHROMA422(h))
> > >              *fmt++ = AV_PIX_FMT_YUV422P10;
> > > -        else
> > > +        else {
> > > +#if CONFIG_H264_VAAPI_HWACCEL
> > > +            // Just add as candidate. Whether VAProfileH264High10 usable
> > > or
> > > +            // not is decided by vaapi_decode_make_config() defined in
> > > FFmpeg
> > > +            // and vaQueryCodingProfile() defined in libva.
> > > +            *fmt++ = AV_PIX_FMT_VAAPI;
> > > +#endif
> > >              *fmt++ = AV_PIX_FMT_YUV420P10;
> > > +        }
> > >          break;
> > >      case 12:
> > >          if (CHROMA444(h)) {
> > > diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
> > > index ab8c12e364..dd55cbd6f1 100644
> > > --- a/libavcodec/vaapi_decode.c
> > > +++ b/libavcodec/vaapi_decode.c
> > > @@ -398,6 +398,11 @@ static const struct {
> > >      MAP(MPEG4,       MPEG4_ADVANCED_SIMPLE,
> > >                                 MPEG4AdvancedSimple),
> > >      MAP(MPEG4,       MPEG4_MAIN,      MPEG4Main   ),
> > > +#if VA_CHECK_VERSION(1, 18, 0)
> > > +    MAP(H264,        H264_HIGH_10_INTRA,
> > > +                                      H264High10  ),
> > > +    MAP(H264,        H264_HIGH_10,    H264High10  ),
> > > +#endif
> > >      MAP(H264,        H264_CONSTRAINED_BASELINE,
> > >                             H264ConstrainedBaseline),
> > >      MAP(H264,        H264_MAIN,       H264Main    ),
> > 
> > Pathset LGTM, but I wonder high 10 and high 10 intra are supported for
> > decoding
> > however only high 10 is supported for encoding. does high 10 intra not work
> > as
> > expected for encoding ?
> > 
> > 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".

_______________________________________________
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 v5 1/2] vaapi: support VAProfileH264High10 decoding
  2023-04-12  3:08     ` Xiang, Haihao
@ 2023-04-17  7:12       ` Xiang, Haihao
  0 siblings, 0 replies; 5+ messages in thread
From: Xiang, Haihao @ 2023-04-17  7:12 UTC (permalink / raw)
  To: ffmpeg-devel

On Wo, 2023-04-12 at 03:08 +0000, Xiang, Haihao wrote:
> On Do, 2023-04-06 at 15:26 +0800, Jianfeng Zheng wrote:
> > Hi Haihao,
> > 
> > I think high10 intra encoding would also be supported as well. But I
> > havn't made strict
> > test. It could be opened as well in an additional patch after some more
> > test.
> 
> It is fine for me. I'll push this patchset if no more comments.
> 

Pushed, thx

- Haihao


> 
> > 
> > Thanks
> > Jianfeng
> > 
> > Xiang, Haihao <haihao.xiang-at-intel.com@ffmpeg.org> 于2023年4月6日周四 15:12写道:
> > > 
> > > On Vr, 2023-03-31 at 19:54 +0800, jianfeng.zheng wrote:
> > > > see https://github.com/intel/libva/pull/664
> > > > 
> > > > Signed-off-by: jianfeng.zheng <jianfeng.zheng@mthreads.com>
> > > > ---
> > > >  libavcodec/h264_slice.c   | 9 ++++++++-
> > > >  libavcodec/vaapi_decode.c | 5 +++++
> > > >  2 files changed, 13 insertions(+), 1 deletion(-)
> > > > 
> > > > diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> > > > index 7767e16cf1..d05b83a121 100644
> > > > --- a/libavcodec/h264_slice.c
> > > > +++ b/libavcodec/h264_slice.c
> > > > @@ -809,8 +809,15 @@ static enum AVPixelFormat
> > > > get_pixel_format(H264Context
> > > > *h, int force_callback)
> > > >                  *fmt++ = AV_PIX_FMT_YUV444P10;
> > > >          } else if (CHROMA422(h))
> > > >              *fmt++ = AV_PIX_FMT_YUV422P10;
> > > > -        else
> > > > +        else {
> > > > +#if CONFIG_H264_VAAPI_HWACCEL
> > > > +            // Just add as candidate. Whether VAProfileH264High10
> > > > usable
> > > > or
> > > > +            // not is decided by vaapi_decode_make_config() defined in
> > > > FFmpeg
> > > > +            // and vaQueryCodingProfile() defined in libva.
> > > > +            *fmt++ = AV_PIX_FMT_VAAPI;
> > > > +#endif
> > > >              *fmt++ = AV_PIX_FMT_YUV420P10;
> > > > +        }
> > > >          break;
> > > >      case 12:
> > > >          if (CHROMA444(h)) {
> > > > diff --git a/libavcodec/vaapi_decode.c b/libavcodec/vaapi_decode.c
> > > > index ab8c12e364..dd55cbd6f1 100644
> > > > --- a/libavcodec/vaapi_decode.c
> > > > +++ b/libavcodec/vaapi_decode.c
> > > > @@ -398,6 +398,11 @@ static const struct {
> > > >      MAP(MPEG4,       MPEG4_ADVANCED_SIMPLE,
> > > >                                 MPEG4AdvancedSimple),
> > > >      MAP(MPEG4,       MPEG4_MAIN,      MPEG4Main   ),
> > > > +#if VA_CHECK_VERSION(1, 18, 0)
> > > > +    MAP(H264,        H264_HIGH_10_INTRA,
> > > > +                                      H264High10  ),
> > > > +    MAP(H264,        H264_HIGH_10,    H264High10  ),
> > > > +#endif
> > > >      MAP(H264,        H264_CONSTRAINED_BASELINE,
> > > >                             H264ConstrainedBaseline),
> > > >      MAP(H264,        H264_MAIN,       H264Main    ),
> > > 
> > > Pathset LGTM, but I wonder high 10 and high 10 intra are supported for
> > > decoding
> > > however only high 10 is supported for encoding. does high 10 intra not
> > > work
> > > as
> > > expected for encoding ?
> > > 
> > > 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".
> 
> _______________________________________________
> 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:[~2023-04-17  7:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-31 11:54 [FFmpeg-devel] [PATCH v5 1/2] vaapi: support VAProfileH264High10 decoding jianfeng.zheng
2023-04-06  7:06 ` Xiang, Haihao
2023-04-06  7:26   ` Jianfeng Zheng
2023-04-12  3:08     ` Xiang, Haihao
2023-04-17  7:12       ` 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