From: Steve Lhomme Date: Mon, 13 Jan 2025 09:35:07 +0000 (+0100) Subject: x265: fix API signature with x265 4.1 X-Git-Tag: archive/raspbian/3.0.21-7+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e18a00d96a266217a6780e584ce6d5759a96e7bd;p=vlc.git x265: fix API signature with x265 4.1 They changed the API in c69c113960834400545bc4bce2830ff51dcb86b3 And then reverted it in 78e5b703b186fe184bf91bb37df82f64059b3f61 The X265_BUILD is how you can tell the x265 version(s). But they didn't change the values in these commits. - X265_BUILD was 210 when the API was changed - X265_BUILD was 214 when the API was reverted Gbp-Pq: Name 0125-x265-fix-API-signature-with-x265-4.1.patch --- diff --git a/modules/codec/x265.c b/modules/codec/x265.c index 50fe3285..9c3c2311 100644 --- a/modules/codec/x265.c +++ b/modules/codec/x265.c @@ -39,6 +39,9 @@ #ifndef X265_MAX_FRAME_THREADS # define X265_MAX_FRAME_THREADS 16 #endif +#if X265_BUILD > 210 && X265_BUILD <= 214 +#define X265_OUTPUT_ARRAY 1 +#endif /***************************************************************************** * Module descriptor @@ -74,7 +77,7 @@ 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 +#ifdef X265_OUTPUT_ARRAY /* Handle API changes for scalable layers output in x265 4.0 */ x265_picture *pics[MAX_SCALABLE_LAYERS] = {NULL}; pics[0] = &pic; @@ -97,7 +100,7 @@ static block_t *Encode(encoder_t *p_enc, picture_t *p_pict) x265_nal *nal; uint32_t i_nal = 0; -#ifdef MAX_SCALABLE_LAYERS +#ifdef X265_OUTPUT_ARRAY x265_encoder_encode(p_sys->h, &nal, &i_nal, likely(p_pict) ? &pic : NULL, pics); #else