From patchwork Fri Mar 1 11:32:04 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans Verkuil X-Patchwork-Id: 2200941 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id B76123FCF6 for ; Fri, 1 Mar 2013 11:32:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751872Ab3CALcS (ORCPT ); Fri, 1 Mar 2013 06:32:18 -0500 Received: from smtp-vbr12.xs4all.nl ([194.109.24.32]:3123 "EHLO smtp-vbr12.xs4all.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751711Ab3CALcR (ORCPT ); Fri, 1 Mar 2013 06:32:17 -0500 Received: from alastor.dyndns.org (166.80-203-20.nextgentel.com [80.203.20.166] (may be forged)) (authenticated bits=0) by smtp-vbr12.xs4all.nl (8.13.8/8.13.8) with ESMTP id r21BW4Zh065970 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Fri, 1 Mar 2013 12:32:06 +0100 (CET) (envelope-from hverkuil@xs4all.nl) Received: from tschai.localnet (tschai.lan [192.168.1.10]) (Authenticated sender: hans) by alastor.dyndns.org (Postfix) with ESMTPSA id C63A811E0155; Fri, 1 Mar 2013 12:32:03 +0100 (CET) From: Hans Verkuil To: Tomasz Stanislawski Subject: Re: [RFC PATCH 00/18] Remove DV_PRESET API Date: Fri, 1 Mar 2013 12:32:04 +0100 User-Agent: KMail/1.13.7 (Linux/3.8.0-rc3-tschai; KDE/4.8.4; x86_64; ; ) Cc: linux-media@vger.kernel.org, Prabhakar Lad , Kyungmin Park , Scott Jiang References: <1361006901-16103-1-git-send-email-hverkuil@xs4all.nl> <51308A75.4040300@samsung.com> In-Reply-To: <51308A75.4040300@samsung.com> MIME-Version: 1.0 Message-Id: <201303011232.04059.hverkuil@xs4all.nl> X-Virus-Scanned: by XS4ALL Virus Scanner Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org On Fri March 1 2013 12:01:09 Tomasz Stanislawski wrote: > Hi Hans, > Thank you for the patches. > I applied the patchset on the top of SPRC's 3.8-rc4 kernel. > I tested the s5p-tv dv-timings using 0.9.3 using v4l-utils. > The test platform was Universal C210 (based on Exynos 4210 SoC). > > Every timing mode worked correctly so do not hesitate to add: > > Tested-by: Tomasz Stanislawski > > to all s5p-tv related patches. Thanks for testing! Much appreciated. > > I tested following features: > a) v4l2-ctl --list-dv-timings > Result: got 10 timings entries as expected > b) v4l2-ctl --get-dv-timings-cap > Result: got timings caps. The was minor issue. Minimal with is 720 not 640. > c) for each available timing > v4l2-ctl --set-dv-bt-timings=index={index} > v4l2-ctl --get-dv-bt-timings > Show test image on the screen > Result: TV detected correct timings for all cases > > I found some minor issues in the patches. > Please refer to the inlined comments. I'll take those into account for my v2 posting. > BTW. > The v4l2-ctl reports that fps for 1080i50 and 1080i60 as 25 and 30 respectively. > I agree that those values correctly reflects relation between > image resolution and the pixel rate. > However, I admit it looks a little bit confusing when suddenly 50 changes into 25. > It should clarified if F in FPS stands for "frame" or "field". Can you add this patch to v4l2-ctl and see if that looks better? --------------- cut here --------------- --------------- cut here --------------- Also, can you run v4l2-compliance as well? See what that reports. Regards, Hans --- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/utils/v4l2-ctl/v4l2-ctl-stds.cpp b/utils/v4l2-ctl/v4l2-ctl-stds.cpp index 863357a..d39faca 100644 --- a/utils/v4l2-ctl/v4l2-ctl-stds.cpp +++ b/utils/v4l2-ctl/v4l2-ctl-stds.cpp @@ -260,10 +260,9 @@ static void print_dv_timings(const struct v4l2_dv_timings *t) (bt->polarities & V4L2_DV_HSYNC_POS_POL) ? '+' : '-'); printf("\tPixelclock: %lld Hz", bt->pixelclock); if (bt->width && bt->height) - printf(" (%.2f fps)", (double)bt->pixelclock / + printf(" (%.2f fields per second)", (double)bt->pixelclock / ((bt->width + bt->hfrontporch + bt->hsync + bt->hbackporch) * - (bt->height + bt->vfrontporch + bt->vsync + bt->vbackporch + - bt->il_vfrontporch + bt->il_vsync + bt->il_vbackporch))); + (bt->height + bt->vfrontporch + bt->vsync + bt->vbackporch))); printf("\n"); printf("\tHorizontal frontporch: %d\n", bt->hfrontporch); printf("\tHorizontal sync: %d\n", bt->hsync);