MSE: refactor mp4 AnnexB validation to also report keyframe-ness
In preparation for logging when there appears to be a mismatch between MSE MP4 keyframe metadata and the encoded video bitstream's keyframe metadata, this change incorporates basic analysis of the latter as part of the existing Annex-B bitstream validation for MSE MP4 video. Note that mp4::BitstreamConverter::AnalysisResult contains base::Optional<bool> for each of conformance and keyframe-ness fields. If a field doesn't have a value, that portion of the result was not analyzed. Note that keyframe analysis is implemented only for AVC currently, but even that is skipped if the frame is detected as non-conformant before enough indications of whether or not it is a keyframe are detected. Neither AVC-DV nor HEVC AnnexB analyses do any actual keyframe analysis, since such was either skipped or not yet implemented previously, respectively. A subsequent CL will use the newly reported MSE MP4 video bitstream converter's keyframe analysis results, if that analysis was done, in reporting to chrome://media-internals when the bitstream keyframe-ness mismatches that of the mp4 container for a coded frame. BUG=860420,584384 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel Change-Id: I169c7774070ad232c86658bcd7803160323993ad Reviewed-on: https://chromium-review.googlesource.com/1144456 Commit-Queue: Matthew Wolenetz <wolenetz@chromium.org> Reviewed-by:Sergey Volk <servolk@chromium.org> Reviewed-by:
Dan Sanders <sandersd@chromium.org> Cr-Commit-Position: refs/heads/master@{#577717}
Showing
Please register or sign in to comment