All of lore.kernel.org
 help / color / mirror / Atom feed
From: Archit Taneja <archit@ti.com>
To: Hans Verkuil <hverkuil@xs4all.nl>, k.debski@samsung.com
Cc: linux-media@vger.kernel.org, linux-omap@vger.kernel.org,
	laurent.pinchart@ideasonboard.com
Subject: Re: [PATCH 7/7] v4l: ti-vpe: Add crop support in VPE driver
Date: Tue, 4 Mar 2014 13:08:16 +0530	[thread overview]
Message-ID: <531582E8.7020800@ti.com> (raw)
In-Reply-To: <53143439.5030007@xs4all.nl>

Hi Hans,

On Monday 03 March 2014 01:20 PM, Hans Verkuil wrote:
> Hi Archit!
>
> On 03/03/2014 08:33 AM, Archit Taneja wrote:
>> Add crop ioctl ops. For VPE, cropping only makes sense with the input to VPE, or
>> the V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE buffer type.
>>
>> For the CAPTURE type, a S_CROP ioctl results in setting the crop region as the
>> whole image itself, hence making crop dimensions same as the pix dimensions.
>>
>> Setting the crop successfully should result in re-configuration of those
>> registers which are affected when either source or destination dimensions
>> change, set_srcdst_params() is called for this purpose.
>>
>> Some standard crop parameter checks are done in __vpe_try_crop().
>
> Please use the selection ops instead: if you implement cropping with those then you'll
> support both the selection API and the old cropping API will be implemented by the v4l2
> core using the selection ops. Two for the price of one...


When using selection API, I was finding issues using the older cropping 
API. The v4l_s_crop() ioctl func assumes that "crop means compose for 
output devices". However, for a m2m device. It probably makes sense to 
provide the following configuration:

for V4L2_BUF_TYPE_VIDEO_OUTPUT (input to the mem to mem HW), use CROP 
target(to crop the input buffer)

and, for V4L2_BUF_TYPE_VIDEO_CAPTURE(output of the mem to mem HW), use 
COMPOSE target(to place the HW output into a larger region)

Don't you think forcing OUTPUT devices to 'COMPOSE' for older cropping 
API is a bit limiting?


Thanks,
Archit

WARNING: multiple messages have this Message-ID (diff)
From: Archit Taneja <archit@ti.com>
To: Hans Verkuil <hverkuil@xs4all.nl>, <k.debski@samsung.com>
Cc: <linux-media@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<laurent.pinchart@ideasonboard.com>
Subject: Re: [PATCH 7/7] v4l: ti-vpe: Add crop support in VPE driver
Date: Tue, 4 Mar 2014 13:08:16 +0530	[thread overview]
Message-ID: <531582E8.7020800@ti.com> (raw)
In-Reply-To: <53143439.5030007@xs4all.nl>

Hi Hans,

On Monday 03 March 2014 01:20 PM, Hans Verkuil wrote:
> Hi Archit!
>
> On 03/03/2014 08:33 AM, Archit Taneja wrote:
>> Add crop ioctl ops. For VPE, cropping only makes sense with the input to VPE, or
>> the V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE buffer type.
>>
>> For the CAPTURE type, a S_CROP ioctl results in setting the crop region as the
>> whole image itself, hence making crop dimensions same as the pix dimensions.
>>
>> Setting the crop successfully should result in re-configuration of those
>> registers which are affected when either source or destination dimensions
>> change, set_srcdst_params() is called for this purpose.
>>
>> Some standard crop parameter checks are done in __vpe_try_crop().
>
> Please use the selection ops instead: if you implement cropping with those then you'll
> support both the selection API and the old cropping API will be implemented by the v4l2
> core using the selection ops. Two for the price of one...


When using selection API, I was finding issues using the older cropping 
API. The v4l_s_crop() ioctl func assumes that "crop means compose for 
output devices". However, for a m2m device. It probably makes sense to 
provide the following configuration:

for V4L2_BUF_TYPE_VIDEO_OUTPUT (input to the mem to mem HW), use CROP 
target(to crop the input buffer)

