mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-11-01 09:13:37 +00:00 
			
		
		
		
	media: tpg: Add function to return colors' order of test image
Currently there is no method to know the correct order of the colors for a test image generated by tpg. Write a function that returns a string of colors' order given a tpg. It returns a NULL pointer in case of test patterns which do not have a well defined colors' order. Hence add a NULL check for text in tpg_gen_text(). [hverkuil: white -> White (for consistency)] Signed-off-by: Kaaira Gupta <kgupta@es.iitr.ac.in> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Helen Koike <helen.koike@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
		
							parent
							
								
									9dc75e79c0
								
							
						
					
					
						commit
						7a785081a1
					
				
					 2 changed files with 29 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -1959,12 +1959,14 @@ void tpg_gen_text(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2],
 | 
			
		|||
	unsigned step = V4L2_FIELD_HAS_T_OR_B(tpg->field) ? 2 : 1;
 | 
			
		||||
	unsigned div = step;
 | 
			
		||||
	unsigned first = 0;
 | 
			
		||||
	unsigned len = strlen(text);
 | 
			
		||||
	unsigned len;
 | 
			
		||||
	unsigned p;
 | 
			
		||||
 | 
			
		||||
	if (font8x16 == NULL || basep == NULL)
 | 
			
		||||
	if (font8x16 == NULL || basep == NULL || text == NULL)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	len = strlen(text);
 | 
			
		||||
 | 
			
		||||
	/* Checks if it is possible to show string */
 | 
			
		||||
	if (y + 16 >= tpg->compose.height || x + 8 >= tpg->compose.width)
 | 
			
		||||
		return;
 | 
			
		||||
| 
						 | 
				
			
			@ -2006,6 +2008,30 @@ void tpg_gen_text(const struct tpg_data *tpg, u8 *basep[TPG_MAX_PLANES][2],
 | 
			
		|||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(tpg_gen_text);
 | 
			
		||||
 | 
			
		||||
const char *tpg_g_color_order(const struct tpg_data *tpg)
 | 
			
		||||
{
 | 
			
		||||
	switch (tpg->pattern) {
 | 
			
		||||
	case TPG_PAT_75_COLORBAR:
 | 
			
		||||
	case TPG_PAT_100_COLORBAR:
 | 
			
		||||
	case TPG_PAT_CSC_COLORBAR:
 | 
			
		||||
	case TPG_PAT_100_HCOLORBAR:
 | 
			
		||||
		return "White, yellow, cyan, green, magenta, red, blue, black";
 | 
			
		||||
	case TPG_PAT_BLACK:
 | 
			
		||||
		return "Black";
 | 
			
		||||
	case TPG_PAT_WHITE:
 | 
			
		||||
		return "White";
 | 
			
		||||
	case TPG_PAT_RED:
 | 
			
		||||
		return "Red";
 | 
			
		||||
	case TPG_PAT_GREEN:
 | 
			
		||||
		return "Green";
 | 
			
		||||
	case TPG_PAT_BLUE:
 | 
			
		||||
		return "Blue";
 | 
			
		||||
	default:
 | 
			
		||||
		return NULL;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(tpg_g_color_order);
 | 
			
		||||
 | 
			
		||||
void tpg_update_mv_step(struct tpg_data *tpg)
 | 
			
		||||
{
 | 
			
		||||
	int factor = tpg->mv_hor_mode > TPG_MOVE_NONE ? -1 : 1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -252,6 +252,7 @@ void tpg_fillbuffer(struct tpg_data *tpg, v4l2_std_id std,
 | 
			
		|||
bool tpg_s_fourcc(struct tpg_data *tpg, u32 fourcc);
 | 
			
		||||
void tpg_s_crop_compose(struct tpg_data *tpg, const struct v4l2_rect *crop,
 | 
			
		||||
		const struct v4l2_rect *compose);
 | 
			
		||||
const char *tpg_g_color_order(const struct tpg_data *tpg);
 | 
			
		||||
 | 
			
		||||
static inline void tpg_s_pattern(struct tpg_data *tpg, enum tpg_pattern pattern)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue