media icon indicating copy to clipboard operation
media copied to clipboard

Darken edge when using image overlay with transparency exported through Transformer lib

Open landicefu opened this issue 5 months ago • 2 comments

Version

Media3 main branch

More version details

main & version 1.8.0

Devices that reproduce the issue

  • Pixel6
  • many other phones

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

Not tested

Reproduction steps

Media3TransformerBlendingTest.zip Please try this project. It includes all the asset and setup for reproducing the issue.

Expected result

The alpha blending will work normally and the dark edge is not shown around the sticker overlay.

Actual result

As you see from the following video, there is a dark edge around the sticker. I believe this is due to the blending setup for GLES.

https://github.com/user-attachments/assets/c1b20083-558e-4e8f-863a-c4afc64a7095

If I load the image in straight alpha format using following snippet, then the edge seems correct.

        val staticImage = context.assets.open("image1.png").use {
            val bitmapOption = BitmapFactory.Options().apply {
                inPremultiplied = false
            }
            BitmapFactory.decodeStream(it, null, bitmapOption)
        }!!

From

Image

to

Image

BTW, I also tried to load the image as an MediaItem, and the result is the same. The blending is wrong.

Media

Image

The video is streamed from internet. The url is in the project source code.

Bug Report

  • [ ] You will email the zip file produced by adb bugreport to [email protected] after filing this issue.

landicefu avatar Sep 12 '25 06:09 landicefu

This is another set of result files using inPremultiplied = true and false. Premultiplied (wrong) Image

Straight alpha (correct)

Image

landicefu avatar Sep 12 '25 09:09 landicefu

Thank you for the report. Yes, our built-in effects assume non-premultiplied (straight) alpha, and do not respect Bitmap.isPremultiplied.

I filed an internal bug ID 453994890 to follow-up with our team

Sorry for the delayed response!

ychaparov avatar Oct 21 '25 14:10 ychaparov