Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
That being said, if you are good with the mpv codebase, I am sure we would all be excited to try patches
Heh point taken 🙂. I don't use tiger/ppc myself, I was approaching this more purely from the nerd-snipe angle of the fastest way to render video on these old systems. So just consider it more food for thought rather than anything actionable.

sdl2 nor mpv require GL support,
Interesting, from the codebase there is a cocoa video driver, but that itself seems to rely on the "native" 3D video codepaths (metal, opengl, opengles). SDL used to support quartz but according to wiki it was dropped in SDL2. --enable-video-x11 is a pure framebuffer based codepath though, so I guess that doesn't require x11.

Software rendering is probably not worse than OpenGL acceleration when the graphics card isn't very powerful.
Note that since 10.2 Quartz Compositor always ultimately does OpenGL accelerated compositing, so that alone might save saves you some mem copies. In terms of workload the main things that would need to be done are YUV->RGB conversion and scaling, it's possible that CPU can do it better here, I'm not familiar with the performance on these older systems.

In the ancient mplayer/mpv days there used to be this really obscure "Quartz" vo backend, that used old Carbon & QuickDraw APIs, calling into QuickTime for fast YUV conversion


Now of course I'm not volunteering to port this over... but given that the core architecture of mpv hasn't changed too much this is probably going to be the fastest codepath you can get (I assume the QT frameworks are heavily optimized. I know on 10.5-10.9 apple created their own opengl extensions to allow ~zero-copy rendering)
 
  • Like
Reactions: Forest Expertise
If you refer to mpv here

I was referring to sdl2. It seems to have the following vo backends that can be used on osx: x11 (framebuffer), x11 (opengl) and cocoa (opengl). There likely used to be cocoa (quartz2d) but was apparently removed with sdl2.

mpv can use sdl2 as the vo yes, it just uses SDL_RenderCopy to draw the texture, relying on sdl's native yuv texture conversion. Idk how optimized this is, especially if it falls back to framebuffer blit.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.