Exoplayer: Poor video quality after scaling up a small video with Skia renderer?

Created on 24 Jun 2019  路  6Comments  路  Source: google/ExoPlayer

It is found that video has poor quality on Skia renderer after scaling up on Android Pie, in which the default renderer is Skia.

The result is quite obvious, with OpenGL, video looks smoother

Link to test content

Original video: https://img-9gag-fun.9cache.com/photo/aerBX7j_460svvp9.webm

With OpenGL:

Screenshot_20190620-181601_9GAG
Screenshot_20190620-181606_9GAG

With Skia:

Screenshot_20190620-181514_9GAG
Screenshot_20190620-181518_9GAG

question

Most helpful comment

I think it's just a bug that affects TextureView on certain devices, but can be fixed via system update (I'm not sure what devices will receive updates or when, though).

See choosing a surface type for background information on SurfaceView vs TextureView. Unless you need to call TextureView.getBitmap, SurfaceView can be used from API 24 onwards.

All 6 comments

This issue does not seem to follow the issue template. Make sure you provide all the required information.

What device(s) do you see this behavior on? Is the app pictured using TextureView?

It sounds like the same issue as issuetracker.google.com/124593215. If so, I think the best way forward is for you to provide information on that bug as there isn't a good way for us to fix this in ExoPlayer. Thanks.

Yes, TextureView is used.

Screenshot was taken from Samsung Galaxy Tab A, it's been tried on Xiaomi Mi 9 (Pie) and Nokia 7 Plus (Pie), similar result is obtained.

I wonder whether SurfaceView is an option for your use case and wouldn't be affected by the same issue.

Oh, switching to SurfaceView can resolve the pixelated issue. Why it would be the case?

I think it's just a bug that affects TextureView on certain devices, but can be fixed via system update (I'm not sure what devices will receive updates or when, though).

See choosing a surface type for background information on SurfaceView vs TextureView. Unless you need to call TextureView.getBitmap, SurfaceView can be used from API 24 onwards.

Was this page helpful?
0 / 5 - 0 ratings