New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 783074 link

Starred by 20 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

H264Decoder: accommodate H264 streams that request more reference frames than level limit

Project Member Reported by posciak@chromium.org, Nov 9 2017

Issue description

Some H264 streams request more reference frames than the requested codec level limit, calculated per spec. This happens when max_num_ref_frames and/or max_dec_frame_buffering in SPS is larger than the calculated MaxDpbSize per level requested in the SPS.

This is technically not allowed per spec, but we can still try to accommodate this request, as long as it remains within maximum per-spec number of reference frames, to allow playback of such streams.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 9 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9eeda192720b6439a03021ae947ad63ce39a0c83

commit 9eeda192720b6439a03021ae947ad63ce39a0c83
Author: Pawel Osciak <posciak@chromium.org>
Date: Thu Nov 09 11:52:06 2017

H264Decoder: Try to allow more reference frames than current level limit.

Some non-conforming H264 streams may request a number of frames larger than
the limit allowed by the codec level selected in SPS.

Try to accommodate this as long as the requested number of frames is not
above the per-spec upper limit of reference frames.

BUG= 783074 ,b:65646253
TEST=crosvideo.appspot.com,vdaunittest,H264 conformance tests

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I5443f4a567ed2934b7cf19db850bf3a03dc52926
Reviewed-on: https://chromium-review.googlesource.com/760276
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>
Commit-Queue: Pawel Osciak <posciak@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515141}
[modify] https://crrev.com/9eeda192720b6439a03021ae947ad63ce39a0c83/media/gpu/h264_decoder.cc

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 14 2017

Labels: merge-merged-3239
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dc837e94fec86df44c5288786ffa1bcb8fe67320

commit dc837e94fec86df44c5288786ffa1bcb8fe67320
Author: Pawel Osciak <posciak@chromium.org>
Date: Tue Nov 14 05:26:26 2017

H264Decoder: Try to allow more reference frames than current level limit.

Some non-conforming H264 streams may request a number of frames larger than
the limit allowed by the codec level selected in SPS.

Try to accommodate this as long as the requested number of frames is not
above the per-spec upper limit of reference frames.

BUG= 783074 ,b:65646253
TEST=crosvideo.appspot.com,vdaunittest,H264 conformance tests

Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I5443f4a567ed2934b7cf19db850bf3a03dc52926
Reviewed-on: https://chromium-review.googlesource.com/760276
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>
Commit-Queue: Pawel Osciak <posciak@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#515141}(cherry picked from commit 9eeda192720b6439a03021ae947ad63ce39a0c83)
Reviewed-on: https://chromium-review.googlesource.com/768527
Reviewed-by: Pawel Osciak <posciak@chromium.org>
Cr-Commit-Position: refs/branch-heads/3239@{#478}
Cr-Branched-From: adb61db19020ed8ecee5e91b1a0ea4c924ae2988-refs/heads/master@{#508578}
[modify] https://crrev.com/dc837e94fec86df44c5288786ffa1bcb8fe67320/media/gpu/h264_decoder.cc

Status: Fixed (was: Assigned)
Cc: jayhlee@chromium.org marcore@chromium.org
 Issue 780053  has been merged into this issue.
Cc: posciak@chromium.org
 Issue 729426  has been merged into this issue.
Cc: yini...@chromium.org sande...@chromium.org
 Issue 757696  has been merged into this issue.
Cc: vsu...@chromium.org avkodipelli@chromium.org
 Issue 727690  has been merged into this issue.
Issue 733777 has been merged into this issue.
I assume this needs to be merged to M64?  If so please label
Merge is not required, this was submitted before M64 branched.

Sign in to add a comment