Transforming with MPC

RN Diptych

After a brief consultation I was first invited by MPC to complete some R&D work. This led to my role as individual and lead developer for the project.

The initial goal was to achieve real-time full screen playback of retina resolution video with alpha transparency using iOS 6.0 SDK targeted at 4th generation iPad, not natively supported.

A small number of lightweight implementations were explored: composting deriving alpha information from colorised frame data, composting multiple video source, supporting FFmpeg conversion. All these tests highlighted a common drawback, speed. An educated decision was taken to supply the video source as sequential png image sequences, this data could then be scaled, compressed, pre-complied and packaged in to a single binary file.

The next challenge was to support as many sequenced ‘layers’ while maintaining a smooth frame-rate. Drawing was achieved using OpenGL, multiple context, shared textures and pixel buffers, synchronising screen refresh using CADisplayLink and transferring the binary png data using blocks through referencing a locked pixel buffer address. After understanding our compromise the system was designed to intelligently choose between layers with different resolutions.

A technique using weighted arrays was used to contrive a random representation of the animations which fed into an automated system driven by the applications file structure, allowing assets to be added and removed without the need to recompile the Xcode project.

Wireless support using GameKit/GKSession provided a relatively pain-free technology to utilise and implement the Bluetooth interface between any two devices.

Once running the technology took on a different life, when encased in the wood frames the combination of a wireless relationship and beautiful animations exposed a very warm and engaging character. A charm and quality I had never experienced.

This was a very rewarding experience with great technical and creative balance. Follow this link (Rob and Nick Carter: Transforming) to read more about the project.