DescriptionDetect configuration changes in H.264 video streams in the DXVA decoder
The media foundation h.264 decoder has problems handling changes in the H.264 video
streams like resolution changes, bitstream changes etc causing it to get into an infinite
MF_E_TRANSFORM_STREAM_CHANGE error sequence leading to a crash. If we reinitialize the decoder then
it works fine.
The fix for this is to track the H.264 SPS/PPS changes and reinitialize the decoder when we detect a change.
We use the media::H264Parser class to parse the stream and retrieve the SPS/PPS structures.
BUG=594266
Committed: https://crrev.com/e219f13c3619c1477c815f1db22aa4456d4d5f1c
Cr-Commit-Position: refs/heads/master@{#382168}
Patch Set 1 #Patch Set 2 : Revert some changes #Patch Set 3 : Check error from the CheckConfigChanged function and bail. #Patch Set 4 : Moved the H.264 stream parsing code to a class H264ConfigChangeDetector #Patch Set 5 : Revert unneeded code #Patch Set 6 : Report config changed only after we see an IDR frame #
Total comments: 2
Patch Set 7 : Flag a pending configuration change if we detect a change in SPS/PPS and return config changed the … #
Depends on Patchset: Messages
Total messages: 17 (3 generated)
|