- 12 Jul, 2022 3 commits
-
-
Pass the color info and HDR static metadata when configuring the decoder using MediaFormatUtil.maybeSetColorInfo. PiperOrigin-RevId: 460424985 (cherry picked from commit 66e12299)
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 a5ff4ef1)
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 7dc54efd)
hschlueter committed
-
- 07 Jul, 2022 1 commit
-
-
Some other minor nits and adjustments to the API logic. PiperOrigin-RevId: 459490431 (cherry picked from commit 91f17777)
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 7078ce31)
huangdarwin committed -
HDR editing is not supported under API 31 PiperOrigin-RevId: 459211106 (cherry picked from commit ab7747d9)
huangdarwin committed
-
- 05 Jul, 2022 1 commit
-
-
PiperOrigin-RevId: 459106221 (cherry picked from commit 1869855c)
huangdarwin committed
-
- 04 Jul, 2022 1 commit
-
-
This feature is disabled by default for now. PiperOrigin-RevId: 458932471 (cherry picked from commit 7d2eb760)
samrobinson committed
-
- 01 Jul, 2022 6 commits
-
-
If the input is HDR (HLG), check encoder capabilities for HDR support and request tone-mapping to SDR during decoder configuration otherwise. Capabilities are only checked for API 31 and above, as HDR editing is not supported before. As the encoder capabilities check needs to happen before selecting the encoder to use (as this may depend on the resolution output by the effects chain), the EncoderWrapper checks all candidate encoders for the MIME type for HDR capabilities and only requests fallback to SDR if none of them support it. When the actual encoder is selected, the wrapper checks that it matches one of the encoders is checked capabilities for. PiperOrigin-RevId: 458511599 (cherry picked from commit 9c8dcb40)
hschlueter committed -
Configure the GL shaders and encoder to take in HDR metadata. This mostly just consists of passing the Format.colorInfo through the VideoTranscodingSamplePipeline down to the encoder, rather than passing the PQ-ness down to the GL step. Due to b/237674316, this will remove HDR10+ support temporarily to introduce support for HLG10. Manually tested to confirm that HLG10 operations that don't affect color display correctly after this CL with "HDR editing" in the demo checked, and continue to display incorrectly (as before this CL) without the option unchecked. PiperOrigin-RevId: 458490810 (cherry picked from commit a0870a42)
huangdarwin committed -
- Improve variable naming to include time units for clarity - Fix existing timestamp calculations to respect time units as well as track tempo (default values for now) - Ensure the synthesizer produces PCM for the correct amount of time (including gaps between commands). PiperOrigin-RevId: 458428243 (cherry picked from commit da0a208b)
hmzh committed
-
- 30 Jun, 2022 1 commit
-
- 29 Jun, 2022 4 commits
-
-
The GlEffectsFrameProcessor that will be part of the effects module uses the DebugViewProvider. So it does not make sense for it to be an inner interface of Transformer. PiperOrigin-RevId: 458014932 (cherry picked from commit cd0e5b99)
hschlueter committed -
The FinalMatrixTransformationProcessorWrapper ensures that the surface is only replaced when it is not being rendered to and vice versa. PiperOrigin-RevId: 458007639 (cherry picked from commit 234015cb)
hschlueter committed -
The outputHeight in the TransformationRequest is the height of the frame as it would be displayed (i.e., after applying any rotation specified in the format). So pass-through should only be used if the requested outputHeight matches the input format's height after applying the rotation. PiperOrigin-RevId: 457934867 (cherry picked from commit 87beb273)
hschlueter committed
-
- 28 Jun, 2022 1 commit
-
-
pixelWidthHeightRatio is now passed to setInputFrameInfo instead of the factory. PiperOrigin-RevId: 457696703 (cherry picked from commit b7b5f20e)
hschlueter committed
-
- 27 Jun, 2022 1 commit
-
- 24 Jun, 2022 2 commits
-
-
PiperOrigin-RevId: 457023382 (cherry picked from commit 4819b285)
hschlueter committed -
This will be useful for downgrading to a lower resolution during a slow preview and for processing slide-shows once sequential multi-asset editing is supported. PiperOrigin-RevId: 457017255 (cherry picked from commit 30c52c58)
hschlueter committed
-
- 23 Jun, 2022 4 commits
-
-
PiperOrigin-RevId: 456814150 (cherry picked from commit f3893c14)
hschlueter committed -
videoEncoderFormatUnsupported_completesWithError() has recently been flaky on API 31 emulators on presubmit because a different exception than the expected exception is thrown. This disables it on those emulators to reduce testing noise until the underlying problem is investigated and resolved. PiperOrigin-RevId: 456765512 (cherry picked from commit 938d3c2e)
hschlueter committed -
This change is just renaming. There is no functional change intended. The FrameProcessor interface will be created in a follow-up. PiperOrigin-RevId: 456741628 (cherry picked from commit 709224fb)
hschlueter committed -
PiperOrigin-RevId: 456728032 (cherry picked from commit 352967f6)
samrobinson committed
-
- 22 Jun, 2022 3 commits
-
-
After this change GlEffects can use any GlTextureProcessor not just SingleFrameGlTextureProcessor. MediaPipeProcessor now implements GlTextureProcessor directly which allows it to reuse MediaPipe's output texture for its output texture and avoids an extra copy shader step. PiperOrigin-RevId: 456530718 (cherry picked from commit 69ab7941)
hschlueter committed -
After this change, FrameProcessorChain chains any GlTextureProcessors instead of only SingleFrameGlTextureProcessors. The GlTextureProcessors are chained in a bidirectional manner using ChainingGlTextureProcessorListener to feed input and output related events forward and release events backwards. PiperOrigin-RevId: 456478414 (cherry picked from commit 555ab97e)
hschlueter committed
- 20 Jun, 2022 2 commits
-
-
PiperOrigin-RevId: 456064021 (cherry picked from commit f5d8800d)
huangdarwin committed -
This is useful for testing Transformer in the same way as it is used in tests and to see only the real transformation time. PiperOrigin-RevId: 456058466 (cherry picked from commit 931562c2)
hschlueter committed
-
- 17 Jun, 2022 1 commit
-
-
In follow-ups the FrameProcessorChain will set an instance of this listener for each GlTextureProcessor to chain it with its previous and next GlTextureProcesssor. PiperOrigin-RevId: 455628942 (cherry picked from commit 981baae7)
hschlueter committed
-
- 16 Jun, 2022 1 commit
-
-
The wrapper * catches exceptions for each task and notifies the listener (this will be used more in follow-ups when processFrame is split into lots of listeners and callbacks), * removes finished tasks from the queue and signals any exceptions that occurred to the listener each time a new task is executed. PiperOrigin-RevId: 455345184 (cherry picked from commit ee847d92)
hschlueter committed
-
- 15 Jun, 2022 4 commits
-
-
PiperOrigin-RevId: 455114693 (cherry picked from commit fdfca880)
hschlueter committed -
This change adds a SurfaceProvider interface which is necessary to allow for texture processors whose output size becomes available asynchronously in follow-ups. VTSP's implementation of this interface wraps the encoder and provides its input surface together with the output frame width, height, and orientation as used for encoder configuration. The FrameProcessorChain converts the output frames to the provided orientation and resolution using a ScaleToFitTransformation and Presentation replacing EncoderCompatibilityTransformation. PiperOrigin-RevId: 455112598 (cherry picked from commit ea7f1ca1)
hschlueter committed -
- Fixed MidiExtractor state issues which caused seeking to behave unexpectedly. Ensures the extractor is now always in the file loading state after returning RESULT_END_OF_INPUT. - Fixed an infinite loop in MidiExtractor caused by the file data array having an initial size of 0. The extractor attempted to increase the capacity of the array by using this size of 0 in it's calculations. PiperOrigin-RevId: 455107511 (cherry picked from commit 84c43f85)
hmzh committed