Instructions for working in //remoting/codec.
The codec directory contains the audio and video encoding/decoding logic. Chrome Remote Desktop has migrated to WebRTC-based video encoding; much of the non-WebRTC code in this directory is obsolete and scheduled for deletion.
CRD implements custom wrappers around WebRTC encoders, optimized for low-latency desktop streaming.
WebrtcVideoEncoderWebrtcVideoEncoderVpx: Handles VP8 and VP9 encoding.WebrtcVideoEncoderAv1: Handles AV1 encoding. This is the default codec used for CRD sessions.WebrtcVideoEncoderGpu: Hardware-accelerated encoding. It is compiled on Windows and Linux, but is not currently supported for general usage.ScopedVpxCodec: A helper for managing the lifetime of vpx_codec_ctx.remoting/codec/webrtc_video_encoder.h: The primary video encoding interface.remoting/codec/webrtc_video_encoder_aom.h: Provides the AV1 encoder which is the default and most commonly used video encoder implementation.remoting/codec/webrtc_video_encoder_vpx.h: Provides the VP8 and VP9 encoders which are used for fallback or compatibility.