row_info->rowbytes = ((row_width * row_info->pixel_depth + 7) >> 3);
row_info->rowbytes = PNG_ROWBYTES(row_info->pixel_depth,row_width);
png_do_gray_to_rgb(png_row_infop row_info, png_bytep row){   png_uint_32 i;   png_uint_32 row_width = row_info->width;   png_debug(1, "in png_do_gray_to_rgb\n");   if (row_info->bit_depth >= 8 &&#if defined(PNG_USELESS_TESTS_SUPPORTED)       row != NULL && row_info != NULL &&#endif      !(row_info->color_type & PNG_COLOR_MASK_COLOR))   {      if (row_info->color_type == PNG_COLOR_TYPE_GRAY)      {         if (row_info->bit_depth == 8)         {            png_bytep sp = row + (png_size_t)row_width - 1;            png_bytep dp = sp  + (png_size_t)row_width * 2;            for (i = 0; i < row_width; i++)            {               *(dp--) = *sp;               *(dp--) = *sp;               *(dp--) = *(sp--);            }         }         else         {            png_bytep sp = row + (png_size_t)row_width * 2 - 1;            png_bytep dp = sp  + (png_size_t)row_width * 4;            for (i = 0; i < row_width; i++)            {               *(dp--) = *sp;               *(dp--) = *(sp - 1);               *(dp--) = *sp;               *(dp--) = *(sp - 1);               *(dp--) = *(sp--);               *(dp--) = *(sp--);            }         }      }      else if (row_info->color_type == PNG_COLOR_TYPE_GRAY_ALPHA)      {         if (row_info->bit_depth == 8)         {            png_bytep sp = row + (png_size_t)row_width * 2 - 1;            png_bytep dp = sp  + (png_size_t)row_width * 2;            for (i = 0; i < row_width; i++)            {               *(dp--) = *(sp--);               *(dp--) = *sp;               *(dp--) = *sp;               *(dp--) = *(sp--);            }         }         else         {            png_bytep sp = row + (png_size_t)row_width * 4 - 1;            png_bytep dp = sp  + (png_size_t)row_width * 4;            for (i = 0; i < row_width; i++)            {               *(dp--) = *(sp--);               *(dp--) = *(sp--);               *(dp--) = *sp;               *(dp--) = *(sp - 1);               *(dp--) = *sp;               *(dp--) = *(sp - 1);               *(dp--) = *(sp--);               *(dp--) = *(sp--);            }         }      }      row_info->channels += (png_byte)2;      row_info->color_type |= PNG_COLOR_MASK_COLOR;      row_info->pixel_depth = (png_byte)(row_info->channels *         row_info->bit_depth);      row_info->rowbytes = ((row_width *         row_info->pixel_depth + 7) >> 3);   }}