Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel formats

2019-05-12 Thread Fu, Linjie
> -Original Message-
> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf
> Of Carl Eugen Hoyos
> Sent: Sunday, May 12, 2019 18:45
> To: FFmpeg development discussions and patches  de...@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel
> formats
> 
> Am So., 12. Mai 2019 um 05:38 Uhr schrieb Fu, Linjie :
> 
> > I'm working on adding support for HEVC 4:2:2/ 4:4:4, 8/10 bit, in vaapi
> decoding.
> > And I'm aslo thinking of add some new pix_fmt for packed FourCC:
> > 444 8 bit :  AYUV
> > 444 10 bit: Y410
> > 422 10 bit: Y210
> 
> Do I understand correctly that for 420 8 bit, vaapi produces the
> decoded image in a planar format but for 444 8 bit (and 10 bit),
> you decided that a packed format makes more sense?
> (Aren't luma and chroma stored independently in hevc?)
> 

It's true that for 420 8 bit, the decoded image is in planar format.
But as to 444 8 bit(and 10 bit), as far as I know in  media driver , the 
decoded image is produced in packed format.
See:
https://github.com/intel/media-driver/blob/8773ef5e82e8a151e1bcfef317f7808f319c91c2/media_driver/linux/gen11/ddi/media_libva_caps_g11.cpp#L842

else if(profile == VAProfileHEVCMain444 || profile == 
VAProfileVP9Profile1)
{
attribs[i].type = VASurfaceAttribPixelFormat;
attribs[i].value.type = VAGenericValueTypeInteger;
attribs[i].flags = VA_SURFACE_ATTRIB_GETTABLE | 
VA_SURFACE_ATTRIB_SETTABLE;
attribs[i].value.value.i = VA_FOURCC_AYUV;
i++;
}

> Note that no matter what you do with the decoded image, there
> will be a (measurable) performance hit because of the needed
> transformation into something (planar) that other filters and
> encoders understand.

Agree, the directly decoded format is better. 
And it's also one of the reasons I'd like to add these packed formats.

Linjie
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel formats

2019-05-12 Thread Carl Eugen Hoyos
Am So., 12. Mai 2019 um 05:38 Uhr schrieb Fu, Linjie :

> I'm working on adding support for HEVC 4:2:2/ 4:4:4, 8/10 bit, in vaapi 
> decoding.
> And I'm aslo thinking of add some new pix_fmt for packed FourCC:
> 444 8 bit :  AYUV
> 444 10 bit: Y410
> 422 10 bit: Y210

Do I understand correctly that for 420 8 bit, vaapi produces the
decoded image in a planar format but for 444 8 bit (and 10 bit),
you decided that a packed format makes more sense?
(Aren't luma and chroma stored independently in hevc?)

Note that no matter what you do with the decoded image, there
will be a (measurable) performance hit because of the needed
transformation into something (planar) that other filters and
encoders understand.

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel formats

2019-05-11 Thread Fu, Linjie
> -Original Message-
> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf
> Of Carl Eugen Hoyos
> Sent: Sunday, May 12, 2019 06:25
> To: FFmpeg development discussions and patches  de...@ffmpeg.org>
> Subject: Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel
> formats
> 
> Am Sa., 11. Mai 2019 um 20:32 Uhr schrieb Philip Langdale
> :
> >
> > These are the 4:4:4 variants of the semi-planar NV12/NV21 formats.
> >
> > These formats are not used much, so we've never had a reason to add
> > them until now. VDPAU recently added support HEVC 4:4:4 content
> > and when you use the OpenGL interop, the returned surfaces are in
> 
> I wonder if there is an "only" missing somewhere.
> 
> > NV24 format, so we need the pixel format for media players, even
> > if there's no direct use within ffmpeg.
> 
> Thank you!
> 
> > Separately, there are apparently webcams that use NV24, but I've
> > never seen one.
> 
> [...]
> 
> > diff --git a/libavutil/version.h b/libavutil/version.h
> > index c0968de621..4922e267cc 100644
> > --- a/libavutil/version.h
> > +++ b/libavutil/version.h
> > @@ -80,7 +80,7 @@
> >
> >  #define LIBAVUTIL_VERSION_MAJOR  56
> >  #define LIBAVUTIL_VERSION_MINOR  26
> > -#define LIBAVUTIL_VERSION_MICRO 101
> > +#define LIBAVUTIL_VERSION_MICRO 102
> 
> We typically raise minor for new pix_fmts, resetting
> micro was forgotten the last times afaict.
> 

Hi,

I'm working on adding support for HEVC 4:2:2/ 4:4:4, 8/10 bit, in vaapi 
decoding.
And I'm aslo thinking of add some new pix_fmt for packed FourCC:
444 8 bit :  AYUV
444 10 bit: Y410 
422 10 bit: Y210

So if I'd like to add these new pix_fmts, some modification is necessary too as 
far as I got from relevant threads:
1. add support in swscale for being able to convert to and from a format, 
including up and down scale;
2. add test.(maybe a query is needed too)
3. bump a new minor version.
Any other concerns should be followed?

I'm trying to make sure I understood this correctly.
Thanks in advance.

Linjie
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel formats

2019-05-11 Thread Carl Eugen Hoyos
Am Sa., 11. Mai 2019 um 20:32 Uhr schrieb Philip Langdale :
>
> These are the 4:4:4 variants of the semi-planar NV12/NV21 formats.
>
> These formats are not used much, so we've never had a reason to add
> them until now. VDPAU recently added support HEVC 4:4:4 content
> and when you use the OpenGL interop, the returned surfaces are in

I wonder if there is an "only" missing somewhere.

> NV24 format, so we need the pixel format for media players, even
> if there's no direct use within ffmpeg.

Thank you!

> Separately, there are apparently webcams that use NV24, but I've
> never seen one.

[...]

> diff --git a/libavutil/version.h b/libavutil/version.h
> index c0968de621..4922e267cc 100644
> --- a/libavutil/version.h
> +++ b/libavutil/version.h
> @@ -80,7 +80,7 @@
>
>  #define LIBAVUTIL_VERSION_MAJOR  56
>  #define LIBAVUTIL_VERSION_MINOR  26
> -#define LIBAVUTIL_VERSION_MICRO 101
> +#define LIBAVUTIL_VERSION_MICRO 102

We typically raise minor for new pix_fmts, resetting
micro was forgotten the last times afaict.

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".