New issue
Advanced search Search tips

Issue 833760 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

H264 enc wrapper requests IDR on every bitrate/framerate update

Project Member Reported by ssilkin@chromium.org, Apr 17 2018

Issue description

The wrapper sets encoding_parameters_changed_=true when bitrate or framerate is changed:
https://cs.chromium.org/chromium/src/media/gpu/vaapi/vaapi_video_encode_accelerator.cc?rcl=9d05ec002dd34b7cb4b9d661aed08bbc70a7959d&l=773

This triggers IDR/keyframe request at encoding next frame:
https://cs.chromium.org/chromium/src/media/gpu/vaapi/vaapi_video_encode_accelerator.cc?rcl=9d05ec002dd34b7cb4b9d661aed08bbc70a7959d&l=666

If framerate/bitrate changes frequently (this is what happen at beginning of call at least) sender produces a lot of IDRs. IDR is few times larger than regular P-frame. Large frames can overshoot network buffers and cause packet loss.

Could we remove these IDR requests?
 

Comment 1 by hiroh@chromium.org, Apr 17 2018

Cc: hiroh@chromium.org
Owner: posciak@chromium.org
I willingly change once posciak@ approve those requests.

posciak@, could you take a look?
Cc: posciak@chromium.org
Owner: ----
Status: Untriaged (was: Assigned)
Yes, I think it is fine to remove IDR requests for bitrate/framerate changes, assuming this is what the clients of RtcVideoEncoder (i.e. webrtc::VideoEncoder) expect. Please feel free to do so. Thank you.

Owner: hiroh@chromium.org
Status: Assigned (was: Untriaged)

Sign in to add a comment