x265-4.0 がリリースされているが、 vlc-3.0.21 のソース(modules/codec/x265.c)が x265-4.0 の
新APIに対応していないためコンパイルエラーになってパッケージ作成に失敗する。
これに関する vlc-3.0.21用のパッチが以下に出ている。
同パッチは vlcの上流Gitにmerge request が提出されているようだ。
Here is a patch to fix compilation error under new x265-4.0 API.
[code] 6092.patch
From a72e324974737c393b74d933e9699feea3e4468a Mon Sep 17 00:00:00 2001 From: Francois Cartegnie <fcvlcdev@free.fr> Date: Tue, 24 Sep 2024 18:53:11 +0700 Subject: [PATCH] codec: x265: handle 4.0 encoding API change refs #28799 --- modules/codec/x265.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/codec/x265.c b/modules/codec/x265.c index 97ea3709a598..63fd10b72751 100644 --- a/modules/codec/x265.c +++ b/modules/codec/x265.c @@ -67,6 +67,11 @@ static block_t *Encode(encoder_t *p_enc, picture_t *p_pict) x265_picture pic; x265_picture_init(&p_sys->param, &pic); +#ifdef MAX_SCALABLE_LAYERS + /* Handle API changes for scalable layers output in x265 4.0 */ + x265_picture *pics[MAX_SCALABLE_LAYERS] = {NULL}; + pics[0] = &pic; +#endif if (likely(p_pict)) { pic.pts = p_pict->date; @@ -85,8 +90,13 @@ static block_t *Encode(encoder_t *p_enc, picture_t *p_pict) x265_nal *nal; uint32_t i_nal = 0; +#ifdef MAX_SCALABLE_LAYERS + x265_encoder_encode(p_sys->h, &nal, &i_nal, + likely(p_pict) ? &pic : NULL, pics); +#else x265_encoder_encode(p_sys->h, &nal, &i_nal, likely(p_pict) ? &pic : NULL, &pic); +#endif if (!i_nal) return NULL; -- GitLab |