webrtc/modules/video_coding/codecs/vp8
Henrik Boström 3889de1c4c Support native scaling of VideoFrameBuffers in LibvpxVp8Encoder.
This is a follow-up to the VP9, fixing VP8 this time. Context again:

This CL is part of Optimized Scaling efforts. In Chromium, the native
frame buffer is getting an optimized CropAndScale() implementation. To
support HW accelerated scaling, returning pre-scaled images and skipping
unnecessary intermediate downscales, WebRTC needs to 1) use CropAndScale
instead of libyuv::XXXXScale and 2) only map buffers it actually intends
to encode.
- To achieve this, WebRTC encoders are updated to map kNative video
  buffers so that in a follow-up CL VideoStreamEncoder can stop mapping
  intermediate buffer sizes.

Bug: webrtc:12469, chromium:1157072
Change-Id: I026527ae77e36f66d02e149ad6fe304f6a8ccb05
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/212600
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Cr-Commit-Position: refs/heads/master@{#33537}
2021-03-23 09:08:58 +00:00
..
include Replace RTC_DEPRECATED with ABSL_DEPRECATED 2021-02-22 12:53:23 +00:00
test Support native scaling of VideoFrameBuffers in LibvpxVp8Encoder. 2021-03-23 09:08:58 +00:00
default_temporal_layers.cc Embed FrameDependencyTemplate builder helpers directly into the struct 2020-06-11 13:43:51 +00:00
default_temporal_layers.h Embed FrameDependencyTemplate builder helpers directly into the struct 2020-06-11 13:43:51 +00:00
default_temporal_layers_unittest.cc In Vp8 temporal layering fix generic info at non-first key frame 2020-02-25 10:47:49 +00:00
libvpx_vp8_decoder.cc Adds VideoDecoder::GetDecoderInfo() 2021-01-14 13:33:22 +00:00
libvpx_vp8_decoder.h Adds VideoDecoder::GetDecoderInfo() 2021-01-14 13:33:22 +00:00
libvpx_vp8_encoder.cc Support native scaling of VideoFrameBuffers in LibvpxVp8Encoder. 2021-03-23 09:08:58 +00:00
libvpx_vp8_encoder.h Support native scaling of VideoFrameBuffers in LibvpxVp8Encoder. 2021-03-23 09:08:58 +00:00
libvpx_vp8_simulcast_test.cc Use std::make_unique instead of absl::make_unique. 2019-09-17 15:47:29 +00:00
screenshare_layers.cc Embed FrameDependencyTemplate builder helpers directly into the struct 2020-06-11 13:43:51 +00:00
screenshare_layers.h Embed FrameDependencyTemplate builder helpers directly into the struct 2020-06-11 13:43:51 +00:00
screenshare_layers_unittest.cc Use newer version of TimeDelta and TimeStamp factories in modules/ 2020-02-10 11:49:57 +00:00
temporal_layers.h Move TemporalLayers to api/video_codecs. 2018-10-12 09:15:21 +00:00
temporal_layers_checker.cc Introduce RTC_CHECK_NOTREACHED(), an always-checking RTC_NOTREACHED() 2020-11-09 10:47:55 +00:00