Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix build against x265 build 214 and above #773

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

h3xx
Copy link
Contributor

@h3xx h3xx commented Dec 8, 2024

I discovered that our workaround to call the x265 API was breaking the build, so I apply it more judiciously based on research into changes to the x265 codebase.

The current workaround breaks when building against x265 version 214 and above, and even some development versions of 213.

It's still not a perfect check. There's still a range of x265 commits from 2024-10-04 to 2024-11-12 where fceux will not build against the development version of x265. If that's the case, just update to the latest x265.

I don't believe there can be a perfect check because the commit in the x265 repo that introduces the API change we're working around doesn't bump the X265_BUILD constant like it probably should have. The revert ALSO doesn't bump it, so we have to do what we can here.

Research shows:

https://bitbucket.org/multicoreware/x265_git/commits/c8c9d22075b26aa279b4d634c61889ca3d49656e:

  • X265_BUILD: 209 -> 210
  • MAX_SCALABLE_LAYERS: undefined
  • Our workaround: Skipped, build works

https://bitbucket.org/multicoreware/x265_git/commits/c69c113960834400545bc4bce2830ff51dcb86b3:

  • x265 API change is introduced in this commit
  • X265_BUILD: 210
  • MAX_SCALABLE_LAYERS: defined
  • Our workaround: Applied, build works

https://bitbucket.org/multicoreware/x265_git/commits/78e5b703b186fe184bf91bb37df82f64059b3f61:

  • x265 API change is reverted in this commit
  • X265_BUILD: 213
  • MAX_SCALABLE_LAYERS: still defined
  • Our workaround: Applied, unfortunately. Start of broken commit range.

https://bitbucket.org/multicoreware/x265_git/commits/451add89e81d45134b9d41168ceeb5516bf62d0b:

  • X265_BUILD: 213 -> 214
  • MAX_SCALABLE_LAYERS: still defined
  • Our workaround: Back to skipped. Build is fixed. End of broken commit range.

Not a perfect check, since the commit in the x265 repo that introduces
it doesn't bump the X265_BUILD constant like it probably should have.

There's still a range of x265 commits from 2024-10-04 to 2024-11-12
where fceux will not build against the development version of x265. If
that's the case, just update to the latest x265.

Research shows:

https://bitbucket.org/multicoreware/x265_git@c8c9d22075b26aa279b4d634c61889ca3d49656e:
- X265_BUILD: 209 -> 210
- MAX_SCALABLE_LAYERS: undefined

https://bitbucket.org/multicoreware/x265_git@c69c113960834400545bc4bce2830ff51dcb86b3:
- API change introduced; workaround needed
- X265_BUILD: 210
- MAX_SCALABLE_LAYERS: defined

https://bitbucket.org/multicoreware/x265_git@78e5b703b186fe184bf91bb37df82f64059b3f61:
- API change reverted; using our workaround now breaks the fceux build
- X265_BUILD: 213
- MAX_SCALABLE_LAYERS: still defined

https://bitbucket.org/multicoreware/x265_git@451add89e81d45134b9d41168ceeb5516bf62d0b:
- X265_BUILD: 213 -> 214
- MAX_SCALABLE_LAYERS: still defined
- Using our workaround still breaks the fceux build
@h3xx h3xx changed the title .Improve check to apply X265 API workaround Improve check to apply X265 API workaround Dec 8, 2024
@h3xx h3xx changed the title Improve check to apply X265 API workaround Fix build against x265 build 214 and above Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant