@@ -325,9 +325,9 @@ tst_usage()
325325 "\t- c_<CS> - color space\n"
326326 "\t- p_<PF> - pixel format\n"
327327 "\tpatterns:\n"
328- "\t- blank - use blank pattern\n"
329- "\t- gradient - use gradient pattern (default)\n"
330- "\t- noise - use white noise\n"
328+ "\t- blank[_<val>] - use blank pattern (or fill with given <val>) \n"
329+ "\t- gradient - use gradient pattern (default)\n"
330+ "\t- noise - use white noise\n"
331331 "\t- random[_<seed>] - same as noise, but use deterministic pattern (seed is int)\n"
332332 );
333333 PRINTF ("\nExamples:\n"
@@ -350,6 +350,8 @@ enum tst_pattern {
350350struct tst_image_parameters
351351{
352352 enum tst_pattern pattern ;
353+
354+ long blank_val ;
353355 int random_seed ;
354356};
355357
@@ -409,8 +411,11 @@ tst_image_parse_filename(const char* filename, struct gpujpeg_image_parameters*
409411 tst_params -> random_seed = atoi (strchr (item , '_' ) + 1 );
410412 }
411413 }
412- else if ( strcmp (item , "blank" ) == 0 ) {
414+ else if ( strstr (item , "blank" ) == item ) {
413415 tst_params -> pattern = TST_BLANK ;
416+ if ( strchr (item , '_' ) != NULL ) {
417+ tst_params -> blank_val = strtol (strchr (item , '_' ) + 1 , NULL , 0 );
418+ }
414419 }
415420 else if ( strcmp (item , "gradient" ) == 0 ) {
416421 tst_params -> pattern = TST_GRADIENT ;
@@ -578,7 +583,8 @@ tst_image_load_delegate(const char* filename, size_t* image_size, void** image_d
578583 break ;
579584 }
580585 case TST_BLANK : {
581- memset (* image_data , 0 , * image_size );
586+ assert (tst_params .blank_val >= 0 && tst_params .blank_val <= 255 );
587+ memset (* image_data , (int )tst_params .blank_val , * image_size );
582588 break ;
583589 }
584590 }
0 commit comments