Closed Bug 1907121 Opened 4 months ago Closed 4 months ago

VideoFrame copyTo crashes when converting I420 frame with rgb matrix to rgb buffer

Categories

(Core :: Audio/Video: Web Codecs, defect)

defect

Tracking

()

RESOLVED FIXED
130 Branch
Tracking Status
firefox130 --- fixed

People

(Reporter: chunmin, Assigned: chunmin)

References

(Blocks 1 open bug)

Details

Attachments

(10 files)

1.52 KB, text/html
Details
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
Attached file test.html

VideoFrame copyTo crashes when converting I420 frame with a colorSpace with rgb matrix.

Summary: Crash → VideoFrame copyTo crashes when converting I420 frame with rgb matrix

VideoFrame copyTo will crash when converting a I420 VideoFrame
in colorSpace with rgb matrix.

Previously, the YCbCrUtils APIs assert the success inside the APIs
themselves. With the changes made in previous patches, those assertions
are removed. This patch addes those assertion back, but on callers side
instead.

Depends on D216190

Blocks: VideoFrame
Summary: VideoFrame copyTo crashes when converting I420 frame with rgb matrix → VideoFrame copyTo crashes when converting I420 frame with rgb matrix to rgb* buffer
Summary: VideoFrame copyTo crashes when converting I420 frame with rgb matrix to rgb* buffer → VideoFrame copyTo crashes when converting I420 frame with rgb matrix to rgb buffer

:chumin release tracking requests are automatically added when the S1 severity is used.
Checking if you intended to set this as an S1?
https://firefox-source-docs.mozilla.org/bug-mgmt/guides/severity.html

Flags: needinfo?(cchang)

Ah, my bad. It's shouldn't be S1. I am setting it to S4 right now.

Severity: S1 → S4
Flags: needinfo?(cchang)
Priority: P1 → --
Attachment #9412070 - Attachment description: WIP: Bug 1907121 - Add test case → Bug 1907121 - Add crashtest for VideoFrame copyTo with I420 and RGB colorspace matrix
Attachment #9412071 - Attachment description: WIP: Bug 1907121 - Alphabetize include headers in yuv_convert.cpp → Bug 1907121 - Alphabetize include headers in yuv_convert.cpp
Attachment #9412072 - Attachment description: WIP: Bug 1907121 - Let yuv_convert APIs return results → Bug 1907121 - Modify yuv_convert APIs to return libyuv execution results
Attachment #9412073 - Attachment description: WIP: Bug 1907121 - Sort include headers in YCbCrUtils.* → Bug 1907121 - Sort include headers in YCbCrUtils.*
Attachment #9412075 - Attachment description: WIP: Bug 1907121 - Let YCbCrUtils APIs return results → Bug 1907121 - Modify YCbCrUtils APIs to return yuv_convert execution results
Attachment #9412076 - Attachment description: WIP: Bug 1907121 - Return error if YUV to-8bit-color fails → Bug 1907121 - Add validation for 16-bit to 8-bit color conversion in YCbCrUtils APIs
Attachment #9412077 - Attachment description: WIP: Bug 1907121 - Assert YCbCrUtils APIs' success → Bug 1907121 - Move YCbCrUtils API assertions to caller side
Attachment #9412078 - Attachment description: WIP: Bug 1907121 - Return error for non-I444-to-RGB w/ identity color space → Bug 1907121 - Return error for non-I444 Identity color space in ConvertYCbCrToRGB32
Attachment #9412073 - Attachment description: Bug 1907121 - Sort include headers in YCbCrUtils.* → Bug 1907121 - Sort include headers in YCbCrUtils.* per coding style

Depends on D216190

Pushed by cchang@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/ba07896445cf Add crashtest for VideoFrame copyTo with I420 and RGB colorspace matrix r=media-playback-reviewers,alwu https://hg.mozilla.org/integration/autoland/rev/c9962b7dabd2 Alphabetize include headers in yuv_convert.cpp r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/91d6c77b02d4 Modify yuv_convert APIs to return libyuv execution results r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/c5ae9c49d02b Sort include headers in YCbCrUtils.* per coding style r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/497fa8c01852 Modify YCbCrUtils APIs to return yuv_convert execution results r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/03cf7c930405 Add validation for 16-bit to 8-bit color conversion in YCbCrUtils APIs r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/1ae7f5736844 Correct type for stride r=gfx-reviewers,bradwerth https://hg.mozilla.org/integration/autoland/rev/c844e41d16c9 Move YCbCrUtils API assertions to caller side r=gfx-reviewers,nical https://hg.mozilla.org/integration/autoland/rev/227c24230d4a Return error for non-I444 Identity color space in ConvertYCbCrToRGB32 r=gfx-reviewers,nical
QA Whiteboard: [qa-130b-p2]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: