Skip to content

Conversation

richardssam
Copy link
Contributor

Support for "Master" ffmpeg branch, and OpenAPV support

OpenAPV is now commited to ffmpeg, but there hasnt yet been a new release. This allows you to set the built version of ffmpeg to be the master for ffmpeg.

It also updates a couple of minor API changes to ffmpeg that are in the newer release, along with some small changes to make OpenAPV work well.

Describe the reason for the change.

Getting OpenRV able to support OpenAPV now that its built into ffmpeg.

Describe what you have tested and on which operating system.

This has been tested on OSX and windows.

Add a list of changes, and note any that might need special attention during the review.

At least on OSX, I do also need the patch - #842 to make it compile, even though its not anything thats necessary for the newer ffmpeg version.

We are calling "7.2" from the defines, but its actually doing a git checkout of the latest version. Most of the changes are needed for newer ffmpeg versions, so its possible the "7_2" will change to "8".
I'm also disabling ffmpeg being built for OIIO, which seems unnecessary.
The main goal was to be able to run OpenAPV in OpenRV, which has a very minor change to enable "slow" support, which is a bit of a mis-label, since its highly multi-threaded, it doesnt really need to multi-thread on frames, it just overstresses the codec.

Signed-off-by: [email protected] <[email protected]>
We are doing this so we can get openapv that has just been released. It also includes a number of changes to the API that are in the latest release.

Signed-off-by: [email protected] <[email protected]>
Copy link
Contributor

@bernie-laberge bernie-laberge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New OpenAPV Support ! Great contribution !
Thank you @richardssam !

Copy link
Contributor

@eloisebrosseau eloisebrosseau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: It looks like you didn't format your code with the project's clang-format. You should enable pre-commit so that your code can get formatted properly before pushing your commits!

https://github.com/AcademySoftwareFoundation/OpenRV/blob/main/docs/build_system/config_common_build.md#4-contributing-to-open-rv

Note, openrv still has a ffmpeg dependancy but its a direct plugin, not via oiio.

Signed-off-by: [email protected] <[email protected]>
@bernie-laberge bernie-laberge enabled auto-merge (squash) July 23, 2025 15:19
@eloisebrosseau eloisebrosseau disabled auto-merge July 23, 2025 22:12
@bernie-laberge bernie-laberge enabled auto-merge (squash) July 23, 2025 22:16
@bernie-laberge bernie-laberge disabled auto-merge July 23, 2025 22:17
@markreidvfx
Copy link
Contributor

I don't think its a good idea to blindly pull from the master branch, I'd highly recommend you pin it to a commit hash, especially if you want this to run this in CI. FFMpeg 8 is going to be release soon and should have OpenAPV support

It looks like it modified some of the HTJ2K code too.

Signed-off-by: [email protected] <[email protected]>
@richardssam
Copy link
Contributor Author

Thats a good point, perhaps we should wait, and bind it to that, I wasnt aware that it was so close to release.

@richardssam
Copy link
Contributor Author

So the updated change is locked to the new 8.0 branch, which is not tagged as a release yet, but I think should be good.

I have tested this on OSX, but not on windows or linux.

@richardssam
Copy link
Contributor Author

Now updated with the official release, including the hash.

@markreidvfx
Copy link
Contributor

should we add a cmake file to build the OpenAPV codec like we do with the DAV1D decoder?

@SamRichardsDisney
Copy link

We dont actuallly need it, since we would be using the ffmpeg decoder, not the OpenAPV decoder, we just need ffmpeg-8.

@cedrik-fuoco-adsk cedrik-fuoco-adsk added the enhancement New feature or request label Sep 5, 2025
@markreidvfx
Copy link
Contributor

Interesting, I didn't know ffmpeg implemented thier own decoder. Have you compare performance to OpenAPV?

@richardssam
Copy link
Contributor Author

richardssam commented Sep 8, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants