From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C155DC433E0 for ; Wed, 24 Jun 2020 13:47:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 999112082F for ; Wed, 24 Jun 2020 13:47:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=xs4all.nl header.i=@xs4all.nl header.b="vZbPyq5Z" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391097AbgFXNrd (ORCPT ); Wed, 24 Jun 2020 09:47:33 -0400 Received: from lb3-smtp-cloud8.xs4all.net ([194.109.24.29]:46019 "EHLO lb3-smtp-cloud8.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389590AbgFXNrc (ORCPT ); Wed, 24 Jun 2020 09:47:32 -0400 Received: from cust-b5b5937f ([IPv6:fc0c:c16d:66b8:757f:c639:739b:9d66:799d]) by smtp-cloud8.xs4all.net with ESMTPA id o5kKjhYOHNb6lo5kOjtb27; Wed, 24 Jun 2020 15:47:29 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s1; t=1593006450; bh=JAfq/32k3tkEWMaQptV/OjgB7hA+rl6xijjyAZW6YWU=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=vZbPyq5ZTeBsbO+i+HXYzvUtE47hJxYsNnNI28Ffi1SYRacsqRjhDR+N4Cs1pvMuN TxcJbQwqHOoL5bre/mFIorJdzL3d80K+aiFPK/Mf/JdK0db9oluMOg3Ju3Cwu37FZz evg6ebpXEmXEWxhpFSL3igpMOK5GABOCHmI+D/EtZUInhb1x3TQk0Udszu3Ml3ZEbf Oi4ta93ENQwL4hDkUUErFA8X0F0JelYBTtYChDx/5BcmBp4xDdKQ4dMHVKi4nnVq5Z DpA0VDyaFWgXtWKxwSaKpSAQjOZNC02lR2LOsdFoHzUSRkcKKS8zP0NKiS0r+wSb8T F1dXrqulhIprQ== Subject: Re: [PATCH v5 2/3] media: tpg: Add function to return colors' order of test image To: Kaaira Gupta , Helen Koike , Shuah Khan , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Kieran Bingham References: <20200624134354.7023-1-kgupta@es.iitr.ac.in> <20200624134354.7023-3-kgupta@es.iitr.ac.in> From: Hans Verkuil Message-ID: Date: Wed, 24 Jun 2020 15:47:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.9.0 MIME-Version: 1.0 In-Reply-To: <20200624134354.7023-3-kgupta@es.iitr.ac.in> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4wfEwKybCLDMwepSzmhWYyrrC8+AiV1Vwf8zoe5kRfofIWt2BcktSgQGYFE4uhiTgt7LuYlF2GLoCYhmzi9J4jSHdlgYelrbpLdfAtCsrZHvYIDxXPniRu cUgQ2aKGNbULvLrhGDaIB0OM5693jzz8XQB4qyu12kqRzTOcIHKKouc5RkJvZ4zNt5l4EVG9ZqsxOTa5LpntE0uY7ImRuNpgcAgQ2eRGmQ6hwuCVvU5cxfeS aP/FNCSByHBrRk3/OQXyMVUQIVwAuV/Ld09Ss5FSZJtBNNsRv0ViWlcJZ5ngP4l24vp386EAKotbcZ6L+OLkTODBxfrpIKAxILzV+mqEYtPFMJYamAnRxHNe zWz5uQoSftA0rA78QUM5eq4jLvGSyDqmKw/sKLHhi/xZVTHzBCQ= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 24/06/2020 15:43, Kaaira Gupta wrote: > 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(). > > Signed-off-by: Kaaira Gupta > Reviewed-by: Kieran Bingham > --- > drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 29 +++++++++++++++++-- > include/media/tpg/v4l2-tpg.h | 1 + > 2 files changed, 28 insertions(+), 2 deletions(-) > > diff --git a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c > index dde22a4cbd6c..a052b656fa6a 100644 > --- a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c > +++ b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c > @@ -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,29 @@ 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; > + } > +} Missing EXPORT_SYMBOL_GPL(). Regards, Hans > + > void tpg_update_mv_step(struct tpg_data *tpg) > { > int factor = tpg->mv_hor_mode > TPG_MOVE_NONE ? -1 : 1; > diff --git a/include/media/tpg/v4l2-tpg.h b/include/media/tpg/v4l2-tpg.h > index 9749ed409856..0b0ddb87380e 100644 > --- a/include/media/tpg/v4l2-tpg.h > +++ b/include/media/tpg/v4l2-tpg.h > @@ -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) > { >