waydroid-init: select P010 for HEVC Main10 hosts#1
Conversation
|
this contribution contains two(2) prs. the other is here: |
|
tests passed:
this commit also enables av1 and vp9 support (if any), tests will be done later. fix under way. |
Track selected VAAPI decoder profiles while building the host codec capability list: - HEVC Main10 - VP9 Profile2 - AV1 Profile0 Expose the detected profile list through ro.waydroid.hwcodec_profiles for diagnostics and feature selection by other components. Do not change debug.ffmpeg-codec2.pixel_format based on these profiles. That property is global to the ffmpeg Codec2 service, so setting it to YUV_420_P010 would also affect 8-bit codecs such as H.264, VP9 and AV1. P010 selection should happen in the media component for streams that actually produce P010 frames. Test: m -j8 waydroid-init Test: Booted WayDroid on an Intel VAAPI host and verified debug.ffmpeg-codec2.pixel_format remains YUV_420. Co-authored-by: OpenAI Codex <codex@openai.com>
a07d970 to
7eed485
Compare
|
now confirmed working after this patch: |
|
known issue: dolby vision (profile 5) not supported, or if you play it, has a wrong color space. working on a conversion. |
e1cdb4c to
ab3efa9
Compare
|
major works done. see WayDroid-ATV/android_external_stagefright-plugins#1 |

Track VAAPI decoder profiles for HEVC Main10, VP9 Profile2 and AV1 Profile0 while building the host codec capability list.
When the normal ffmpeg Codec2 output would be YUV_420 and the host VAAPI decoder supports HEVC Main10, select YUV_420_P010 so Main10 streams can use a 10-bit 4:2:0 output format.
Compute the final pixel format before writing debug.ffmpeg-codec2.pixel_format. WaydroidSettings intentionally protects user-provided values from /data/misc/waydroid_settings, and it also keeps the first auto-generated value for a key. Writing YUV_420 first would prevent the later HEVC Main10 auto-detected P010 value from taking effect.
Test: m -j8 waydroid-init
Test: Booted WayDroid on an Intel VAAPI host and verified debug.ffmpeg-codec2.pixel_format=YUV_420_P010.
Test: Played a 2160p HEVC Main10 sample with Next Player; logcat showed c2.ffmpeg.hevc.decoder, VAAPI hwaccel and HAL_PIXEL_FORMAT_YCBCR_P010 output.