- 25 Aug, 2022 4 commits
-
-
PiperOrigin-RevId: 469959215 (cherry picked from commit 0f48c89f)
huangdarwin committed
- 24 Aug, 2022 2 commits
-
-
Use the PQ OETF and EOTF to ensure that intermediate fragment shader operations using PQ are in linear BT.2020 rather than PQ and HLG-1 BT.2020. Also, swap the OETF and EOTF in shaders, as they were used incorrectly before Manually tested by verifying transformer demo HLG and PQ videos look the same with and without this CL, including with a BitmapOverlayProcessor enabled to test flows both with one MatrixTransformationProcessor that skips HDR TFs, and with one that doesn't. PiperOrigin-RevId: 469736067 (cherry picked from commit a2139109)
huangdarwin committed
- 23 Aug, 2022 3 commits
-
- 22 Aug, 2022 1 commit
-
- 19 Aug, 2022 3 commits
-
- 18 Aug, 2022 3 commits
-
-
Remove the manual overwriting of Note ON events that have 0 velocity with Note OFF. JSyn handles this already. - The implementation of "running status" means that the amount of bytes read from the file differ from the size of the sample that ends up in the decoder. The decoder sample contains the applied running status (status of previous event), which the file bytes don't contain. PiperOrigin-RevId: 468537659 (cherry picked from commit 53218b50)
hmzh committed -
Adds a method to FrameProcessor.Listener to be called when an output frame is available and a method releaseOutputFrame in FrameProcessor allowing the caller to trigger release of the oldest available output frame at a given timestamp. Late frames or frames with unset release times are dropped in the FinalMatrixTransformationProcessorWrapper. More than one output frame can become available before they are released if the penultimate GlTextureProcessor is capable of producing multiple output frames. Processing continues while waiting for releaseOutputFrame to be called. Frame release tasks are prioritized over other tasks. PiperOrigin-RevId: 468473072 (cherry picked from commit 2c063546)
Googler committed -
Manually tested using transformer demo HLG videos. Before this CL, RGB values after the YUV to RGB conversion reached up to 1.025. After this CL, RGB values correctly clamp at 1.0. PiperOrigin-RevId: 468426092 (cherry picked from commit 32ee4480)
huangdarwin committed
-
- 17 Aug, 2022 2 commits
-
- 16 Aug, 2022 3 commits
-
-
PiperOrigin-RevId: 467910378 (cherry picked from commit 130a5362)
huangdarwin committed
- 15 Aug, 2022 5 commits
-
-
This is needed as a pre-requisite for allowing MCVR to control FrameProcessor frame release for previewing. Submitting a high-priority task is conceptually different from posting at the front of a single queue of tasks, as the high-priority tasks are executed in FIFO order among themselves. This will ensure that frame release tasks submitted in close succession are executed in the order they are submitted but before any lower priority tasks. PiperOrigin-RevId: 467675137 (cherry picked from commit 4d81a6db)
Googler committed -
Increase the estimated max sample size for HEVC by 2x, and set a minimum size of 2MB. The 2MB will be applied for resolutions up to 1080p, after which the new calculation takes effect. This is in par with the platform's HEVC software decoder. PiperOrigin-RevId: 467641494 (cherry picked from commit d3d5ffce)
christosts committed -
PiperOrigin-RevId: 467610621 (cherry picked from commit ec7936f6)
andrewlewis committed
-
- 12 Aug, 2022 3 commits
-
-
This change adds ExternalTextureManager which implements InputListener to only queue input frames to the ExternalTextureProcessor when it is ready to accept an input frame. This replaces the old retry-logic in GlEffectsFrameProcessor. Before this change, the retrying in GlEffectFrameProcessor wasted CPU time if input becomes available faster than the ExternalTextureProcessor can process it. PiperOrigin-RevId: 467177659 (cherry picked from commit 06ce5ec7)
Googler committed
- 11 Aug, 2022 1 commit
-
-
In some cases, the IMA SDK fails to call the expected loadAd event to load the next ad to play. This is (potentially) the only remaining case where playback can get stuck due to missing calls from IMA as the player doesn't even have a MediaSource at this stage and is only waiting for IMA to provide the ad URL. We can reuse the existing adPreloadTimeoutMs that was added for a similar purpose (when preloading the first ad in the group). The JavaDoc matches this purpose as well and the default timeout is appropriate since we expect to get the loadAd call immediately. Issue: google/ExoPlayer#10510 PiperOrigin-RevId: 466953617 (cherry picked from commit 91fc5c4f)
tonihei committed
-
- 10 Aug, 2022 3 commits
-
-
createSupportedTransformationRequest is more accurate than createFallbackTransformationRequest, as a TransformationRequest will be returned regardless of whether any fallback is applied. PiperOrigin-RevId: 466641277 (cherry picked from commit 70972bba)
huangdarwin committed -
This change adds a new method onReadyToAcceptInputFrame to GlTextureProcesssor.InputListener and changes maybeQueueInputFrame to queueInputFrame, removing the boolean return value. This avoids the re-trying in ChainingGlTextureProcessorListener by allowing it to only feed frames from the producing to the consuming GlTextureProcessor when there is capacity. MediaPipeProcessor still needs re-trying when processing isn't 1:1. PiperOrigin-RevId: 466626369 (cherry picked from commit 9c366b3c)
Googler committed
- 09 Aug, 2022 6 commits
-
-
Previously, this feature interpreted SDR signals as HDR when called. Now, only HDR streams are interpreted as HDR, so the javadoc should be updated. Not yet removing this method, as there are still some loose ends to finish up (ex. PQ support, e2e tests). PiperOrigin-RevId: 466425738 (cherry picked from commit 2d2926b8)
huangdarwin committed -
Without this permission, files in `/sdcard` or other directories cannot be read by the demo, as they're not in the transformer demo's scoped storage container. For more information, see https://developer.android.com/training/data-storage/use-cases Tested by uninstalling and re-installing the demo app, granting permission by starting a transformation, and launching an intent using a local file in `/sdcard` to start another transformation. Without this CL, this threw an error, and with this CL it succeeded. PiperOrigin-RevId: 466399023 (cherry picked from commit 051dee68)
huangdarwin committed -
While HDR is most closely tied to the color transfer (ex. COLOR_TRANSFER_SDR is the only one explicitly mentioning dynamic range), technically color spaces may be associated with HDR as well, like BT.2020 commonly being used for HDR rather than BT.709 for SDR. Therefore, it's more specific to mention just that the transfer is HDR. PiperOrigin-RevId: 466316960 (cherry picked from commit 7075f78e)
huangdarwin committed -
This simplifies ChainingGlTextureProcessor as it now only connects a consuming and a producing GlTextureProcessor rather than a previous, current, and next GlTextureProcessor. Also use default no-op implementations of the listeners in SingleFrameGlTextureProcessor and MediaPipeProcessor to avoid null-checks. PiperOrigin-RevId: 466301642 (cherry picked from commit a2166a41)
Googler committed
-
- 08 Aug, 2022 1 commit
-
-
This allows the GlEffectsFrameProcessor to later handle HLG and PQ differently, or limited and full color range differently. No functional change intended in this CL. PiperOrigin-RevId: 466070764 (cherry picked from commit e444eaa5)
huangdarwin committed
-