[FFmpeg-cvslog] avcodec/libx264: Don't use init_static_data for newer versions
Andreas Rheinhardt
git at videolan.org
Sun Feb 28 19:12:52 EET 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Thu Feb 25 09:25:51 2021 +0100| [f9b5cef1d3cdb361893c88f6b626ef767fe6cee4] | committer: Andreas Rheinhardt
avcodec/libx264: Don't use init_static_data for newer versions
x264 versions >= 153 can support multiple bitdepths; they also don't
export x264_bit_depth any more. The actual check whether a bitdepth
is supported is therefore performed at runtime in x264_encoder_open.
Ergo it is unnecessary to use init_static_data for these versions:
One can already set ff_libx264_encoder.pix_fmts to the value that
X264_init_static always sets it to.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f9b5cef1d3cdb361893c88f6b626ef767fe6cee4
---
libavcodec/libx264.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index ca7cc3a540..212ed7d015 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -1051,19 +1051,17 @@ static const enum AVPixelFormat pix_fmts_8bit_rgb[] = {
};
#endif
+#if X264_BUILD < 153
static av_cold void X264_init_static(AVCodec *codec)
{
-#if X264_BUILD < 153
if (x264_bit_depth == 8)
codec->pix_fmts = pix_fmts_8bit;
else if (x264_bit_depth == 9)
codec->pix_fmts = pix_fmts_9bit;
else if (x264_bit_depth == 10)
codec->pix_fmts = pix_fmts_10bit;
-#else
- codec->pix_fmts = pix_fmts_all;
-#endif
}
+#endif
#define OFFSET(x) offsetof(X264Context, x)
#define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
@@ -1208,7 +1206,11 @@ AVCodec ff_libx264_encoder = {
AV_CODEC_CAP_ENCODER_REORDERED_OPAQUE,
.priv_class = &x264_class,
.defaults = x264_defaults,
+#if X264_BUILD < 153
.init_static_data = X264_init_static,
+#else
+ .pix_fmts = pix_fmts_all,
+#endif
#if X264_BUILD >= 158
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_INIT_THREADSAFE,
#else
More information about the ffmpeg-cvslog
mailing list