-
Notifications
You must be signed in to change notification settings - Fork 345
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OpenG: Enable direct rendering of 10/12/16bit frame formats
- OpenGLVideo can now directly render YV12, NV12, YUY2, YUV420P10, YUV420P12 and YUV420P16 without any conversion - higher depth formats are never pre-processed in OpenGLVideo (unlike YV12 - which still respects the video profile) - supported direct render formats are negotiated between the decoder and the videooutput classes - with the default remaining YV12 only for anything other the OpenGL. - this will not yet guarantee full 10bit output on supported displays. While the main video textures are 16bit, if there is any scaling the intermediate framebuffer will still be 8bit by default; with a resulting loss in precision - there may be issues with some of the OpenGL settings on e.g. Android/ GLES - 12/16bit support is untested TODO - add support for 16bit float framebuffers to ensure no precision loss - check for higher depth framebuffer support and use 8 or 16 bit precision throughout accordingly (i.e. don't waste memory for 16 bit textures on an 8bit display/framebuffer) - add temporal dithering as an option for 10/12/16 to 8 bit downsampling - select and use optimum frame formats for hardware, decode only frame transfers (i.e. some decoders operate on NV12 data internally - which has better performance in the OpenGL layer - and requesting the native format avoids an internal conversion)
- Loading branch information
1 parent
d6317ce
commit 007b063
Showing
13 changed files
with
193 additions
and
46 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.