コード例 #1
0
u32 b2r2_get_img_pitch(struct b2r2_blt_img *img)
{
    if (img->pitch != 0)
        return img->pitch;
    else
        return b2r2_calc_pitch_from_width(img->width, img->fmt);
}
コード例 #2
0
static bool is_valid_pitch_for_fmt(struct device *dev,
		u32 pitch, s32 width, enum b2r2_blt_fmt fmt)
{
	s32 complete_width;
	u32 pitch_derived_from_width;

	complete_width =  width_2_complete_width(width, fmt);

	pitch_derived_from_width = b2r2_calc_pitch_from_width(dev,
			complete_width, fmt);

	if (pitch < pitch_derived_from_width)
		return false;

	switch (fmt) {
	case B2R2_BLT_FMT_16_BIT_ARGB4444:
	case B2R2_BLT_FMT_16_BIT_ABGR4444:
	case B2R2_BLT_FMT_16_BIT_ARGB1555:
	case B2R2_BLT_FMT_16_BIT_RGB565:
		if (!b2r2_is_aligned(pitch, 2))
			return false;

		break;

	case B2R2_BLT_FMT_CB_Y_CR_Y:
	case B2R2_BLT_FMT_24_BIT_RGB888:
	case B2R2_BLT_FMT_24_BIT_ARGB8565:
	case B2R2_BLT_FMT_24_BIT_YUV888:
	case B2R2_BLT_FMT_24_BIT_VUY888:
	case B2R2_BLT_FMT_32_BIT_ARGB8888:
	case B2R2_BLT_FMT_32_BIT_ABGR8888:
	case B2R2_BLT_FMT_32_BIT_AYUV8888:
	case B2R2_BLT_FMT_32_BIT_VUYA8888:
		if (!b2r2_is_aligned(pitch, 4))
			return false;

		break;

	default:
		break;
	}

	return true;
}