Haiku relies on ffmpeg to decode videos, so there is no difference between other systems. BeOS used to have yuv420p, yuv444 etc supported colour spaces with supported drivers, and the interface kit BBitmap supported YUV colour spaces via overlays, so you gain efficiency by doing one conversion less. Haiku lacks proper drivers so has to pay the price. For a video editor which needs BGRA colour space, you’d use shaders (SpirV or GLSL) to convert colour spaces. Haiku lacks HW accelerated drivers so it loses there as well (compared to mainstream OS’s). Also, Haiku has no vaapi HW driver so it loses there as well.
On the plus side, Haiku has a fantastic API and with BMediaKit and translators, decoding a video stream is a couple of lines of code (much nicer than raw avformat API from ffmpeg). The async bitmap transfers/uploads are multithreaded so it wins there. Haiku allows efficient sharing of media buffers between apps, so drag/drop between apps is really efficient.
I went overboard with making the video editor as multithreaded as possible. A thread for thumbnails, decoding, audio mixing, opengl, the main gui window, preview window, effects gui, encoding, etc. They’re all threads. The editor is really smooth, and can do 4k editing. I cant wait to see how it will runone day with actual HW accelerated drivers.
IMHO every fringe OS community should invest effort into developing good full-fledged drivers for at least one reference hardware configuration. I wouldn't mind buying a specific video card, a specific motherboard etc even if they were rather old and overpriced in case if Haiku had stable hardware-accelerated drivers supporting all their features.
Given open-source Linux drivers which can give a good clue about how to interact with specific hardware this task doesn't seem impossible.
On the plus side, Haiku has a fantastic API and with BMediaKit and translators, decoding a video stream is a couple of lines of code (much nicer than raw avformat API from ffmpeg). The async bitmap transfers/uploads are multithreaded so it wins there. Haiku allows efficient sharing of media buffers between apps, so drag/drop between apps is really efficient.
I went overboard with making the video editor as multithreaded as possible. A thread for thumbnails, decoding, audio mixing, opengl, the main gui window, preview window, effects gui, encoding, etc. They’re all threads. The editor is really smooth, and can do 4k editing. I cant wait to see how it will runone day with actual HW accelerated drivers.