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

Consider supporting 12bits-per-component depths #137

Open
yell0wd0g opened this issue Nov 9, 2017 · 2 comments
Open

Consider supporting 12bits-per-component depths #137

yell0wd0g opened this issue Nov 9, 2017 · 2 comments

Comments

@yell0wd0g
Copy link

Same as 10bit per component, at least VP9 supports 12 bits per component. Only the first one is supported [1,2]. Consider adding support for 12bits -- and I understand that this is totally not trivial :-)

[1] https://github.com/01org/libva/blob/master/va/va.h#L584
[2] https://wiki.libav.org/Hardware/vaapi

MXEBot referenced this issue in mirror/chromium Nov 10, 2017
This CL extends |kDcQLookup| and |kAcQLookup| for 10-bit
VP9 formats (they are also reformatted to suit the definition
on the Spec [1] -- hence the "clang format off". The tables
are moved to the anonymous namespace at the top of the file.

This CL also adds a new ivf file and extends
vp9_parser_unittest.cc (Vp9ParserTest) accordingly.

libva (via vaapi_* files) is the only client that supports
VP9.2 and only supports 10 bits per component formats, so
there's no point in supporting 12 bits per component now
(see https://github.com/01org/libva/issues/137).

Method Vp9Parser::SetupSegmentationDequant() is changed to
return a boolean which is false if e.g. the VP9 has an
unsupported bit depth. ToT has only a DLOG_IF(ERROR...).

[1] https://www.webmproject.org/vp9/#draft-vp9-bitstream-and-decoding-process-specification

Bug: 778093
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4179c2849160f8486252e48b8e648ab78eff92e0
Reviewed-on: https://chromium-review.googlesource.com/740762
Reviewed-by: Fredrik Hubinette <[email protected]>
Reviewed-by: Kuang-che Wu <[email protected]>
Commit-Queue: Miguel Casas <[email protected]>
Cr-Commit-Position: refs/heads/master@{#515405}
xqq referenced this issue in xqq/chromium-media Nov 14, 2017
This CL extends |kDcQLookup| and |kAcQLookup| for 10-bit
VP9 formats (they are also reformatted to suit the definition
on the Spec [1] -- hence the "clang format off". The tables
are moved to the anonymous namespace at the top of the file.

This CL also adds a new ivf file and extends
vp9_parser_unittest.cc (Vp9ParserTest) accordingly.

libva (via vaapi_* files) is the only client that supports
VP9.2 and only supports 10 bits per component formats, so
there's no point in supporting 12 bits per component now
(see https://github.com/01org/libva/issues/137).

Method Vp9Parser::SetupSegmentationDequant() is changed to
return a boolean which is false if e.g. the VP9 has an
unsupported bit depth. ToT has only a DLOG_IF(ERROR...).

[1] https://www.webmproject.org/vp9/#draft-vp9-bitstream-and-decoding-process-specification

Bug: 778093
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4179c2849160f8486252e48b8e648ab78eff92e0
Reviewed-on: https://chromium-review.googlesource.com/740762
Reviewed-by: Fredrik Hubinette <[email protected]>
Reviewed-by: Kuang-che Wu <[email protected]>
Commit-Queue: Miguel Casas <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#515405}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ec6c6e0a27aed7db660f6e07afefc0ed95f88383
@xhaihao
Copy link
Contributor

xhaihao commented Nov 17, 2017

For vp9 decoding, we have added a field to support more than 8bits video

/** \brief VP9 bit depth per sample       
 *  same for both luma and chroma samples.
 */                                       
uint8_t                 bit_depth;        

But currently there isn't a VA-API driver to support 12bit vp9 video.

@FurongZhang
Copy link
Contributor

@YellowDoge Does xhaihao answer your questions? Do you need further follow-up?

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

3 participants