2015-08-17 21:53 GMT+02:00 wm4 <nfx...@googlemail.com>: > On Mon, 17 Aug 2015 19:17:50 +0200 > Gwenole Beauchesne <gb.de...@gmail.com> wrote: > >> Deprecate older VA pixel formats (MOCO, IDCT) as it is now very unlikely >> to ever be useful in the future. Only keep plain AV_PIX_FMT_VAAPI format >> that is aliased to the older VLD variant. >> >> Signed-off-by: Gwenole Beauchesne <gwenole.beauche...@intel.com> >> --- >> libavcodec/h263dec.c | 2 +- >> libavcodec/h264_slice.c | 2 +- >> libavcodec/mpeg12dec.c | 2 +- >> libavcodec/vaapi_h264.c | 2 +- >> libavcodec/vaapi_mpeg2.c | 2 +- >> libavcodec/vaapi_mpeg4.c | 4 ++-- >> libavcodec/vaapi_vc1.c | 4 ++-- >> libavcodec/vc1dec.c | 2 +- >> libavutil/pixdesc.c | 9 +++++++++ >> libavutil/pixfmt.h | 11 +++++++++++ >> libavutil/version.h | 3 +++ >> 11 files changed, 33 insertions(+), 10 deletions(-) >> >> diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c >> index 7fa7090..e647e40 100644 >> --- a/libavcodec/h263dec.c >> +++ b/libavcodec/h263dec.c >> @@ -718,7 +718,7 @@ frame_end: >> >> const enum AVPixelFormat ff_h263_hwaccel_pixfmt_list_420[] = { >> #if CONFIG_H263_VAAPI_HWACCEL || CONFIG_MPEG4_VAAPI_HWACCEL >> - AV_PIX_FMT_VAAPI_VLD, >> + AV_PIX_FMT_VAAPI, >> #endif >> #if CONFIG_H263_VDPAU_HWACCEL || CONFIG_MPEG4_VDPAU_HWACCEL >> AV_PIX_FMT_VDPAU, >> diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c >> index 48f501b..7b35c08 100644 >> --- a/libavcodec/h264_slice.c >> +++ b/libavcodec/h264_slice.c >> @@ -943,7 +943,7 @@ static enum AVPixelFormat get_pixel_format(H264Context >> *h, int force_callback) >> *fmt++ = AV_PIX_FMT_D3D11VA_VLD; >> #endif >> #if CONFIG_H264_VAAPI_HWACCEL >> - *fmt++ = AV_PIX_FMT_VAAPI_VLD; >> + *fmt++ = AV_PIX_FMT_VAAPI; >> #endif >> #if CONFIG_H264_VDA_HWACCEL >> *fmt++ = AV_PIX_FMT_VDA_VLD; >> diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c >> index c7a5701..d2bedbc 100644 >> --- a/libavcodec/mpeg12dec.c >> +++ b/libavcodec/mpeg12dec.c >> @@ -1209,7 +1209,7 @@ static const enum AVPixelFormat >> mpeg2_hwaccel_pixfmt_list_420[] = { >> AV_PIX_FMT_D3D11VA_VLD, >> #endif >> #if CONFIG_MPEG2_VAAPI_HWACCEL >> - AV_PIX_FMT_VAAPI_VLD, >> + AV_PIX_FMT_VAAPI, >> #endif >> #if CONFIG_MPEG2_VIDEOTOOLBOX_HWACCEL >> AV_PIX_FMT_VIDEOTOOLBOX, >> diff --git a/libavcodec/vaapi_h264.c b/libavcodec/vaapi_h264.c >> index 151aca9..55ee2fc 100644 >> --- a/libavcodec/vaapi_h264.c >> +++ b/libavcodec/vaapi_h264.c >> @@ -359,7 +359,7 @@ AVHWAccel ff_h264_vaapi_hwaccel = { >> .name = "h264_vaapi", >> .type = AVMEDIA_TYPE_VIDEO, >> .id = AV_CODEC_ID_H264, >> - .pix_fmt = AV_PIX_FMT_VAAPI_VLD, >> + .pix_fmt = AV_PIX_FMT_VAAPI, >> .start_frame = vaapi_h264_start_frame, >> .end_frame = vaapi_h264_end_frame, >> .decode_slice = vaapi_h264_decode_slice, >> diff --git a/libavcodec/vaapi_mpeg2.c b/libavcodec/vaapi_mpeg2.c >> index 87fab89..27c69cd 100644 >> --- a/libavcodec/vaapi_mpeg2.c >> +++ b/libavcodec/vaapi_mpeg2.c >> @@ -138,7 +138,7 @@ AVHWAccel ff_mpeg2_vaapi_hwaccel = { >> .name = "mpeg2_vaapi", >> .type = AVMEDIA_TYPE_VIDEO, >> .id = AV_CODEC_ID_MPEG2VIDEO, >> - .pix_fmt = AV_PIX_FMT_VAAPI_VLD, >> + .pix_fmt = AV_PIX_FMT_VAAPI, >> .start_frame = vaapi_mpeg2_start_frame, >> .end_frame = ff_vaapi_mpeg_end_frame, >> .decode_slice = vaapi_mpeg2_decode_slice, >> diff --git a/libavcodec/vaapi_mpeg4.c b/libavcodec/vaapi_mpeg4.c >> index 9b283f7..5b2e9d4 100644 >> --- a/libavcodec/vaapi_mpeg4.c >> +++ b/libavcodec/vaapi_mpeg4.c >> @@ -141,7 +141,7 @@ AVHWAccel ff_mpeg4_vaapi_hwaccel = { >> .name = "mpeg4_vaapi", >> .type = AVMEDIA_TYPE_VIDEO, >> .id = AV_CODEC_ID_MPEG4, >> - .pix_fmt = AV_PIX_FMT_VAAPI_VLD, >> + .pix_fmt = AV_PIX_FMT_VAAPI, >> .start_frame = vaapi_mpeg4_start_frame, >> .end_frame = ff_vaapi_mpeg_end_frame, >> .decode_slice = vaapi_mpeg4_decode_slice, >> @@ -153,7 +153,7 @@ AVHWAccel ff_h263_vaapi_hwaccel = { >> .name = "h263_vaapi", >> .type = AVMEDIA_TYPE_VIDEO, >> .id = AV_CODEC_ID_H263, >> - .pix_fmt = AV_PIX_FMT_VAAPI_VLD, >> + .pix_fmt = AV_PIX_FMT_VAAPI, >> .start_frame = vaapi_mpeg4_start_frame, >> .end_frame = ff_vaapi_mpeg_end_frame, >> .decode_slice = vaapi_mpeg4_decode_slice, >> diff --git a/libavcodec/vaapi_vc1.c b/libavcodec/vaapi_vc1.c >> index 7ef9f2a..63d514d 100644 >> --- a/libavcodec/vaapi_vc1.c >> +++ b/libavcodec/vaapi_vc1.c >> @@ -339,7 +339,7 @@ AVHWAccel ff_wmv3_vaapi_hwaccel = { >> .name = "wmv3_vaapi", >> .type = AVMEDIA_TYPE_VIDEO, >> .id = AV_CODEC_ID_WMV3, >> - .pix_fmt = AV_PIX_FMT_VAAPI_VLD, >> + .pix_fmt = AV_PIX_FMT_VAAPI, >> .start_frame = vaapi_vc1_start_frame, >> .end_frame = ff_vaapi_mpeg_end_frame, >> .decode_slice = vaapi_vc1_decode_slice, >> @@ -350,7 +350,7 @@ AVHWAccel ff_vc1_vaapi_hwaccel = { >> .name = "vc1_vaapi", >> .type = AVMEDIA_TYPE_VIDEO, >> .id = AV_CODEC_ID_VC1, >> - .pix_fmt = AV_PIX_FMT_VAAPI_VLD, >> + .pix_fmt = AV_PIX_FMT_VAAPI, >> .start_frame = vaapi_vc1_start_frame, >> .end_frame = ff_vaapi_mpeg_end_frame, >> .decode_slice = vaapi_vc1_decode_slice, >> diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c >> index abaa0b4..992ca96 100644 >> --- a/libavcodec/vc1dec.c >> +++ b/libavcodec/vc1dec.c >> @@ -1101,7 +1101,7 @@ static const enum AVPixelFormat >> vc1_hwaccel_pixfmt_list_420[] = { >> AV_PIX_FMT_D3D11VA_VLD, >> #endif >> #if CONFIG_VC1_VAAPI_HWACCEL >> - AV_PIX_FMT_VAAPI_VLD, >> + AV_PIX_FMT_VAAPI, >> #endif >> #if CONFIG_VC1_VDPAU_HWACCEL >> AV_PIX_FMT_VDPAU, >> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c >> index eb0dc9d..eb52113 100644 >> --- a/libavutil/pixdesc.c >> +++ b/libavutil/pixdesc.c >> @@ -1208,6 +1208,7 @@ const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> }, >> .flags = AV_PIX_FMT_FLAG_RGB, >> }, >> +#if FF_API_VAAPI >> [AV_PIX_FMT_VAAPI_MOCO] = { >> .name = "vaapi_moco", >> .log2_chroma_w = 1, >> @@ -1226,6 +1227,14 @@ const AVPixFmtDescriptor >> av_pix_fmt_descriptors[AV_PIX_FMT_NB] = { >> .log2_chroma_h = 1, >> .flags = AV_PIX_FMT_FLAG_HWACCEL, >> }, >> +#else >> + [AV_PIX_FMT_VAAPI] = { >> + .name = "vaapi", >> + .log2_chroma_w = 1, >> + .log2_chroma_h = 1, >> + .flags = AV_PIX_FMT_FLAG_HWACCEL, >> + }, >> +#endif >> [AV_PIX_FMT_YUV420P9LE] = { >> .name = "yuv420p9le", >> .nb_components = 3, >> diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h >> index 5cdbeb9..399e466 100644 >> --- a/libavutil/pixfmt.h >> +++ b/libavutil/pixfmt.h >> @@ -121,9 +121,20 @@ enum AVPixelFormat { >> AV_PIX_FMT_BGR555BE, ///< packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G >> 5R(lsb), big-endian , X=unused/undefined >> AV_PIX_FMT_BGR555LE, ///< packed BGR 5:5:5, 16bpp, (msb)1X 5B 5G >> 5R(lsb), little-endian, X=unused/undefined >> >> +#if FF_API_VAAPI >> + /** @name Deprecated pixel formats */ >> + /**@{*/ >> AV_PIX_FMT_VAAPI_MOCO, ///< HW acceleration through VA API at motion >> compensation entry-point, Picture.data[3] contains a vaapi_render_state >> struct which contains macroblocks as well as various fields extracted from >> headers >> AV_PIX_FMT_VAAPI_IDCT, ///< HW acceleration through VA API at IDCT >> entry-point, Picture.data[3] contains a vaapi_render_state struct which >> contains fields extracted from headers >> AV_PIX_FMT_VAAPI_VLD, ///< HW decoding through VA API, Picture.data[3] >> contains a vaapi_render_state struct which contains the bitstream of the >> slices as well as various fields extracted from headers >> + /**@}*/ >> +#endif >> + >> + /** >> + * Hardware acceleration through VA-API, data[3] contains a >> + * VASurfaceID. >> + */ >> + AV_PIX_FMT_VAAPI = AV_PIX_FMT_VAAPI_VLD, >> >> AV_PIX_FMT_YUV420P16LE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb >> sample per 2x2 Y samples), little-endian >> AV_PIX_FMT_YUV420P16BE, ///< planar YUV 4:2:0, 24bpp, (1 Cr & Cb >> sample per 2x2 Y samples), big-endian >> diff --git a/libavutil/version.h b/libavutil/version.h >> index 653f530..3af71cd 100644 >> --- a/libavutil/version.h >> +++ b/libavutil/version.h >> @@ -107,6 +107,9 @@ >> #ifndef FF_API_AVFRAME_LAVC >> #define FF_API_AVFRAME_LAVC (LIBAVUTIL_VERSION_MAJOR < 55) >> #endif >> +#ifndef FF_API_VAAPI >> +#define FF_API_VAAPI (LIBAVUTIL_VERSION_MAJOR < 55) >> +#endif >> #ifndef FF_API_VDPAU >> #define FF_API_VDPAU (LIBAVUTIL_VERSION_MAJOR < 55) >> #endif > > > Seems fine, although I don't see the immediate need to rename the VAAPI > pixfmt. (We also have AV_PIX_FMT_D3D11VA_VLD etc.)
I was under the impression we wanted to really bump the major and remove the obsolete/deprecated stuff "soon". When that time comes, I don't want to have useless pix_fmts kept for vaapi. Regards, -- Gwenole Beauchesne Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France Registration Number (RCS): Nanterre B 302 456 199 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel