From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752887AbdF2ME5 (ORCPT ); Thu, 29 Jun 2017 08:04:57 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:57344 "EHLO mailout1.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752812AbdF2MEh (ORCPT ); Thu, 29 Jun 2017 08:04:37 -0400 X-AuditID: cbfec7ef-f796a6d00000373c-44-5954ecce6868 Subject: Re: [PATCH v3 5/8] [media] s5p-jpeg: Split s5p_jpeg_parse_hdr() To: Thierry Escande , Jacek Anaszewski , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org From: Andrzej Pietrasiewicz Message-id: <8935217c-8b3e-a9d1-6226-bcab434e2e28@samsung.com> Date: Thu, 29 Jun 2017 14:04:26 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-version: 1.0 In-reply-to: <1498579734-1594-6-git-send-email-thierry.escande@collabora.com> Content-type: text/plain; charset=utf-8; format=flowed Content-language: en-US Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFKsWRmVeSWpSXmKPExsWy7djPc7rn34REGnx/x2Rxe+sGFovLu+aw WfRs2MpqsWzTHyaL/quX2BxYPXbcXcLosXPWXXaPTas62Tw+b5ILYInisklJzcksSy3St0vg ypiydwZrwT+hih2vHrA3ME7h72Lk5JAQMJHY+KaBHcIWk7hwbz0biC0ksIxRYtY8xi5GLiD7 M6PE6ZPfWGEaNq1rZ4ZIABVdebaOFcJ5wShxpLsZrEpYwEPi+7tesCoRgQmMEge27QTbwSxg K9FxqJMFxGYTMJbYe7CDEcTmFbCT6LiwDaiZg4NFQFVibWswSFhUIEJi0aSJ7BAlghI/Jt8D a+UU8JWYca6bBWKklcSzf62sELa4RHPrTai4vMTmNW/BbpAQWMQusbj5PiPIfAkBWYlNB5gh vnGR2D+7D+p9YYlXx7dA2TISlyeDzAfpncwoseHmByhnO6PE2mMnoGFhLXH4+EWozXwSk7ZN Z4ZYwCvR0SYEUeIhsW3xSqiwo8SdRVWQwHrMKDH91WHmCYwKs5D8NgvJP7OQ/DMLyT8LGFlW MYqklhbnpqcWG+oVJ+YWl+al6yXn525iBKaY0/+Ov9/B+LQ55BCjAAejEg8vw9rgSCHWxLLi ytxDjBIczEoivMwvQiKFeFMSK6tSi/Lji0pzUosPMUpzsCiJ8/KeuhYhJJCeWJKanZpakFoE k2Xi4JRqYMy9+q52e/E0I66J7wO4yl8VrE1jzkqaouUzLTdk0XTLdW2PTDzaKyMvZmq1OERe KrASbl5i9jJvDd9ED9FFFnymAlXeh77de3TimChPZJNaosjx+sD2pOo//msdSldntotbp/Ye rVCX+Tercrdz7Be995Ef/h5WtTC0CXZ4HPYgW7P268YZSizFGYmGWsxFxYkAIrx13S0DAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrFIsWRmVeSWpSXmKPExsVy+t/xy7qn34REGvz7aGRxe+sGFovLu+aw WfRs2MpqsWzTHyaL/quX2BxYPXbcXcLosXPWXXaPTas62Tw+b5ILYIlys8lITUxJLVJIzUvO T8nMS7dVCg1x07VQUshLzE21VYrQ9Q0JUlIoS8wpBfKMDNCAg3OAe7CSvl2CW8aUvTNYC/4J Vex49YC9gXEKfxcjJ4eEgInEpnXtzBC2mMSFe+vZQGwhgSWMEmuXy3YxcgHZLxgl1rw7ygSS EBbwkPj+rpcZJCEiMIlRYuXWv2AJZgFbiY5DnSwQHY8ZJb7+PM4CkmATMJbYe7CDEcTmFbCT 6LiwjbWLkYODRUBVYm1rMEhYVCBCYtf1A6wQJYISPybfA2vlFPCVmHGumwVivpnEl5eHWSFs cYnm1ptQcXmJzWveMk9gFJyFpH0WkpZZSFpmIWlZwMiyilEktbQ4Nz232EivODG3uDQvXS85 P3cTIzDeth37uWUHY9e74EOMAhyMSjy8DGuDI4VYE8uKK3MPMUpwMCuJ8DK/CIkU4k1JrKxK LcqPLyrNSS0+xGgK9NtEZinR5HxgKsgriTc0MTS3NDQytrAwNzJSEued+uFKuJBAemJJanZq akFqEUwfEwenVAPj5Nrd0b9qJp41Tq376l9y5+KHlRyH1jXfWf1NaKbZw/csrktDwu0WyzAk v2Xu4+1aUjjHY7nIzEW33HKU483uhxiJSl79x8k57+ysg2urBT9PSzJuU9T96S7Mw53/d7rk h+7jfL9vucz3+rjt+IGHq53N95o+NnvR9Dgn+4bi4zsrPev/bGj2UWIpzkg01GIuKk4EAIwf DdzNAgAA X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170629120428eucas1p240b7c1860ce78832b1c7aa1bb0c65ad6 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?QW5kcnplaiBQaWV0cmFzaWV3aWN6G1NSUE9MLUtlcm5lbCAo?= =?UTF-8?B?VFApG+yCvOyEseyghOyekBtTZW5pb3IgU29mdHdhcmUgRW5naW5lZXI=?= X-Global-Sender: =?UTF-8?B?QW5kcnplaiBUb21hc3ogUGlldHJhc2lld2ljehtTUlBPTC1L?= =?UTF-8?B?ZXJuZWwgKFRQKRtTYW1zdW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2Fy?= =?UTF-8?B?ZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170627160933epcas2p43434893aed7c80b51b753a0207d20eab X-RootMTR: 20170627160933epcas2p43434893aed7c80b51b753a0207d20eab References: <1498579734-1594-1-git-send-email-thierry.escande@collabora.com> <1498579734-1594-6-git-send-email-thierry.escande@collabora.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org W dniu 27.06.2017 o 18:08, Thierry Escande pisze: > This patch moves the subsampling value decoding read from the jpeg > header into its own function. This new function is called > s5p_jpeg_subsampling_decode() and returns true if it successfully > decodes the subsampling value, false otherwise. > > Signed-off-by: Thierry Escande Acked-by: Andrzej Pietrasiewicz > --- > drivers/media/platform/s5p-jpeg/jpeg-core.c | 42 ++++++++++++++++------------- > 1 file changed, 24 insertions(+), 18 deletions(-) > > diff --git a/drivers/media/platform/s5p-jpeg/jpeg-core.c b/drivers/media/platform/s5p-jpeg/jpeg-core.c > index 1769744..0783809 100644 > --- a/drivers/media/platform/s5p-jpeg/jpeg-core.c > +++ b/drivers/media/platform/s5p-jpeg/jpeg-core.c > @@ -1096,6 +1096,29 @@ static void skip(struct s5p_jpeg_buffer *buf, long len) > get_byte(buf); > } > > +static bool s5p_jpeg_subsampling_decode(struct s5p_jpeg_ctx *ctx, > + unsigned int subsampling) > +{ > + switch (subsampling) { > + case 0x11: > + ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_444; > + break; > + case 0x21: > + ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_422; > + break; > + case 0x22: > + ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_420; > + break; > + case 0x33: > + ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY; > + break; > + default: > + return false; > + } > + > + return true; > +} > + > static bool s5p_jpeg_parse_hdr(struct s5p_jpeg_q_data *result, > unsigned long buffer, unsigned long size, > struct s5p_jpeg_ctx *ctx) > @@ -1207,26 +1230,9 @@ static bool s5p_jpeg_parse_hdr(struct s5p_jpeg_q_data *result, > } > } > > - if (notfound || !sos) > + if (notfound || !sos || !s5p_jpeg_subsampling_decode(ctx, subsampling)) > return false; > > - switch (subsampling) { > - case 0x11: > - ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_444; > - break; > - case 0x21: > - ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_422; > - break; > - case 0x22: > - ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_420; > - break; > - case 0x33: > - ctx->subsampling = V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY; > - break; > - default: > - return false; > - } > - > result->w = width; > result->h = height; > result->sos = sos; >