1. 25 Aug, 2022 4 commits
  2. 24 Aug, 2022 2 commits
    • Fix missing id error · 0e7227df
      PiperOrigin-RevId: 469750922
      (cherry picked from commit 2c70383d)
      rohks committed
    • HDR: Add PQ support. · c827c80b
      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
  3. 23 Aug, 2022 3 commits
  4. 22 Aug, 2022 1 commit
  5. 19 Aug, 2022 3 commits
  6. 18 Aug, 2022 3 commits
    • Fix the command sample size given to trackOutput. · 5c95b41d
      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
    • Allow frame release to be controlled outside FrameProcessor. · 884e3763
      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
    • HDR: Clamp YUV to RGB conversion. · 4c36dae9
      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
  7. 17 Aug, 2022 2 commits
  8. 16 Aug, 2022 3 commits
  9. 15 Aug, 2022 5 commits
    • Allow high-priority tasks to be executed before other tasks. · 6d099598
      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 max sample size for HEVC. · 909953b8
      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
    • Update CMake version for AV1 extension · 770839fe
      The specified CMake version doesn't work with the latest
      Android Studio releases. Updating to a more recent version
      fixes the problem.
      
      Issue: google/ExoPlayer#9933
      PiperOrigin-RevId: 467634063
      (cherry picked from commit 80b635e7)
      tonihei committed
    • Add initial version of SimpleBasePlayer · d2000fd2
      This base class will simplify the implementation of custom
      Player classes. The current version only supports
      available commands and playWhenReady handling.
      
      PiperOrigin-RevId: 467618021
      (cherry picked from commit 9a7fde8f)
      tonihei committed
    • Increase pixel difference threshold · 9b6d9977
      PiperOrigin-RevId: 467610621
      (cherry picked from commit ec7936f6)
      andrewlewis committed
  10. 12 Aug, 2022 3 commits
    • Refactor RgbaMatrix to RgbMatrix. · befcc017
      * Rename all Rgba instances to Rgb.
      * Remove alpha value from the RGBA Matrices and apply the 4x4 matrix
      only to the R, G, B channels.
      * Restore the alpha from the input unchanged.
      
      PiperOrigin-RevId: 467208888
      (cherry picked from commit 80f9ad9b)
      leonwind committed
    • Avoid spinning while queueing input to ExternalTextureProcessor. · 2697916e
      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
    • Add additional build flags for ffmpeg on "arm64-v8a" · ea1e26d9
      From NDK 23.1.7779620 and above, the arm64-v8a ABI needs additional
      build flags to correctly link the ffmpeg libraries.
      
      Issue: google/ExoPlayer#9933
      PiperOrigin-RevId: 467161973
      (cherry picked from commit 6ea1d0ec)
      tonihei committed
  11. 11 Aug, 2022 1 commit
    • Add timeout for ad to load. · 5cc23fd9
      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
  12. 10 Aug, 2022 3 commits
  13. 09 Aug, 2022 6 commits
  14. 08 Aug, 2022 1 commit