2018-08-07 20:31 GMT+02:00, James Almer <jamr...@gmail.com>: > On 8/7/2018 3:25 PM, Carl Eugen Hoyos wrote: >> Hi! >> >> Attached patch allows monochrome encoding with libx264, supported in >> master since a few hours. >> >> Please comment, Carl Eugen >> >> >> 0001-lavc-libx264-Support-monochrome-encoding.patch >> >> >> From a26245de63bdc9afc6b21ea6e97b95a2a7e1e765 Mon Sep 17 00:00:00 2001 >> From: Carl Eugen Hoyos <ceffm...@gmail.com> >> Date: Tue, 7 Aug 2018 20:23:06 +0200 >> Subject: [PATCH] lavc/libx264: Support monochrome encoding. >> >> --- >> libavcodec/libx264.c | 14 ++++++++++++++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c >> index 12379ff..cc9e5c8 100644 >> --- a/libavcodec/libx264.c >> +++ b/libavcodec/libx264.c >> @@ -443,6 +443,10 @@ static int convert_pix_fmt(enum AVPixelFormat >> pix_fmt) >> #ifdef X264_CSP_NV21 >> case AV_PIX_FMT_NV21: return X264_CSP_NV21; >> #endif >> +#ifdef X264_CSP_I400 >> + case AV_PIX_FMT_GRAY8: >> + case AV_PIX_FMT_GRAY10: return X264_CSP_I400; >> +#endif >> }; >> return 0; >> } >> @@ -855,6 +859,9 @@ static const enum AVPixelFormat pix_fmts_8bit[] = { >> #ifdef X264_CSP_NV21 >> AV_PIX_FMT_NV21, >> #endif >> +#ifdef X264_CSP_I400 >> + AV_PIX_FMT_GRAY8, >> +#endif > > Unneeded. This array is only used with old x264 builds. > >> AV_PIX_FMT_NONE >> }; >> static const enum AVPixelFormat pix_fmts_9bit[] = { >> @@ -867,6 +874,9 @@ static const enum AVPixelFormat pix_fmts_10bit[] = { >> AV_PIX_FMT_YUV422P10, >> AV_PIX_FMT_YUV444P10, >> AV_PIX_FMT_NV20, >> +#ifdef X264_CSP_I400 >> + AV_PIX_FMT_GRAY10, >> +#endif >> AV_PIX_FMT_NONE >> }; > > Same. > >> static const enum AVPixelFormat pix_fmts_all[] = { >> @@ -885,6 +895,10 @@ static const enum AVPixelFormat pix_fmts_all[] = { >> AV_PIX_FMT_YUV422P10, >> AV_PIX_FMT_YUV444P10, >> AV_PIX_FMT_NV20, >> +#ifdef X264_CSP_I400 >> + AV_PIX_FMT_GRAY8, >> + AV_PIX_FMT_GRAY10, >> +#endif >> AV_PIX_FMT_NONE >> }; >> #if CONFIG_LIBX264RGB_ENCODER >> -- 1.7.10.4 > > I think you need to add these two pixfmts to avfmt2_num_planes() as > well, so they may return 1 instead of the default 3.
Pushed with these changes. Thank you, Carl Eugen _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel