On Tue, Mar 17, 2020 at 8:27 AM Michael Goffioul <michael...@gmail.com> wrote:
On Mon, Mar 16, 2020 at 9:24 PM Michael Goffioul <michael...@gmail.com> wrote:
On Mon, Mar 9, 2020 at 4:01 AM Chih-Wei Huang <cwh...@android-x86.org> wrote:
Michael Goffioul <michael...@gmail.com> 於 2020年3月8日 週日 上午9:04寫道:
>
> On Sat, Mar 7, 2020 at 6:11 PM Michael Goffioul <michael...@gmail.com> wrote:
>>
>> I was syncing my pie-x86 build with android-x86, and at the same time update the system webview to Chrome/80, but a new problem popped up when playing h264 videos in the browser. There's no picture and the logs show this:
>>
>> 03-07 17:50:57.128 4997 5103 E NdkImageReader: acquireImageLocked: Output buffer format: 0x4, ImageReader configured format: 0x23
>> 03-07 17:50:57.128 4997 5103 E chromium: [ERROR:image_reader_gl_owner.cc(262)] method fails for some other reasons
>>
>> My previous build, based on android-x86/android_9.0.0_r48 and using Chrome/77, didn't have that problem. Also youtube doesn't the problem. Any suggestion?
>
> Well, that's a bummer. I reverted my build to webview from Chrome/77, but now the webview just plain crashes whenever a video (or maybe audio) is played, even on youtube. Crash happens in thread Chrome_InProcGp, afaik it's the GPU thread, which may indicate the problem lies with mesa. That illustrates very well the proverb: if it ain't broke, don't fix it... I should have stayed with my pie-x86 repo from a couple of months ago.
I can play video in youtube from the Chrome browser in 9.0-r1.
How to reproduce the issue?My problem is when using a webview, so the closest is probably to use the webview shell app instead of regular chrome browser. But that also means you need an up to date system webview apk. When I use Chrome/80 based system webview, I only get problem with h264 videos, that is, videos decoded by the ffmpeg omx layer. Youtube usually uses vp9, which uses standard aosp codec, so the few ones I've tested play just fine. From what I could gather, Chrome uses libmediandk to produce video frames, but the ffmpeg codec generates frames in RGB565 format, while Chrome expects YV12 (I suspect this is related to this change: https://osdn.net/projects/android-x86/scm/git/frameworks-av/commits/3c55a6971f909814691b8508487b89e41a357b72). The switch to libmediandk by default also seems to be a recent change (https://github.com/chromium/chromium/commit/81d7d8e661419461bf115d144617ed3ab0d824af).Now the annoying thing is that if I revert to Chrome/77, which used to work fine, any videos (including youtube) crashes my webview-based browser, after a couple of seconds. This is probably a different problem.
For the record, I reverted mesa to the version I used prior syncing my repo (8b36d87a8f55891b15864aef9022b2533ccedddd) and the crash with Chrome/77 does not occur anymore.
I wanted to provide a patch for frameworks/av/ that allows YV12 conditionally based on BOARD_USES_GRALLOC1, but given that the code uses Android.bp, creating such conditional is widely unnecessarily painful, so I'll just live with a local dirty patch.Michael.
char gralloc_prop[PROPERTY_VALUE_MAX];
On Mon, Mar 16, 2020 at 9:24 PM Michael Goffioul <michael...@gmail.com> wrote:
On Mon, Mar 9, 2020 at 4:01 AM Chih-Wei Huang <cwh...@android-x86.org> wrote:
Michael Goffioul <michael...@gmail.com> 於 2020年3月8日 週日 上午9:04寫道:
>
> On Sat, Mar 7, 2020 at 6:11 PM Michael Goffioul <michael...@gmail.com> wrote:
>>
>> I was syncing my pie-x86 build with android-x86, and at the same time update the system webview to Chrome/80, but a new problem popped up when playing h264 videos in the browser. There's no picture and the logs show this:
>>
>> 03-07 17:50:57.128 4997 5103 E NdkImageReader: acquireImageLocked: Output buffer format: 0x4, ImageReader configured format: 0x23
>> 03-07 17:50:57.128 4997 5103 E chromium: [ERROR:image_reader_gl_owner.cc(262)] method fails for some other reasons
One final note: I finally got h264 video to play in the Chrome/80 webview on my device. First I resynced mesa to current pie-x86, this is needed to have proper gralloc1 support. Then I reverted this patch: https://osdn.net/projects/android-x86/scm/git/frameworks-av/commits/3c55a6971f909814691b8508487b89e41a357b72 to allow the ffmpeg codec to produce buffers in YV12 format. Everything seems to work fine: youtube videos, h264 videos in browser, h264 videos in ExoPlayer. Note that I'm using intel's minigbm (gralloc1) combined with drmfb-composer, which may be a reason why the patch that disables YV12 format is not needed anymore.I wanted to provide a patch for frameworks/av/ that allows YV12 conditionally based on BOARD_USES_GRALLOC1, but given that the code uses Android.bp, creating such conditional is widely unnecessarily painful, so I'll just live with a local dirty patch.Michael.
I wanted to provide a patch for frameworks/av/ that allows YV12 conditionally based on BOARD_USES_GRALLOC1, but given that the code uses Android.bp, creating such conditional is widely unnecessarily painful, so I'll just live with a local dirty patch.Michael.In this commit there is an example of how to open the gralloc module and check the gralloc_version and the common.nameSimilar implementation could be applied in frameworks/av and it would be a clean way.
I don't know how to test HW yuv, test some app use sw YUV on cm14.1-x86.
mxplayer setting sw YUV, play video black screen with gralloc.drm and gralloc.gbm, not blackscreen with gralloc.minigbm.
taobao live app, sw play video blackscreen with gralloc.drm, not blackscreen with gralloc.minigbm.
The problem is android 7 only support vulkan 1.0
On Tuesday, June 9, 2020 at 8:47:05 PM UTC+2, youling 257 wrote:The problem is android 7 only support vulkan 1.0That's another story, if you actually encountered issues,you may try to HACK and artificially lower the Vulkan API version inline 45:API_VERSIONS = [ApiVersion('1.0.68', True),- ApiVersion('1.1.107', True),+ ApiVersion('1.1.107', '!ANDROID'),ApiVersion('1.2.131', '!ANDROID'),]Similar attempt in anv https://cgit.freedesktop.org/mesa/mesa/tree/src/intel/vulkan/anv_extensions.py
Warning: I've NEVER tried this
So we can't revert or do anything for future build ?
please you submit this patch and push request to mesa upstream.
On Tuesday, July 21, 2020 at 5:41:50 AM UTC+2, youling 257 wrote:please you submit this patch and push request to mesa upstream.Hi youling,could you please provide commit message including the building error you get with Android 7and your Signed-off-by tag?
is there a way to solve it? please revert "Don't use YV12 color format for video decoding"
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/android-x86/2da3017f-40ba-4697-a890-a6f8e9b32ea2n%40googlegroups.com.