Decoding to 420v instead of 2vuy (4:2:0 instead of 4:2:2) saves a little bit of power -- about 5%.
If we use 420v, though it is possible to enter detached mode, which drops h264 playback power by more than half (see the attached graph).
That savings is only realized if the kCVPixelBufferOpenGLCompatibilityKey is not specified (otherwise it is a loss). Not specifying this key doesn't seem to prevent us from binding the individual planes of the frame's IOSurface to GL_R and GL_RG textures.
This is the "accelerated decode" counterpart of issue 524582 . Of note is that we do not explicitly create GpuMemoryBuffers for h264 decoded frames, which may complicate the implementation (perhaps we should do this).
Comment 1 by ccameron@chromium.org
, Mar 14 2016