media/library
claincly 85ce0bc181 Add SSIM helper for transcoding quality measurements.
We use SSIM to measure the transcoding quality between. SSIM is a widely used
tool that compares the luma channel between two images, and generates a score
from 0 to 1 that indicates "how similar" the two images are.

In `SsimHelper`, we decode the two videos, extract matching frames and
calculates the mean SSIM (SSIM averaged all matching frames) for both videos.
Matching frames are referred to as "comparisonFrame" in the CL, which is
selected based on the frame number and a user-set comparison interval.
For instance, if the interval is 7, then every seventh frames are compared.

We use MediaCodec/MediaExtractor to decode the video, and use ImageReader to
extract the decoded frame.

The SSIM calculation logic is a inspired by and modified from the CTS
[MSSIMMatcher](https://cs.android.com/android/platform/superproject/+/master:cts/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/MSSIMComparer.java;l=1?q=mssimcom)
that has some errors and extra features we don't need (like handling RGB
images).

Adds TranscodeQualityTest to ensure high quality transcoding.

PiperOrigin-RevId: 430951206
2022-03-01 10:00:32 +00:00
..
all Fix minimum API level issue 2022-02-08 11:03:36 +00:00
common Version bump to exoplayer:2.17.0 and media3:1.0.0-alpha02 2022-02-23 16:35:00 +00:00
core Rollback of 9961d918a9 2022-03-01 09:49:59 +00:00
dash Reformat some javadoc 2022-02-18 15:02:33 +00:00
database Reformat some javadoc 2022-02-18 15:02:33 +00:00
datasource Reformat some javadoc 2022-02-18 15:02:33 +00:00
decoder Reformat some javadoc 2022-02-18 15:02:33 +00:00
extractor FMP4: Fix output of mixed v0 and v1 emsg samples 2022-03-01 09:46:31 +00:00
hls Reformat some javadoc 2022-02-18 15:02:33 +00:00
rtsp Merge pull request #36 from ittiam-systems:rtp-h265 2022-02-18 16:46:09 +00:00
smoothstreaming Reformat some javadoc 2022-02-18 15:02:33 +00:00
transformer Add SSIM helper for transcoding quality measurements. 2022-03-01 10:00:32 +00:00
ui Reformat some javadoc 2022-02-18 15:02:33 +00:00
README.md Update to androidx.media3 2021-10-27 09:12:46 +01:00

ExoPlayer library

The ExoPlayer library is split into multiple modules. See ExoPlayer's top level README for more information about the available library modules and how to use them.