On 25/04/18 09:43, Xiang, Haihao wrote:>> Previously there was one fixed choice for each codec (e.g. H.265 -> Main >> profile), and using anything else then required an explicit option from >> the user. This changes to selecting the profile based on the input format >> and the set of profiles actually supported by the driver (e.g. P010 input >> will choose Main 10 profile for H.265 if the driver supports it). >> >> The entrypoint and render target format are also chosen dynamically in the >> same way, removing those explicit selections from the per-codec code. >> --- >> doc/encoders.texi | 3 + >> libavcodec/vaapi_encode.c | 261 +++++++++++++++++++++++++++++++------ >> --- >> libavcodec/vaapi_encode.h | 41 +++++-- >> libavcodec/vaapi_encode_h264.c | 45 ++----- >> libavcodec/vaapi_encode_h265.c | 43 +++---- >> libavcodec/vaapi_encode_mjpeg.c | 13 +- >> libavcodec/vaapi_encode_mpeg2.c | 36 ++---- >> libavcodec/vaapi_encode_vp8.c | 11 +- >> libavcodec/vaapi_encode_vp9.c | 34 ++---- >> 9 files changed, 306 insertions(+), 181 deletions(-) >> >> ... >> diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c >> index 5529ee5a03..e01bdcf6b4 100644 >> --- a/libavcodec/vaapi_encode_h265.c >> +++ b/libavcodec/vaapi_encode_h265.c >> @@ -875,7 +875,25 @@ static av_cold int >> vaapi_encode_h265_configure(AVCodecContext *avctx) >> return 0; >> } >> >> +static const VAAPIEncodeProfile vaapi_encode_h265_profiles[] = { >> + { FF_PROFILE_HEVC_MAIN, 8, 1, 1, VAProfileHEVCMain }, >> +#if VA_CHECK_VERSION(0, 37, 0) >> + { FF_PROFILE_HEVC_MAIN_10, 10, 1, 1, VAProfileHEVCMain10 }, >> +#endif >> +#if VA_CHECK_VERSION(1, 2, 0) >> + { FF_PROFILE_HEVC_REXT, 12, 1, 1, VAProfileHEVCMain12 }, >> + { FF_PROFILE_HEVC_REXT, 10, 1, 0, VAProfileHEVCMain422_10 }, >> + { FF_PROFILE_HEVC_REXT, 12, 1, 0, VAProfileHEVCMain422_12 }, >> + { FF_PROFILE_HEVC_REXT, 8, 0, 0, VAProfileHEVCMain444 }, >> + { FF_PROFILE_HEVC_REXT, 10, 0, 0, VAProfileHEVCMain444_10 }, >> + { FF_PROFILE_HEVC_REXT, 12, 0, 0, VAProfileHEVCMain444_12 }, >> +#endif > > VA API 1.2 is not released yet, currently only structures for decoding are > added > . It would be better to include the above profiles in a separate patch in the > future.
That's fair, removed for now. (They couldn't be chosen anyway, but not having them at all is more sensible.) Thanks, - Mark _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel