- 25 Jul, 2022 4 commits
-
-
PiperOrigin-RevId: 463146426 (cherry picked from commit 92fc065b)
Oliver Woodman committed
- 22 Jul, 2022 1 commit
-
-
This is needed for applying effects to a playlist. The effects are applied based on the presentation time of the frame in its corresponding media item and the offset is added back before encoding. Each time the offset changes, end of input stream is signalled to the texture processors. This is needed because the texture processors can expect monotonically increasing timestamp within the same input stream but when the offset changes, the timstamps jump back to 0. PiperOrigin-RevId: 462714966 (cherry picked from commit 46ab06b8)
hschlueter committed
-
- 21 Jul, 2022 3 commits
-
-
This allows us to use BT.2020 RGB linear for intermediate shaders, which also allows us to re-enable PeriodicVignetteProcessor, which should work properly in linear color-spaces. Manually tested by adding a GlEffectsWrapper, and confirming that HLG HDR editing still looks correct. PiperOrigin-RevId: 462265821 (cherry picked from commit 1ecf1eb7)
huangdarwin committed
- 20 Jul, 2022 1 commit
-
- 19 Jul, 2022 6 commits
-
-
This adds two methods that are helpful when working with Futures. One is a version of postOrRun that can indicate completion by a Future and the other is a simplified version of Guava's Futures.transformAsync (which can't be used as it's in Beta). PiperOrigin-RevId: 461896598 (cherry picked from commit 1df79419)
tonihei committed -
PiperOrigin-RevId: 461888238 (cherry picked from commit 42f2e144)
samrobinson committed -
Otherwise, invalid ColorInfo instances generated using faulty MediaFormat#getInteger values could cause exceptions. Confirmed that b/239435670 reproduces without this CL, and does not reproduce with this CL. PiperOrigin-RevId: 461862191 (cherry picked from commit 5533ad17)
huangdarwin committed -
This will help developers self-diagnose issues like Issue: google/ExoPlayer#10392 where the NPE occurs far from the original null value because a field gets assigned to null. This change aims to ensure that every stable method on Player, ExoPlayer and ExoPlayer.Builder that takes a non-null type will fail with an NPE before returning. #minor-release PiperOrigin-RevId: 461846580 (cherry picked from commit 080db2a0)
ibaker committed
- 18 Jul, 2022 5 commits
-
-
* Introduced `useHdr` for `GlEffect#toGlTextureProcessor`, so `TextureProcessor` implementations can decide how to handle HDR. * Creating FP16 color textures for HDR input. Tested via manual testing, adding a no-op GlEffectWrapper to the transformation to force use of intermediate textures, adding a linear ramp to the fragment shader, and trying to ascertain that there's a real reduction in posterization when switching from 4-bit to 8-bit unsigned bytes, and again from 8-bit unsigned bytes to 16-bit floating point. PiperOrigin-RevId: 461613117 (cherry picked from commit f67c1a73)
huangdarwin committed -
This may happen when a containers' color transfer incorrectly does not match the video's color transfer. An example of a file with such a mismatch is the current Transformer demo HDR10 sample file. Manually tested by confirming that no errors are emitted for SDR and HLG sample files, and that errors are emitted for our incorrect HDR10 sample file. PiperOrigin-RevId: 461583532 (cherry picked from commit fd046bd2)
huangdarwin committed -
- Update profile selection logic to pick an HDR-compatible profile when doing HDR editing on H.264/AVC videos. - Handle doing the capabilities check for all MIME types that support HDR (not just H.265/HEVC). - Fix a bug where we would pass an HDR input color format to the encoder when using tone-mapping. - Tweak how `EncoderWrapper` works so decisions at made at construction time. Manually tested cases: - Transformation of an SDR video. - Transformation of an HDR video to AVC (which triggers fallback/tone-mapping on a device that doesn't support HDR editing for AVC). - Transformation of an HDR video with HDR editing. PiperOrigin-RevId: 461572973 (cherry picked from commit 0db07c67)
andrewlewis committed -
The old URL doesn't correctly signal the HDR10 color info in the container. The new URL signals ST2084 (PQ) transfer function and BT.2020 color space as expected. PiperOrigin-RevId: 461560107 (cherry picked from commit 405be80f)
andrewlewis committed
-
- 15 Jul, 2022 1 commit
-
- 14 Jul, 2022 1 commit
-
-
These are providing more variety and complexity. All files are okay to be public. PiperOrigin-RevId: 460935247 (cherry picked from commit d4653c33)
samrobinson committed
-
- 13 Jul, 2022 5 commits
-
-
Also remove VideoEncoderSettings.colorProfile as there are no concrete use cases for customizing this and it clashes with picking the color format automatically based on SDR vs. HDR. PiperOrigin-RevId: 460746987 (cherry picked from commit db78a87f)
hschlueter committed -
We currently start a simple Thread to release AudioTracks asynchronously. If many AudioTracks are released at the same time, this may lead to OOM situations because we attempt to create multiple new threads. This can be improved by using a shared SingleThreadExecutor. In the simple case of one simmultaneous release, it's exactly the same behavior as before: create a thread and release it as soon as it's done. For multiple simultanous releases we get the advantage of sharing a single thread to avoid creating more than one at the same time. Issue: google/ExoPlayer#10057 PiperOrigin-RevId: 460698942 (cherry picked from commit 1e8d1631)
tonihei committed -
Add test that verifies SSIM with API enabled. #minor-release PiperOrigin-RevId: 460692420 (cherry picked from commit 6ec18c8a)
samrobinson committed -
#cleanup #minor-release PiperOrigin-RevId: 460688226 (cherry picked from commit e0b46ece)
samrobinson committed
-
- 12 Jul, 2022 7 commits
-
-
Some calls to handleBuffer return false while a previous flush is still handled in the background. Fix this by either asserting the method returns true if we don't expect any delay, or calling it repeatedly until it returns true (within a timeout). PiperOrigin-RevId: 460474419 (cherry picked from commit 42897083)
tonihei committed -
Pass the color info and HDR static metadata when configuring the decoder using MediaFormatUtil.maybeSetColorInfo. PiperOrigin-RevId: 460424985 (cherry picked from commit 46cd92ac)
hschlueter committed -
This extension is needed for editing HDR input with OpenGL, as the ExternalTextureProcessor samples raw YUV values from the external texture for HDR and converts them to RGB itself rather than relying on the OpenGL driver to do this automatically as for SDR. PiperOrigin-RevId: 460424154 (cherry picked from commit 413016f7)
hschlueter committed
- 11 Jul, 2022 2 commits
-
-
This saves an intermediate texture copy step for use-cases where matrix transformations are the first or only effects in the chain. PiperOrigin-RevId: 460239403 (cherry picked from commit 0615922c)
hschlueter committed
-
- 07 Jul, 2022 2 commits
-
-
Some other minor nits and adjustments to the API logic. PiperOrigin-RevId: 459490431 (cherry picked from commit a36967c1)
samrobinson committed
- 06 Jul, 2022 2 commits
-
-
The SDR constant also specified a color space and range, in addition to C.COLOR_TRANSFER_SDR. However, it turns out that SDR videos may use different color space and range values, so following prior ExoPlayer conventions to have `null` mean "generic SDR" is preferable here. PiperOrigin-RevId: 459296746 (cherry picked from commit 4230ea94)
huangdarwin committed -
HDR editing is not supported under API 31 PiperOrigin-RevId: 459211106 (cherry picked from commit 77d353b5)
huangdarwin committed
-