testyuv: added GetColorspaceForYUVConversionMode()
This commit is contained in:
@@ -116,11 +116,6 @@ static int run_automated_tests(int pattern_size, int extra_pitch)
|
||||
SDL_PIXELFORMAT_UYVY,
|
||||
SDL_PIXELFORMAT_YVYU
|
||||
};
|
||||
const SDL_Colorspace colorspaces[] = {
|
||||
SDL_COLORSPACE_JPEG,
|
||||
SDL_COLORSPACE_BT601_LIMITED,
|
||||
SDL_COLORSPACE_BT709_LIMITED
|
||||
};
|
||||
int i, j;
|
||||
SDL_Surface *pattern = generate_test_pattern(pattern_size);
|
||||
const int yuv_len = MAX_YUV_SURFACE_SIZE(pattern->w, pattern->h, extra_pitch);
|
||||
@@ -137,8 +132,7 @@ static int run_automated_tests(int pattern_size, int extra_pitch)
|
||||
}
|
||||
|
||||
mode = GetYUVConversionModeForResolution(pattern->w, pattern->h);
|
||||
SDL_assert(mode < SDL_arraysize(colorspaces));
|
||||
colorspace = colorspaces[mode];
|
||||
colorspace = GetColorspaceForYUVConversionMode(mode);
|
||||
|
||||
/* Verify conversion from YUV formats */
|
||||
for (i = 0; i < SDL_arraysize(formats); ++i) {
|
||||
@@ -395,36 +389,18 @@ int main(int argc, char **argv)
|
||||
switch (yuv_mode) {
|
||||
case YUV_CONVERSION_JPEG:
|
||||
yuv_mode_name = "JPEG";
|
||||
colorspace = SDL_DEFINE_COLORSPACE(SDL_COLOR_TYPE_YCBCR,
|
||||
SDL_COLOR_RANGE_FULL,
|
||||
SDL_COLOR_PRIMARIES_BT709,
|
||||
SDL_TRANSFER_CHARACTERISTICS_BT601,
|
||||
SDL_MATRIX_COEFFICIENTS_BT601,
|
||||
SDL_CHROMA_LOCATION_CENTER);
|
||||
break;
|
||||
case YUV_CONVERSION_BT601:
|
||||
yuv_mode_name = "BT.601";
|
||||
colorspace = SDL_DEFINE_COLORSPACE(SDL_COLOR_TYPE_YCBCR,
|
||||
SDL_COLOR_RANGE_LIMITED,
|
||||
SDL_COLOR_PRIMARIES_BT709,
|
||||
SDL_TRANSFER_CHARACTERISTICS_BT601,
|
||||
SDL_MATRIX_COEFFICIENTS_BT601,
|
||||
SDL_CHROMA_LOCATION_CENTER);
|
||||
break;
|
||||
case YUV_CONVERSION_BT709:
|
||||
yuv_mode_name = "BT.709";
|
||||
colorspace = SDL_DEFINE_COLORSPACE(SDL_COLOR_TYPE_YCBCR,
|
||||
SDL_COLOR_RANGE_LIMITED,
|
||||
SDL_COLOR_PRIMARIES_BT709,
|
||||
SDL_TRANSFER_CHARACTERISTICS_BT709,
|
||||
SDL_MATRIX_COEFFICIENTS_BT709,
|
||||
SDL_CHROMA_LOCATION_CENTER);
|
||||
break;
|
||||
default:
|
||||
yuv_mode_name = "UNKNOWN";
|
||||
colorspace = SDL_COLORSPACE_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
colorspace = GetColorspaceForYUVConversionMode(yuv_mode);
|
||||
|
||||
raw_yuv = SDL_calloc(1, MAX_YUV_SURFACE_SIZE(original->w, original->h, 0));
|
||||
ConvertRGBtoYUV(yuv_format, original->pixels, original->pitch, raw_yuv, original->w, original->h, yuv_mode, 0, 100);
|
||||
|
||||
Reference in New Issue
Block a user