Opened 3 months ago

Closed 3 months ago

#11130 closed defect (fixed)

ffmpeg build fails with libavcodec/libx265.c

Reported by: hydra3333 Owned by:
Priority: important Component: avcodec
Version: git-master Keywords: build
Cc: hydra3333 Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by hydra3333)

Summary of the bug:
2023.08.06 ffmpeg build fails using MABS to build ffmpeg with libavcodec/libx265.c

How to reproduce:

Build ffmpeg with libx265.
Error arising apparently in ffmpeg code:
src/libavcodec/libx265.c:802:59: note: expected 'x265_picture **' but argument is of type 'x265_picture *'
make: *** [/build/ffmpeg-git/ffbuild/common.mak:81: libavcodec/libx265.o] Error 1
make failed. 

MABS has worked fine for years for building ffmpeg.
Occasional build glitches with dependencies resolved by leaving them out or using a minor patch or waiting for upstream patches.
In this case it looks like something to do with ffmpeg's src/libavcodec/libx265.c

Change History (6)

comment:1 by hydra3333, 3 months ago

Description: modified (diff)

comment:2 by hydra3333, 3 months ago

This
https://github.com/m-ab-s/media-autobuild_suite/issues/2750#issuecomment-2274311713
says

The use of this type in a function parameter list changed from a pointer * to that type (pass by reference) to a pointer-of-pointer **; so I assume that ffmpeg needs to get adapted to that change too.
https://mailman.videolan.org/pipermail/x265-devel/2024-August/013760.html

which in turn asked over at 'x265-devel' in '2024-August'

Did this update possibly break building libavcodec and ffmpeg?

comment:3 by Gyan, 3 months ago

This is the offending commit: https://bitbucket.org/multicoreware/x265_git/commits/c69c113960834400545bc4bce2830ff51dcb86b3

x265 now supports encoding alpha layer. The API was changed in X265_BUILD 210 so that x265 encoder_encode() now expects a pointer to an array of x265_picture.

comment:5 by hydra3333, 3 months ago

Yes. Thank you.

comment:6 by hydra3333, 3 months ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.