and, for V4L2_BUF_TYPE_VIDEO_CAPTURE(output of the mem to mem HW), use 
COMPOSE target(to place the HW output into a larger region)

Don't you think forcing OUTPUT devices to 'COMPOSE' for older cropping 
API is a bit limiting?


Thanks,
Archit


  parent reply	other threads:[~2014-03-04  7:38 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-03  7:33 [PATCH 0/7] v4l: ti-vpe: Some VPE fixes and enhancements Archit Taneja
2014-03-03  7:33 ` Archit Taneja
2014-03-03  7:33 ` [PATCH 1/7] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03  7:33 ` [PATCH 2/7] v4l: ti-vpe: register video device only when firmware is loaded Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03  7:33 ` [PATCH 3/7] v4l: ti-vpe: Use video_device_release_empty Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03  7:33 ` [PATCH 4/7] v4l: ti-vpe: Allow DMABUF buffer type support Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03  7:33 ` [PATCH 5/7] v4l: ti-vpe: Allow usage of smaller images Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03 12:14   ` Kamil Debski
2014-03-03 12:41     ` Archit Taneja
2014-03-03 12:41       ` Archit Taneja
2014-03-03  7:33 ` [PATCH 6/7] v4l: ti-vpe: Fix some params in VPE data descriptors Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03  7:33 ` [PATCH 7/7] v4l: ti-vpe: Add crop support in VPE driver Archit Taneja
2014-03-03  7:33   ` Archit Taneja
2014-03-03  7:50   ` Hans Verkuil
2014-03-03  8:26     ` Archit Taneja
2014-03-03  8:26       ` Archit Taneja
2014-03-03 12:21       ` Kamil Debski
2014-03-03 12:36         ` Archit Taneja
2014-03-03 12:36           ` Archit Taneja
2014-03-04  7:38     ` Archit Taneja [this message]
2014-03-04  7:38       ` Archit Taneja
2014-03-04  7:43       ` Hans Verkuil
2014-03-04  8:26         ` Archit Taneja
2014-03-04  8:26           ` Archit Taneja
2014-03-04  8:49 ` [PATCH v2 0/7] v4l: ti-vpe: Some VPE fixes and enhancements Archit Taneja
2014-03-04  8:49   ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 1/7] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 2/7] v4l: ti-vpe: register video device only when firmware is loaded Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 3/7] v4l: ti-vpe: Use video_device_release_empty Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 4/7] v4l: ti-vpe: Allow DMABUF buffer type support Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 5/7] v4l: ti-vpe: Allow usage of smaller images Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 6/7] v4l: ti-vpe: Fix some params in VPE data descriptors Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  8:49   ` [PATCH v2 7/7] v4l: ti-vpe: Add selection API in VPE driver Archit Taneja
2014-03-04  8:49     ` Archit Taneja
2014-03-04  9:40     ` Hans Verkuil
2014-03-04 11:25       ` Archit Taneja
2014-03-04 11:25         ` Archit Taneja
2014-03-04 11:35         ` Hans Verkuil
2014-03-07 11:50           ` Archit Taneja
2014-03-07 11:50             ` Archit Taneja
2014-03-07 12:59             ` Hans Verkuil
2014-03-07 13:22               ` Archit Taneja
2014-03-07 13:22                 ` Archit Taneja
2014-03-07 13:32                 ` Hans Verkuil
2014-03-07 13:47                   ` Archit Taneja
2014-03-07 13:47                     ` Archit Taneja
2014-03-10 12:12                     ` Archit Taneja
2014-03-10 12:12                       ` Archit Taneja
2014-03-10 12:33                       ` Hans Verkuil
2014-03-04 13:28         ` Kamil Debski
2014-03-11  8:33   ` [PATCH v3 00/14] v4l: ti-vpe: Some VPE fixes and enhancements Archit Taneja
2014-03-11  8:33     ` Archit Taneja
2014-03-11  8:33     ` [PATCH v3 01/14] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-13 14:36       ` Kamil Debski
2014-03-11  8:33     ` [PATCH v3 02/14] v4l: ti-vpe: register video device only when firmware is loaded Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-13 11:48       ` Kamil Debski
2014-03-13 12:09         ` Archit Taneja
2014-03-13 12:09           ` Archit Taneja
2014-03-13 14:29           ` Kamil Debski
2014-03-14  9:51             ` Archit Taneja
2014-03-14  9:51               ` Archit Taneja
2014-03-11  8:33     ` [PATCH v3 03/14] v4l: ti-vpe: Use video_device_release_empty Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:02       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 04/14] v4l: ti-vpe: Allow DMABUF buffer type support Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:03       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 05/14] v4l: ti-vpe: Allow usage of smaller images Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:03       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 06/14] v4l: ti-vpe: Fix some params in VPE data descriptors Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11  8:33     ` [PATCH v3 07/14] v4l: ti-vpe: Add selection API in VPE driver Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:21       ` Hans Verkuil
2014-03-11 12:46         ` Archit Taneja
2014-03-11 12:46           ` Archit Taneja
2014-03-11 12:49           ` Hans Verkuil
2014-03-11 13:10             ` Archit Taneja
2014-03-11 13:10               ` Archit Taneja
2014-03-11  8:33     ` [PATCH v3 08/14] v4l: ti-vpe: Rename csc memory resource name Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11  8:33     ` [PATCH v3 09/14] v4l: ti-vpe: report correct capabilities in querycap Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:23       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 10/14] v4l: ti-vpe: Use correct bus_info name for the device " Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:23       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 11/14] v4l: ti-vpe: Fix initial configuration queue data Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:24       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 12/14] v4l: ti-vpe: zero out reserved fields in try_fmt Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:25       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 13/14] v4l: ti-vpe: Set correct field parameter for output and capture buffers Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:29       ` Hans Verkuil
2014-03-11  8:33     ` [PATCH v3 14/14] v4l: ti-vpe: retain v4l2_buffer flags for captured buffers Archit Taneja
2014-03-11  8:33       ` Archit Taneja
2014-03-11 12:31       ` Hans Verkuil
2014-03-13 11:44     ` [PATCH v4 00/14] v4l: ti-vpe: Some VPE fixes and enhancements Archit Taneja
2014-03-13 11:44       ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 01/14] v4l: ti-vpe: Make sure in job_ready that we have the needed number of dst_bufs Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 14:38         ` Kamil Debski
2014-03-13 11:44       ` [PATCH v4 02/14] v4l: ti-vpe: register video device only when firmware is loaded Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 03/14] v4l: ti-vpe: Use video_device_release_empty Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 04/14] v4l: ti-vpe: Allow DMABUF buffer type support Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 05/14] v4l: ti-vpe: Allow usage of smaller images Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 06/14] v4l: ti-vpe: Fix some params in VPE data descriptors Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 15:01         ` Kamil Debski
2014-03-13 11:44       ` [PATCH v4 07/14] v4l: ti-vpe: Add selection API in VPE driver Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 08/14] v4l: ti-vpe: Rename csc memory resource name Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 14:44         ` Kamil Debski
2014-03-14  6:18           ` Archit Taneja
2014-03-14  6:18             ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 09/14] v4l: ti-vpe: report correct capabilities in querycap Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 10/14] v4l: ti-vpe: Use correct bus_info name for the device " Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 11/14] v4l: ti-vpe: Fix initial configuration queue data Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 12/14] v4l: ti-vpe: zero out reserved fields in try_fmt Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 13/14] v4l: ti-vpe: Set correct field parameter for output and capture buffers Archit Taneja
2014-03-13 11:44         ` Archit Taneja
2014-03-13 11:44       ` [PATCH v4 14/14] v4l: ti-vpe: retain v4l2_buffer flags for captured buffers Archit Taneja
2014-03-13 11:44         ` Archit Taneja

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=531582E8.7020800@ti.com \
    --to=archit@ti.com \
    --cc=hverkuil@xs4all.nl \
    --cc=k.debski@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.