I'm confused(*) I was compiling something that uses /usr/include/x265.h and it failed. It hasn't failed like this before and it hasn't changed lately. The thing it was having trouble with was this member of x265_api (wrapped for this posting): int (*encoder_encode)(x265_encoder*, x265_nal**, uint32_t*, x265_picture*, x265_picture**); The last element is different than it used to be, it used to be * not **. And ** doesn't really make sense. In the hope that the underlying library wasn't using this definition, I did a typecast where it was used and the compilation succeeded and the program worked. But: I wondered if this was some typo ocurring weirdly. I compared x265.h with the one from a prior version (which I still had in the pacman cache) and there were lots of changes, some probably just for internal purposes, but some with changes to calling sequences that surely must break things that use them. I asked pacman where the code came from (pacman -Qi) and looked there: https://bitbucket.org/multicoreware/x265_git/src/master/source/x265.h and that file does not have this change. (It has others, including at least one that seems problematic). The version of /usr/include/x265 on my system is dated Oct 3 2024 and that matches the "build date" reported by pacman. The modification history in the bitbucket link above has an entry signficantly dated October 4 that says "Reverted the api changes." I infer that the change that affected me was, for lack of a better word, corrected. But evidently Arch hasn't picked it up. (I did a system update today.) Maybe Oct 3 is the last released date, I dunno. That would be odd if so. I don't know what answer I'm looking for here, maybe none, but thought I would mention it. At length ;) -mm- (*)always
On Sat, Nov 16, 2024 at 01:19:23PM -0500, Mark E. Mallett wrote:
int (*encoder_encode)(x265_encoder*, x265_nal**, uint32_t*, x265_picture*, x265_picture**);
The last element is different than it used to be, it used to be * not **.
etc Not that it matters, but it looks like this is part of an ongoing architectural change erroneously (IMHO) affecting existing with API element(s). What does matter is that the reversion hasn't been picked up. One should have patience .. OTOH it's been a while.
participants (1)
-
Mark E. Mallett