Re: [FFmpeg-devel] [PATCH 1/3] avutil: Add NV24 and NV42 pixel formats
> -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
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
> -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
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".