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

Disambiguation needed about AJANTV2_BUILD_OPENSOURCE and HEVC in the Linux driver #6

Open
tytan652 opened this issue Jan 25, 2024 · 6 comments

Comments

@tytan652
Copy link

tytan652 commented Jan 25, 2024

  • HEVC files in the Linux driver are under MIT license
  • Setting AJANTV2_BUILD_OPENSOURCE to ON, disables those HEVC files even if those are MIT licensed

I think the notion of HEVC patent and AJANTV2_BUILD_OPENSOURCE needs to be split if the files are really under MIT.

@paulh-aja
Copy link
Collaborator

Which files are you referring to that you are concerned about?

There are some closed-source HEVC codec files that are not part of the open source libajantv2 repo, whose inclusion is controlled by the AJANTV2_BUILD_OPENSOURCE variable.

The intention behind that variable was to allow gating any proprietary code in the library, present and future.

@tytan652
Copy link
Author

tytan652 commented Jan 25, 2024

Example: https://github.com/aja-video/libajantv2/blob/08a5a3e7e5fce4abf7deb11567dfd795da4a4ba0/driver/linux/hevcdriver.c

It's guarded behind NOT AJANTV2_BUILD_OPENSOURCE but it's marked as MIT licensed in the file.

Edit: The whole HEVC part of the Linux driver is MIT

@tytan652 tytan652 changed the title Disambiguation needed about AJANTV2_BUILD_OPENSOURCE and HEVC Disambiguation needed about AJANTV2_BUILD_OPENSOURCE and HEVC in the Linux driver Jan 25, 2024
@tytan652
Copy link
Author

For more context the Linux driver Makefile have no mention that HEVC part is closed source, unlike the CMake with AJANTV2_BUILD_OPENSOURCE.

@paulh-aja
Copy link
Collaborator

paulh-aja commented Jan 25, 2024

I think this might have been an error in the Linux driver's CMakeLists. I'll check with the rest of the team. I believe those hevc*.h/.c files in the Linux driver are part of the Kona HEVC card driver, are MIT-licensed, and thus probably shouldn't be omitted if AJANTV2_BUILD_OPENSOURCE is set to ON.

However, there are some proprietary HEVC codec files in the ajantv2 component that are closed-source and not included in the libajantv2 open-source repo. These are only built into the ajantv2 library if AJANTV2_BUILD_OPENSOURCE is set to OFF.

@tytan652
Copy link
Author

tytan652 commented Jan 25, 2024

However, there are some proprietary HEVC codec files in the ajantv2 component that are closed-source and not included in the libajantv2 open-source repo. These are only built into the ajantv2 library if AJANTV2_BUILD_OPENSOURCE is set to OFF.

I forgot to mention this, I got the purpose AJANTV2_BUILD_OPENSOURCE that you describe since a while. It's really those "hevc*.h/.c files" in the Linux driver that were that needed a disambiguation since those are MIT licensed.

@paulh-aja
Copy link
Collaborator

It looks like we did have an AJA_HEVC variable in the Makefile that enabled building of the Kona HEVC card driver, so I suppose it makes some sense that we separate that. The Kona HEVC Linux driver itself is open-source, it's just the SDK HEVC codec code that is not made available to open-source users, and is thus gated behind the AJANTV2_BUILD_OPENSOURCE CMake var. I'll see what the team wants to do here and make the necessary code changes, if any.

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

No branches or pull requests

2 participants