memorysafety / rav1d

An AV1 decoder in Rust.
BSD 2-Clause "Simplified" License
348 stars 22 forks source link

Add C API tests #296

Open randomPoison opened 1 year ago

randomPoison commented 1 year ago

rav1d needs to be a drop-in replacement for dav1d, which means we need to keep the public C API intact as we refactor the transpiled Rust code. In order to ensure that we don't accidentally make changes to the public API, we should write some basic tests that use the C API and verify that it continues to function as expected.

thedataking commented 1 year ago

I figured we could try building some applications that use dav1d as a way to test C API compatibility. Not sure which option is ultimately simpler.

kkysen commented 1 year ago

I figured we could try building some applications that use dav1d as a way to test C API compatibility. Not sure which option is ultimately simpler.

I think this option is probably better, or at least, we should also do this. We want something like a crater run, as it's these application uses that we ultimately care about not breaking.

randomPoison commented 8 months ago

A related issue is #807. Using the original C code for the dav1d CLI would allow us to test that the C API for rav1d is the same as the original.