)]}'
{
  "commit": "56db9ff1e1565fa8584be338ea30741d33dfa2e5",
  "tree": "89385b3686bc9279b72f0d44fdddc7c9502ccade",
  "parents": [
    "5cf8c2c5010472de3b360d3b45f1b80644899290"
  ],
  "author": {
    "name": "Henrik Boström",
    "email": "hbos@webrtc.org",
    "time": "Wed Mar 24 08:06:45 2021"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Mar 24 09:43:11 2021"
  },
  "message": "VideoStreamEncoder: Don\u0027t map kNative video frame buffers.\n\nFollow-up CL to VP8 and VP9 encoders taking care of mapping.\nContext again:\n  This CL is part of Optimized Scaling efforts. In Chromium, the native\nframe buffer is getting an optimized CropAndScale() implementation. To\nsupport HW accelerated scaling, returning pre-scaled images and skipping\nunnecessary intermediate downscales, WebRTC needs to 1) use CropAndScale\ninstead of libyuv::XXXXScale and 2) only map buffers it actually intends\nto encode.\n\nIn this CL, VideoStreamEncoder no longer calls GetMappedFrameBuffer() on\nbehalf of the encoders, since the encoders are now able to either do the\nmapping or performs ToI420() anyway.\n\n- Tests for old VSE behaviors are updated to test the new behavior (i.e.\n  that native frames are pretty much always forwarded).\n- The \"having to call ToI420() twice\" workaround to Android bug\n  https://crbug.com/webrtc/12602 is added to H264 and AV1 encoders.\n\nBug: webrtc:12469\nChange-Id: Ibdc2e138d4782a140f433c8330950e61b9829f43\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/211940\nCommit-Queue: Henrik Boström \u003chbos@webrtc.org\u003e\nReviewed-by: Ilya Nikolaevskiy \u003cilnik@webrtc.org\u003e\nReviewed-by: Evan Shrubsole \u003ceshr@google.com\u003e\nCr-Commit-Position: refs/heads/master@{#33548}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cd52906d6c4c9d43072439410f47670750a80572",
      "old_mode": 33188,
      "old_path": "modules/video_coding/codecs/av1/libaom_av1_encoder.cc",
      "new_id": "ddb52cb3dc1e3fa0eac10d2cb3594bb284838350",
      "new_mode": 33188,
      "new_path": "modules/video_coding/codecs/av1/libaom_av1_encoder.cc"
    },
    {
      "type": "modify",
      "old_id": "3f4f660ffaf0f3941eda5ca87523970be7a83cef",
      "old_mode": 33188,
      "old_path": "modules/video_coding/codecs/h264/h264_encoder_impl.cc",
      "new_id": "949c51bafa6b735c234e2673c7375f906e041d0b",
      "new_mode": 33188,
      "new_path": "modules/video_coding/codecs/h264/h264_encoder_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "acf1ba244537a653a1c5a12dfae594a7f8fe030f",
      "old_mode": 33188,
      "old_path": "video/BUILD.gn",
      "new_id": "e4c1986ffc467b6e06130cbd800105c53195423e",
      "new_mode": 33188,
      "new_path": "video/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "610b06c4f609666b354b2ae43fad520ae057084f",
      "old_mode": 33188,
      "old_path": "video/video_stream_encoder.cc",
      "new_id": "c5a3b987565c6b9648905b3ddf12ba657c7489a2",
      "new_mode": 33188,
      "new_path": "video/video_stream_encoder.cc"
    },
    {
      "type": "modify",
      "old_id": "e665d809e3f533e7b53ba2b133858cdd1c2137f8",
      "old_mode": 33188,
      "old_path": "video/video_stream_encoder_unittest.cc",
      "new_id": "fcfa6778aea273b1b0c1a5f4c8ec6040141f6b38",
      "new_mode": 33188,
      "new_path": "video/video_stream_encoder_unittest.cc"
    }
  ]
}
