vo_corevideo: restructure this video output
commit768e06b0ac3d11e5383b2e6e90f7b99719ba5876
authorStefano Pigozzi <stefano.pigozzi@gmail.com>
Sat, 17 Dec 2011 19:47:15 +0000 (17 20:47 +0100)
committerUoti Urpala <uau@mplayer2.org>
Thu, 26 Apr 2012 18:03:10 +0000 (26 21:03 +0300)
treef1063122f34c9d429f1da3a75acc9b3e87805a01
parentd12b9b611aa7030047e6556714e859dd2bfd38fc
vo_corevideo: restructure this video output

Restructure this video output to be similar to vo_gl, even if simpler
and less feature complete (for example it's still missing EOSD
support). Ideally, it should act as a decent fallback in the case
where something breaks in the OSX support of vo_gl.

Here's a summary of what changed:

 * Remove the shared buffer code since it wasn't using any function
   from the CoreVideo API. Moreover, its presence in vo_corevideo was
   forcing the non-GUI related code to perform more image copies than
   necessary. Equivalent shared-buffer functionality will be added in
   a separate new VO in the next commit (this means OSX GUIs will need
   to specify a different VO).

 * Clean up the code to conform a bit more to the mplayer2
   conventions. Enforce 80 column wrapping, use a private struct for
   file variables, use the new libvo api.

 * Add OSD rendering using OpenGL instead of writing directly on the
   video image data.

 * Simplify the logic for the rendering function when dealing with
   panscan.

 * Add VOCTRL_REDRAW_FRAME support.

 * Add colormatrix support by using the built-in API provided by
   CoreVideo.
libvo/cocoa_common.m
libvo/gl_common.c
libvo/gl_common.h
libvo/vo_corevideo.h
libvo/vo_corevideo.m