From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751240AbdBWLRp (ORCPT ); Thu, 23 Feb 2017 06:17:45 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:31664 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750891AbdBWLRm (ORCPT ); Thu, 23 Feb 2017 06:17:42 -0500 X-AuditID: cbfec7f1-f793f6d000007796-c4-58aec4d240f4 Subject: Re: [PATCH v5 3/3] [media] s5p-mfc: Check and set 'v4l2_pix_format:field' field in try_fmt To: Thibault Saunier , linux-kernel@vger.kernel.org Cc: Mauro Carvalho Chehab , Marek Szyprowski , Kukjin Kim , Mauro Carvalho Chehab , Nicolas Dufresne , Andi Shyti , linux-media@vger.kernel.org, Shuah Khan , Javier Martinez Canillas , linux-samsung-soc@vger.kernel.org, Krzysztof Kozlowski , Inki Dae , Sylwester Nawrocki , linux-arm-kernel@lists.infradead.org, Ulf Hansson , Jeongtae Park , Kyungmin Park , Kamil Debski From: Andrzej Hajda Message-id: Date: Thu, 23 Feb 2017 12:17:35 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 MIME-version: 1.0 In-reply-to: Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA02SbUhTURjHObv37l5Hi9uc+aSVMCgo0FIkDhWW1YcLFRhBWh+qkVetNrVN o+2DrRetdKQ4K98Ki2k0s2SuMtESXc0wc6Yto7TQLKlJvmVWTtp2F/jt/3+e/3Oe8zschpB9 psKYo+lZvCZdqVKIJeTD579fRb6230taX1EL+JH9C4WLPxaR2D12V4TtdW9EuKzjAoULh78T uLu7nsZdZ900tg67KNzbVCnGxvoHFC7tfiLCdfYBGtdY50T4o/kEbpoeFON2t3f0yvQ4iada iwnsqEvcKucaB8yIs1ouibkPrmYx12A+zdkKB2jOOjlAcZdtFsRNWVdyffYzdELQAcnmZF51 9CSvWRd3WJI24V6deWHZqZkWDzKgInk+CmKAjQVP8VNa0EvBOXhfnI8kjIytRvBr2owEM4Vg vstI/J/42Xcu0KhBUFM5QgvmC4JPI+eRLxXM8uAceiH2aTmbCDNvc0lfiGCHKajNN/iPErNr wNPwzh+SsnGQ6yr010l2FQxenfPXQ9gkaOw3BjJLYNY0SPp0ELsdZq+X+esEux5KS9pFgo6A hrtjhG8ZsDcZMNbOeq/HeM0KsLYSgtwBd6qXCzTB8M1hC/Avh15TASmMFiCYLOygBVPi5R8v DfBvgnZHDyUsWwzFD68FDpXCxTyZEOHA9HWIEnQ8zA39EQkv1C6Ca3PnUBGKKF/AU76AoXwB QxUiLEjOZ2vVqbw2JkqrVGuz01OjjmSorcj79zrnHRON6EfHxjbEMkixSNp6qy5JRilPanXq NgQMoZBLdY/vJcmkyUqdntdkHNJkq3htGwpnSEWotLmqL1HGpiqz+OM8n8lr/ndFTFCYAVXt 3rXlTvxopzu35/bTvL/nU1LyO8P3v1/x54mt0mIMSTwQGhPfvL9sn5weaTAb9VH9VbrY/oQQ FK1bspPQj9Tgs3SRPmRvxp6eSmeyS398dNRhqJ6PmJ99ZomsJ9gNef2mZx802dtsJcEe58+D npyyG6q0loqXhrWm1mNHnDkKUpumjF5LaLTKf4dApJV3AwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpkleLIzCtJLcpLzFFi42I5/e/4Nd0bR9ZFGPTuFrDYfuQZq8Wk+xNY LN68XcNkcWTtVSaLmSfaWS36H79mtjh/fgO7xdmmN+wWmx5fY7W4vGsOm0XPhq2sFjPO72Oy WHvkLrvFsk1/mCzuLym02PXlHpvF4TdArVO/fGCx+HxgErPF8bXhDiIeO+4uYfTYtKqTzePO tT1sHpuX1Hts6b/L7rHp011Wj74tqxg9Pm+S87hypJE9gDPKzSYjNTEltUghNS85PyUzL91W KTTETddCSSEvMTfVVilC1zckSEmhLDGnFMgzMkADDs4B7sFK+nYJbhkf36gVtEtWfNv7l7GB cYJIFyMnh4SAicTXK82MELaYxIV769m6GLk4hASWMErc72xnB0kICTxjlPiySB/EFhZIlbjw 6CQbiC0iEC5x7F4jVMNhJom+DSsZQRxmgaesEnse7AYbyyagKfF3802wDl4BO4nWa/3MIDaL gKrEvWl/wOKiAhES85+uYoKoEZT4MfkeC4jNKeAs8WPuTKAaDqChehL3L2qBhJkF5CU2r3nL PIFRYBaSjlkIVbOQVC1gZF7FKJJaWpybnltspFecmFtcmpeul5yfu4kRGP3bjv3csoOx613w IUYBDkYlHt4Di9ZGCLEmlhVX5h5ilOBgVhLhrdy5LkKINyWxsiq1KD++qDQntfgQoynQCxOZ pUST84GJKa8k3tDE0NzS0MjYwsLcyEhJnHfqhyvhQgLpiSWp2ampBalFMH1MHJxSDYyCKrf6 9V5ue7TevoirxOxhgMlG5td/7OuKXKZFXbzox3ayplPIMVzSJZztw+n+izrL383INDXWO5K6 oGDVCqM36/dt0+wPf+XWPF07Jb2tcMrE5ZV+02fKLfGp+menXC69Or5dT0Twbfjeg09Lb+4p PvXI2qr7YomP76/Ta1ccLBBtU3rJuFuJpTgj0VCLuag4EQDPElIHFAMAAA== X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170223111737eucas1p1f43410eb3be90a1fd1d63082b8be0d16 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?QW5kcnplaiBIYWpkYRtTUlBPTC1LZXJuZWwgKFRQKRvsgrw=?= =?UTF-8?B?7ISx7KCE7J6QG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Global-Sender: =?UTF-8?B?QW5kcnplaiBIYWpkYRtTUlBPTC1LZXJuZWwgKFRQKRtTYW1z?= =?UTF-8?B?dW5nIEVsZWN0cm9uaWNzG1NlbmlvciBTb2Z0d2FyZSBFbmdpbmVlcg==?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDAyQ0QwMjczOTI=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170221192135epcas4p1811fa9ce35481d42144bdab368c9243a X-RootMTR: 20170221192135epcas4p1811fa9ce35481d42144bdab368c9243a References: <20170221192059.29745-1-thibault.saunier@osg.samsung.com> <20170221192059.29745-4-thibault.saunier@osg.samsung.com> <78444dcd-169f-0c16-0e09-6b71d1a502b2@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 22.02.2017 14:10, Thibault Saunier wrote: > Hello, > > On 02/22/2017 06:29 AM, Andrzej Hajda wrote: >> On 21.02.2017 20:20, Thibault Saunier wrote: >>> It is required by the standard that the field order is set by the >>> driver. >>> >>> Signed-off-by: Thibault Saunier >>> >>> --- >>> >>> Changes in v5: >>> - Just adapt the field and never error out. >>> >>> Changes in v4: None >>> Changes in v3: >>> - Do not check values in the g_fmt functions as Andrzej explained in previous review >>> >>> Changes in v2: >>> - Fix a silly build error that slipped in while rebasing the patches >>> >>> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c >>> index 0976c3e0a5ce..44ed2afe0780 100644 >>> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c >>> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c >>> @@ -386,6 +386,9 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f) >>> struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp; >>> struct s5p_mfc_fmt *fmt; >>> >>> + if (f->fmt.pix.field == V4L2_FIELD_ANY) >>> + f->fmt.pix.field = V4L2_FIELD_NONE; >>> + >> In previous version the only supported field type was NONE, here you >> support everything. >> If the only supported format is none you should set 'field' >> unconditionally to NONE, nothing more. > Afaict we support 2 things: > > 1. NONE > 2. INTERLACE > > Until now we were not checking what was supported or not and basically > ignoring that info, this patch > keeps the old behaviour making sure to be compliant. > > I had a doubt and was pondering doing: > > ``` diff > > + if (f->fmt.pix.field != V4L2_FIELD_INTERLACED) > + f->fmt.pix.field = V4L2_FIELD_NONE; > + > > ``` > > instead, it is probably more correct, do you think it is what should be > done here? I have realized I have forgot that it is not simple mem2mem device, it is decoder. It is feed with compressed data which is just byte stream, the only valid field value on output side is V4L2_FIELD_NONE. About possible interlacing we could only say in case of capture side. And in this case there are multiple questions: - how MFC decodes stream with interlaced content? - is it possible to convince it to decode it as user asks? - does it perform (de-)interlacing? - what is implemented in the driver? After answering above questions we will be able to say how fmt.pix.field should be treated on capture side. And similar question we can pose in case of encoder. So simple patch and so many doubts. Regards Andrzej > > Regards, > > Thibault > >> Regards >> Andrzej >> >>> mfc_debug(2, "Type is %d\n", f->type); >>> if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { >>> fmt = find_format(f, MFC_FMT_DEC); > -- > To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > >