Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vpx 10-bit colour encoding support #1310

Closed
totaam opened this issue Sep 16, 2016 · 5 comments
Closed

vpx 10-bit colour encoding support #1310

totaam opened this issue Sep 16, 2016 · 5 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Sep 16, 2016

Follow up from #909, we may want to wait for vp10 to come out too.

The API documentation is very limited but both gstreamer and ffmpeg have support for it - which we could re-use via the enc_ffmpeg encoder (#1107).

@totaam
Copy link
Collaborator Author

totaam commented Feb 8, 2017

libvpx needs to be compiled with --enable-vp9-highbitdepth, CONFIG_VP9_HIGHBITDEPTH should be set and the image formats we can use are "Image uses 16bit framebuffer":

VPX_IMG_FMT_I42016    = VPX_IMG_FMT_I420 | VPX_IMG_FMT_HIGHBITDEPTH
VPX_IMG_FMT_I42216    = VPX_IMG_FMT_I422 | VPX_IMG_FMT_HIGHBITDEPTH
VPX_IMG_FMT_I44416    = VPX_IMG_FMT_I444 | VPX_IMG_FMT_HIGHBITDEPTH
VPX_IMG_FMT_I44016    = VPX_IMG_FMT_I440 | VPX_IMG_FMT_HIGHBITDEPTH

I believe those formats store the the YUV channels in the high 10/12 bits of each 16bit value. Wasting quite a bit of space and requiring a CSC step to go from R210 to this format.. sigh.

Note: vpx now also supports alpha channel: VPX_IMG_FMT_HAS_ALPHA.

Also worth considering colorspace bits (#1155): vpx_color_space.

@totaam
Copy link
Collaborator Author

totaam commented Feb 19, 2017

Somewhat blocked by rpath issues: #1405

@totaam
Copy link
Collaborator Author

totaam commented Apr 28, 2017

re-scheduling - the 16-bit per channel reformatting constraint is costly.

@totaam
Copy link
Collaborator Author

totaam commented Jul 15, 2020

Done in r26980.

Found a new scaling related bug: #2845.

For further reference, see ImageDepth.

@totaam
Copy link
Collaborator Author

totaam commented Apr 9, 2021

Caused a regression with the vp9 encoder with older versions of libvpx (ie: Debian Buster and Ubuntu Focal): #3082

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant