gecko-dev/gfx/ycbcr
Chun-Min Chang e43176423a Bug 1907121 - Return error for non-I444 Identity color space in ConvertYCbCrToRGB32 r=gfx-reviewers,nical
The ConvertYCbCrToRGB32 function in yuv_convert.cpp used to assert that
the YUV format for the identity color space must be `I444`. Instead of
asserting this, this patch returns an error in such cases. With recent
changes, assertions will be maintained in most places except in
`ConvertToRGBA` in ImageConversion.cpp. As a result, calling
VideoFrame's `copyTo` with I420 format and a `rgb` colorspace matrix
will no longer cause a crash.

Differential Revision: https://phabricator.services.mozilla.com/D216192
2024-07-18 21:02:34 +00:00
..
chromium_types.h
LICENSE
moz.build
README
scale_yuv_argb.cpp
scale_yuv_argb.h
ycbcr_to_rgb565.cpp
ycbcr_to_rgb565.h
YCbCrUtils.cpp Bug 1907121 - Add validation for 16-bit to 8-bit color conversion in YCbCrUtils APIs r=gfx-reviewers,nical 2024-07-18 21:02:32 +00:00
YCbCrUtils.h Bug 1907121 - Modify YCbCrUtils APIs to return yuv_convert execution results r=gfx-reviewers,nical 2024-07-18 21:02:32 +00:00
yuv_convert_arm.cpp
yuv_convert_mmx.cpp
yuv_convert_sse2.cpp
yuv_convert.cpp Bug 1907121 - Return error for non-I444 Identity color space in ConvertYCbCrToRGB32 r=gfx-reviewers,nical 2024-07-18 21:02:34 +00:00
yuv_convert.h Bug 1907121 - Modify yuv_convert APIs to return libyuv execution results r=gfx-reviewers,nical 2024-07-18 21:02:31 +00:00
yuv_row_arm.s
yuv_row_c.cpp
yuv_row_other.cpp
yuv_row_posix.cpp
yuv_row_table.cpp
yuv_row_win64.cpp
yuv_row_win.cpp
yuv_row.h

This color conversion code is from the Chromium open source project available here:

http://code.google.com/chromium/

The code comes from svn revision 63840 on 2010-10-26.

It has been superseded upstream by libyuv (which is spawned off it). Bug 791941 is about
trying to replace this code with libyuv.