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

Issue 892391 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

Update parsers to better support VP9 profile 2 and friends

Project Member Reported by xhw...@chromium.org, Oct 4

Issue description

When playing bear-320x240-vp9_profile2.webm in Chrome, the VideoDecoderConfig sets "profile 0" and "I420", which are wrong. After decoding, VpxVideoDecoder sets format to be 17 which is PIXEL_FORMAT_YUV420P10, which is correct.

It seems we need to update our demuxers to better support VP9 profile 2 etc. For example, this code doesn't handle profile 2:
https://cs.chromium.org/chromium/src/media/formats/webm/webm_video_client.cc?rcl=9d90876be428603f0e129d4d58804efec78e9f6c&l=81
 
Cc: vigneshv@chromium.org
That file lacks a CodecPrivate, which is where VP9 profile is stored/parsed. It probably predates that mechanism. See the parsing just a few lines up

https://cs.chromium.org/chromium/src/media/formats/webm/webm_video_client.cc?rcl=9d90876be428603f0e129d4d58804efec78e9f6c&l=66

Vignesh, do you know if there is a similar mechanism for detecting the pixel format?
I think you can detect pixel format from bit depth + Chroma subsampling field in CodecPrivate: https://www.webmproject.org/docs/container/#vp9-feature-bit-depth, https://www.webmproject.org/docs/container/#vp9-feature-chroma-subsampling.
Cc: fgalligan@chromium.org tomfinegan@chromium.org
Tom or Frank might know it more precisely than i do.
Owner: chcunningham@chromium.org
Status: Assigned (was: Untriaged)
=>chris for tracking.

Sign in to add a comment