Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Unified Diff: media/base/simd/convert_yuv_to_rgb.h

Issue 242643011: Add correct support for videos with YUVJ420P color format, in the software conversion path. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@yuvnopic
Patch Set: YUVJ browsertest now passes, update expectation Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/media/media_browsertest.cc ('k') | media/base/simd/convert_yuv_to_rgb_c.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/simd/convert_yuv_to_rgb.h
diff --git a/media/base/simd/convert_yuv_to_rgb.h b/media/base/simd/convert_yuv_to_rgb.h
index 2991d562af088558a2de510bd2ed13c078b35df8..6c0a9661135e113533c78790318bc64d59229575 100644
--- a/media/base/simd/convert_yuv_to_rgb.h
+++ b/media/base/simd/convert_yuv_to_rgb.h
@@ -28,7 +28,8 @@ MEDIA_EXPORT void ConvertYUVToRGB32Row_C(const uint8* yplane,
const uint8* uplane,
const uint8* vplane,
uint8* rgbframe,
- ptrdiff_t width);
+ ptrdiff_t width,
+ const int16 convert_table[1024][4]);
MEDIA_EXPORT void ConvertYUVAToARGB_C(const uint8* yplane,
const uint8* uplane,
@@ -48,7 +49,8 @@ MEDIA_EXPORT void ConvertYUVAToARGBRow_C(const uint8* yplane,
const uint8* vplane,
const uint8* aplane,
uint8* rgbframe,
- ptrdiff_t width);
+ ptrdiff_t width,
+ const int16 convert_table[1024][4]);
MEDIA_EXPORT void ConvertYUVToRGB32_SSE(const uint8* yplane,
const uint8* uplane,
@@ -90,22 +92,27 @@ MEDIA_EXPORT void ScaleYUVToRGB32Row_C(const uint8* y_buf,
const uint8* v_buf,
uint8* rgb_buf,
ptrdiff_t width,
- ptrdiff_t source_dx);
-
-MEDIA_EXPORT void LinearScaleYUVToRGB32Row_C(const uint8* y_buf,
- const uint8* u_buf,
- const uint8* v_buf,
- uint8* rgb_buf,
- ptrdiff_t width,
- ptrdiff_t source_dx);
-
-MEDIA_EXPORT void LinearScaleYUVToRGB32RowWithRange_C(const uint8* y_buf,
- const uint8* u_buf,
- const uint8* v_buf,
- uint8* rgb_buf,
- int dest_width,
- int source_x,
- int source_dx);
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
+
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_C(
+ const uint8* y_buf,
+ const uint8* u_buf,
+ const uint8* v_buf,
+ uint8* rgb_buf,
+ ptrdiff_t width,
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
+
+MEDIA_EXPORT void LinearScaleYUVToRGB32RowWithRange_C(
+ const uint8* y_buf,
+ const uint8* u_buf,
+ const uint8* v_buf,
+ uint8* rgb_buf,
+ int dest_width,
+ int source_x,
+ int source_dx,
+ const int16 convert_table[1024][4]);
} // namespace media
@@ -123,62 +130,75 @@ MEDIA_EXPORT void ConvertYUVToRGB32Row_MMX(const uint8* yplane,
const uint8* uplane,
const uint8* vplane,
uint8* rgbframe,
- ptrdiff_t width);
+ ptrdiff_t width,
+ const int16 convert_table[1024][4]);
MEDIA_EXPORT void ConvertYUVAToARGBRow_MMX(const uint8* yplane,
const uint8* uplane,
const uint8* vplane,
const uint8* aplane,
uint8* rgbframe,
- ptrdiff_t width);
+ ptrdiff_t width,
+ const int16 convert_table[1024][4]);
MEDIA_EXPORT void ConvertYUVToRGB32Row_SSE(const uint8* yplane,
const uint8* uplane,
const uint8* vplane,
uint8* rgbframe,
- ptrdiff_t width);
+ ptrdiff_t width,
+ const int16 convert_table[1024][4]);
MEDIA_EXPORT void ScaleYUVToRGB32Row_MMX(const uint8* y_buf,
const uint8* u_buf,
const uint8* v_buf,
uint8* rgb_buf,
ptrdiff_t width,
- ptrdiff_t source_dx);
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
MEDIA_EXPORT void ScaleYUVToRGB32Row_SSE(const uint8* y_buf,
const uint8* u_buf,
const uint8* v_buf,
uint8* rgb_buf,
ptrdiff_t width,
- ptrdiff_t source_dx);
-
-MEDIA_EXPORT void ScaleYUVToRGB32Row_SSE2_X64(const uint8* y_buf,
- const uint8* u_buf,
- const uint8* v_buf,
- uint8* rgb_buf,
- ptrdiff_t width,
- ptrdiff_t source_dx);
-
-MEDIA_EXPORT void LinearScaleYUVToRGB32Row_MMX(const uint8* y_buf,
- const uint8* u_buf,
- const uint8* v_buf,
- uint8* rgb_buf,
- ptrdiff_t width,
- ptrdiff_t source_dx);
-
-MEDIA_EXPORT void LinearScaleYUVToRGB32Row_SSE(const uint8* y_buf,
- const uint8* u_buf,
- const uint8* v_buf,
- uint8* rgb_buf,
- ptrdiff_t width,
- ptrdiff_t source_dx);
-
-MEDIA_EXPORT void LinearScaleYUVToRGB32Row_MMX_X64(const uint8* y_buf,
- const uint8* u_buf,
- const uint8* v_buf,
- uint8* rgb_buf,
- ptrdiff_t width,
- ptrdiff_t source_dx);
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
+
+MEDIA_EXPORT void ScaleYUVToRGB32Row_SSE2_X64(
+ const uint8* y_buf,
+ const uint8* u_buf,
+ const uint8* v_buf,
+ uint8* rgb_buf,
+ ptrdiff_t width,
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
+
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_MMX(
+ const uint8* y_buf,
+ const uint8* u_buf,
+ const uint8* v_buf,
+ uint8* rgb_buf,
+ ptrdiff_t width,
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
+
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_SSE(
+ const uint8* y_buf,
+ const uint8* u_buf,
+ const uint8* v_buf,
+ uint8* rgb_buf,
+ ptrdiff_t width,
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
+
+MEDIA_EXPORT void LinearScaleYUVToRGB32Row_MMX_X64(
+ const uint8* y_buf,
+ const uint8* u_buf,
+ const uint8* v_buf,
+ uint8* rgb_buf,
+ ptrdiff_t width,
+ ptrdiff_t source_dx,
+ const int16 convert_table[1024][4]);
} // extern "C"
« no previous file with comments | « content/browser/media/media_browsertest.cc ('k') | media/base/simd/convert_yuv_to_rgb_c.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698