Re: [ANN v2] Media sessions in Lyon in October: libcamera

2019-10-20 Thread Helen Koike
t;> The second session deals with libcamera and is on Wednesday morning >> from 9:00 to 13:00. >> >> Attendees for this session: >> >> Nicolas Dufresne >> Tomasz Figa >> Ezequiel Garcia >> Dafna Hirschfeld > > I beliebe Dafna and I s

Re: [PATCH -next] media: vimc: Fix error return code in vimc_register_devices()

2019-10-08 Thread Helen Koike
; Signed-off-by: Wei Yongjun Acked-by: Helen Koike Thank you Helen > --- > drivers/media/platform/vimc/vimc-core.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/vimc/vimc-core.c > b/drivers/media/platform/vimc/vimc-co

Re: [PATCH v2 5/5] media: vimc: remove the helper function vimc_ent_sd_unregister

2019-10-03 Thread Helen Koike
On 10/3/19 7:44 AM, Dafna Hirschfeld wrote: > since this function only calls v4l2_device_unregister_subdev, > it is pointless. > > Signed-off-by: Dafna Hirschfeld Acked-by: Helen Koike > --- > drivers/media/platform/vimc/vimc-common.c | 5 - > drivers/med

Re: [PATCH v2 3/5] media: vimc: sensor: register subdevice only after initialization

2019-10-03 Thread Helen Koike
Hi Dafna, Could you just rename the title tags to "media: vimc: sen: " to follow the model of the other commits? Thanks Helen On 10/3/19 7:44 AM, Dafna Hirschfeld wrote: > vimc_sen_add function first registers the subdevice and then > calls tpg_alloc. If tpg_alloc fails it

Re: [PATCH v2 2/5] media: vimc: cleanup code that assigns entity in entities array

2019-10-03 Thread Helen Koike
ng like: "media: vimc: remove unnecessary var when adding entities" It makes clear what you are doing and where, what do you think? With this: Acked-by: Helen Koike > --- > drivers/media/platform/vimc/vimc-core.c | 6 ++ > 1 file changed, 2 insertions(+), 4 deletions(

Re: [PATCH v2 1/5] media: vimc: initialize vim entity pointers to NULL

2019-10-03 Thread Helen Koike
On 10/3/19 7:44 AM, Dafna Hirschfeld wrote: > since NULL value for vimc entity pointer indicates > that entity creation failed and this is tested, the > pointers should be initialized to NULL. > > Signed-off-by: Dafna Hirschfeld Acked-by: Helen Koike > --- > driver

Re: [PATCH] media: vimc: embed the pads of entities in the entities' structs

2019-10-01 Thread Helen Koike
c_ent_device *vimc_sca_add(struct vimc_device > *vimc, > return NULL; > > /* Initialize ved and sd */ > + vsca->pads[0].flags = MEDIA_PAD_FL_SINK; > + vsca->pads[1].flags = MEDIA_PAD_FL_SOURCE; > + > ret = vimc_ent_sd_register(&am

Re: [PATCH 1/3] media: vimc: initialize vim entity pointers to NULL

2019-10-01 Thread Helen Koike
On 10/1/19 2:25 PM, Andrzej Pietrasiewicz wrote: > Hi Dafna, hi Helen, > > W dniu 01.10.2019 o 19:19, Helen Koike pisze: >> Hi Dafna, >> >> On 10/1/19 1:50 PM, Dafna Hirschfeld wrote: >>> since NULL value for vimc entity pointer indicates >>> that e

Re: [PATCH 3/3] media: vimc: move media_entity_cleanup to release callbacks

2019-10-01 Thread Helen Koike
Hi Dafna, Thanks for your patch On 10/1/19 1:50 PM, Dafna Hirschfeld wrote: > according to the docs, this function must be called during > the cleanup phase after unregistering the entity. > > Signed-off-by: Dafna Hirschfeld Acked-by: Helen Koike I just have on

Re: [PATCH 2/3] media: vimc: sensor: register subdevice only after initialization

2019-10-01 Thread Helen Koike
tration also frees vsen. > > Signed-off-by: Dafna Hirschfeld Acked-by: Helen Koike > --- > drivers/media/platform/vimc/vimc-sensor.c | 20 ++-- > 1 file changed, 10 insertions(+), 10 deletions(-) > > diff --git a/drivers/media/platform/vimc/vimc-sensor.c >

Re: [PATCH 1/3] media: vimc: initialize vim entity pointers to NULL

2019-10-01 Thread Helen Koike
vimc->ent_devs = kcalloc(vimc->pipe_cfg->num_ents, > sizeof(*vimc->ent_devs), > GFP_KERNEL); Could you fix the alignment of the params here? Thanks Helen > if (!vimc->ent_devs) >

Re: [ANN] Media sessions in Lyon in October: codecs

2019-09-25 Thread Helen Koike
8:30 (tentative, might change) to 12:00 (we have to vacate the room at that >> time). >> >> Confirmed attendees for this session: >> >> Boris Brezillon >> Alexandre Courbot >> Nicolas Dufresne >> Tomasz Figa >> Ezequiel Garcia >> Daniel G

Re: [PATCH] media: vimc: Implement get/set selection

2019-09-25 Thread Helen Koike
n, unsigned int col, > const u8 *const sink_frame) > { > unsigned int i, j, index; > const u8 *pixel; > + const struct v4l2_rect crop_rect = vsca->crop_rect; > > /* Point to the pixel value in position (lin, col) in the

[PATCH] v4l2-ctl: add missing subdev usage in --help-all

2019-09-25 Thread Helen Koike
--help-all option was not displaying options from --help-subdev. Add missing subdev_usage() in usage_all() to fix it. Signed-off-by: Helen Koike --- utils/v4l2-ctl/v4l2-ctl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/v4l2-ctl/v4l2-ctl.cpp b/utils/v4l2-ctl/v4l2-ctl.cpp index

Re: [ANN] Media sessions in Lyon in October: libcamera

2019-09-24 Thread Helen Koike
;>>> Attendees for this session: >>>>>> >>>>>> Kieran Bingham >>>> >>>> Unfortunately I can no longer attend ELCE. >>>> >>>> (My second baby will be a bit too new for an extended stay away from home) >>>

Re: [PATCH 0/4] Enable Hantro G1 post-processor

2019-09-16 Thread Helen Koike
[label="{{ 0} | Decoder\n | { 1}}", shape=Mrecord, style=filled, fillcolor=green] n0001:port1 -> n0007 n0001:port1 -> n0004:port0 [style=dashed] n0004 [label="{{ 0} | PostProc\n | { 1}}", shape=Mrecord, style=filled, fillcolor=green] n0004:port1 -> n0007 [style=dashed] n0007 [label="M2M Video Node\n/dev/video0", shape=box, style=filled, fillcolor=yellow] n0007 -> n0001:port0 } Also, as you mentioned in patch 4: > On the YUV-to-RGB path, the post-processing pipeline > allows to modify the image contrast, brigthness and saturation, > so additional user controls are added to expose them. So I think it would make sense to expose these controls in the post-processor subdev, through a /dev/v4l-subdev0, this avoids having a dynamic set of controls in the video node depending on the path. You don't even need to implement VIDIOC_{G,S}_FORMAT in the pads (at least v4l2-compliance doesn't complain, it is happy with "Not Supported"). So the post-processor /dev/v4l-subdev0 devnode could be used to expose only these controls, and you don't need to expose a devnode to the Decoder entity above (unless you have another reason). I hope this helps, Helen

Re: [PATCH] media: vimc: upon streaming, check that the pipeline starts with a source entity

2019-08-30 Thread Helen Koike
y source pads > + */ please add docs like the other functions in this file. > +static bool vimc_is_source(struct media_entity *ent) > +{ > + int i; unsigned Regards, Helen > + > + for (i = 0; i < ent->num_pads; i++) > + if (ent->pads[i].flags & MEDIA_

Re: [PATCH 2/2] media: Don't hide any menu if "ancillary drivers autoselect" is enabled

2019-07-25 Thread Helen Koike
agree with EMBEDDED, the problem with that is that >>> many "embedded" platforms don't enable EMBEDDED. So, it's not that useful. >>> >>> Finally, let me give an example of why hiding the menus is so bad. >>> Normally, to enable a symbol, we use the search tool. >>> >>> Now, when MEDIA_SUBDRV_AUTOSELECT=y, the search tool will _not_ take you >>> there and there's no indication why. >> >> As someone who has done so in the past year, I agree it's confusing. >> I had to dig through the Kconfig files to figure out which knobs to >> turn to get the OV5640 option out. The description says "auto-selecting", I had this same problem. > > Well, the text and/or the help message can be changed, if it is not > clear enough, but this option was added because we had too many issues > with users trying to build drivers for their devices without being > able to do that, because selecting thousands of devices is something > that an average PC user has troubles. > > I'm all to improve it, provided that we don't make harder for non-devs > to build the Kernel. > >> which does not equal hiding everything. You could still have drivers >> auto-selected (or not) based on a Kconfig option without hiding things. >> Another idea is to separate in two options, MEDIA_SUBDRV_AUTOSELECT and MEDIA_SUBDRV_ADVANCED, where the first one autoselects things and the later enables more options. Helen >> ChenYu > > > > Thanks, > Mauro >

Re: [PATCH 3/3] vimc: Join pipeline if one already exists

2019-07-09 Thread Helen Koike
+ while ((entity = media_graph_walk_next(&graph))) > + if (entity->function == MEDIA_ENT_F_CAM_SENSOR) > + break; I was wondering if it should search up to the sensor, or if it could just search the first entity with a pipe object, what do you think

Re: Linux 5.2 - vimc streaming fails with format error

2019-07-08 Thread Helen Koike
Hi Shuah, On 7/2/19 10:44 PM, shuah wrote: > On 5/23/19 9:07 AM, shuah wrote: >> Hi Hans and Helen, >> >> vimc streaming fails on Linux 5.2-rc1 >> >> vimc: format doesn't match in link Scaler->RGB/YUV Capture >> >> You can reproduce this eas

Re: [PATCH v5 12/14] media: vimc: sca: Add support for multiplanar formats

2019-04-26 Thread Helen Koike
On 4/26/19 4:51 PM, André Almeida wrote: > Change the scaling functions in order to scale planes. This change makes > easier to support multiplanar pixel formats. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Changes in v5: > - Remove bpp from vimc_s

Re: [PATCH v4 13/14] media: vimc: cap: Add support for multiplanar formats

2019-04-26 Thread Helen Koike
On 4/25/19 10:22 PM, André Almeida wrote: > Adapt vimc-capture to support multiplanar formats, copying > each plane to the correct buffer. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Change in v4: > - Move variables to inside the for loop > -

Re: [PATCH v4 12/14] media: vimc: sca: Add support for multiplanar formats

2019-04-26 Thread Helen Koike
unsigned int bpp; > + unsigned int src_line_size[TPG_MAX_PLANES]; > + unsigned int bpp[TPG_MAX_PLANES]; Do you think we could get rid of this bpp variable here as we have it inside vimc_frame struct ? Helen > }; > > static const struct v4l2_mbus_framefmt sink_fmt_d

Re: [PATCH v4 14/14] media: vimc: Create multiplanar parameter

2019-04-26 Thread Helen Koike
CAP_VIDEO_CAPTURE and CAP_VIDEO_CAPTURE_MPLANAR at the > same time. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Change in v4: > - Split commit with "Add handler for multiplanar fmt ioctls" > > Change in v3: > - Squash commit with "Ad

Re: [PATCH v4 10/14] media: vimc: Add and use new struct vimc_frame

2019-04-26 Thread Helen Koike
bdevices work with > the frame. > > Change the return and argument type of process_frame from void* to > vimc_frame*. Change the frame in subdevices structs from u8* to vimc_frame. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Changes in v4: > - Remo

Re: [PATCH v4 11/14] media: vimc: sen: Add support for multiplanar formats

2019-04-26 Thread Helen Koike
On 4/25/19 10:22 PM, André Almeida wrote: > This commit adapts vimc-sensor to handle multiplanar pixel formats, > adapting the memory allocation and TPG configuration. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Changes in v4: > - Correct `unsigned

Re: [PATCH v4 08/14] media: vimc: cap: Add multiplanar default format

2019-04-26 Thread Helen Koike
> Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Change in v4: none > > Changes in v3: > - Fix typo on commit message > - Add `_sp` to single planar default format > - Modify identation > > Change in v2: > - Move here the default format is set to veri

Re: [PATCH v4 06/14] media: vimc: cap: Add handler for multiplanar fmt ioctls

2019-04-26 Thread Helen Koike
On 4/25/19 10:22 PM, André Almeida wrote: > Add functions to handle multiplanar format ioctls, calling > the generic format ioctls functions when possible. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Change in v4: > - Split from multiplanar par

Re: [PATCH v4 04/14] media: Move sp2mp functions to v4l2-common

2019-04-26 Thread Helen Koike
On 4/25/19 10:22 PM, André Almeida wrote: > Move sp2mp functions from vivid code to v4l2-common as it will be reused > by vimc driver for multiplanar support. > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Changes in v4: none > > Changes in v3:

Re: [PATCH v4 05/14] media: vimc: cap: refactor singleplanar as a subset of multiplanar

2019-04-26 Thread Helen Koike
m_planes = 1), re-use the multiplanar code, and > transform them back to single planar. This is implemented with > v4l2_fmt_sp2mp_func(). > > Signed-off-by: André Almeida Acked-by: Helen Koike > --- > Changes in v4: > - Add comment that was in wrong commit > - Check the ret

Re: [PATCH v3 14/14] media: vimc: Create multiplanar parameter and ioctls

2019-04-24 Thread Helen Koike
On 4/24/19 8:03 PM, André Almeida wrote: > Hello Helen, > > Thanks for your review! > > On 4/24/19 6:32 PM, Helen Koike wrote: >> Hi André, >> >> Thanks for the patch, please see my comments below. >> >> On 4/24/19 10:56 AM, André Almeida wrote: &

Re: [PATCH v3 05/14] media: vimc: cap: refactor singleplanar as a subset of multiplanar

2019-04-24 Thread Helen Koike
ap_sp(struct file *file, void *priv, > + struct v4l2_format *f) > { > struct vimc_cap_device *vcap = video_drvdata(file); > > @@ -162,7 +182,7 @@ static int vimc_cap_s_fmt_vid_cap(struct file *file, void > *priv, > if (vb2_

Re: [PATCH v3 14/14] media: vimc: Create multiplanar parameter and ioctls

2019-04-24 Thread Helen Koike
;vcap->ved); > vcap->dev = comp; > > + > /* Initialize the video_device struct */ > vdev = &vcap->vdev; > - vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING; > + vdev->device_caps = (multiplanar ?

Re: [PATCH v3 13/14] media: vimc: cap: Add support for multiplanar formats

2019-04-24 Thread Helen Koike
/ > + for (i = 0; i < vimc_buf->vb2.vb2_buf.num_planes; i++) { > + vbuf = vb2_plane_vaddr(&vimc_buf->vb2.vb2_buf, i); > + plane_size = frame->fmt.plane_fmt[i].sizeimage; I think you should keep the same type, frame->fmt.plane_fmt[i].sizeimage i

Re: [PATCH v3 12/14] media: vimc: sca: Add support for multiplanar formats

2019-04-24 Thread Helen Koike
ch pixel from the original sink frame */ > /* TODO: implement scale down, only scale up is supported for now */ > - for (i = 0; i < vsca->sink_fmt.height; i++) > - for (j = 0; j < vsca->sink_fmt.width; j++) > - vimc_sca_scale_pix(vsca,

Re: [PATCH v3 11/14] media: vimc: sen: Add support for multiplanar formats

2019-04-24 Thread Helen Koike
lane_addr[i]) { > + ret = -ENOMEM; > + goto free_planes; > + } > + } > > /* configure the test pattern generator */ > vimc_sen_tpg_s_format(vsen); &

Re: [PATCH v3 10/14] media: vimc: Add and use new struct vimc_frame

2019-04-24 Thread Helen Koike
a/platform/vimc/vimc-common.c > index fad7c7c6de93..2418626f513d 100644 > --- a/drivers/media/platform/vimc/vimc-common.c > +++ b/drivers/media/platform/vimc/vimc-common.c > @@ -380,6 +380,14 @@ int vimc_ent_sd_register(struct vimc_ent_device *ved, > } > EXPORT_SYMBO

Re: [PATCH v3 09/14] media: vimc: Propagate multiplanar state in the stream

2019-04-24 Thread Helen Koike
subdevices :) Helen > > Signed-off-by: André Almeida > --- > Change in v3: > - Use ternary operator to get code more simple > > Change in v2: > - New commit > > drivers/media/platform/vimc/vimc-capture.c | 4 +++- > drivers/media/platform/vimc/vimc-streamer.h |

[PATCH 7/8] media: vimc: stream: init/terminate the first entity

2019-03-06 Thread Helen Koike
previous code was not a problem because the first entity is a video device and not a subdevice, but this patch prepares vimc to allow setting some configuration in the entity before calling s_stream. Signed-off-by: Helen Koike --- drivers/media/platform/vimc/vimc-streamer.c | 25

[PATCH 8/8] media: vimc: propagate pixel format in the stream

2019-03-06 Thread Helen Koike
in a given pixelformat. So we can allow almost any media bus format to be configured between pads, except for debayer that expects a media bus code of type bayer in the sink pad. Signed-off-by: Helen Koike --- drivers/media/platform/vimc/vimc-capture.c | 76 +++-- drivers/media/platform/vimc

[PATCH 5/8] media: vimc: stream: cleanup frame field from struct vimc_stream

2019-03-06 Thread Helen Koike
There is no need to have the frame field in the vimc_stream struct. Signed-off-by: Helen Koike --- drivers/media/platform/vimc/vimc-streamer.c | 10 -- drivers/media/platform/vimc/vimc-streamer.h | 1 - 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/media

[PATCH 6/8] media: vimc: stream: add docs to struct vimc_stream

2019-03-06 Thread Helen Koike
Add missing documentation for struct vimc_stream Signed-off-by: Helen Koike --- drivers/media/platform/vimc/vimc-streamer.h | 15 +++ 1 file changed, 15 insertions(+) diff --git a/drivers/media/platform/vimc/vimc-streamer.h b/drivers/media/platform/vimc/vimc-streamer.h index

[PATCH 4/8] media: v4l2-common: add bayer formats in v4l2_format_info

2019-03-06 Thread Helen Koike
Add bayer format information in struct v4l2_format_info table. Signed-off-by: Helen Koike --- drivers/media/v4l2-core/v4l2-common.c | 22 ++ 1 file changed, 22 insertions(+) diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c index

[PATCH 3/8] media: vimc: cap: fix step width/height in enum framesize

2019-03-06 Thread Helen Koike
The type V4L2_FRMSIZE_TYPE_CONTINUOUS expects a step of 1. This fixes v4l2-compliance test error: fail: v4l2-test-formats.cpp(184): invalid step_width/height for continuous framesize test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: FAIL Signed-off-by: Helen Koike --- drivers/media

[PATCH 1/8] media: vimc: deb: fix default sink bayer format

2019-03-06 Thread Helen Koike
The format of the sink pad should be a bayer mbus format. This fixes a kernel NULL pointer dereference error that was caused when the stream starts because the configured format was not found in the pixelmap table. Reported-by: Hans Verkuil Signed-off-by: Helen Koike --- drivers/media

[PATCH 2/8] media: vimc: stream: fix thread state before sleep

2019-03-06 Thread Helen Koike
in __might_sleep() call, as it's expecting the task to be in TASK_RUNNING state just before changing the state to a sleeping state. Reported-by: Hans Verkuil Signed-off-by: Helen Koike --- drivers/media/platform/vimc/vimc-streamer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)

[PATCH 0/8] media: vimc: remove media bus code limitation

2019-03-06 Thread Helen Koike
eries depends on "[PATCH] media: Introduce helpers to fill pixel format structs " Thanks, Helen Helen Koike (8): media: vimc: deb: fix default sink bayer format media: vimc: stream: fix thread state before sleep media: vimc: cap: fix step width/height in enum framesize media: v

Re: [PATCH] vimc: add USERPTR support

2019-02-07 Thread Helen Koike
Hi Hans, Sorry about my delay. On 1/14/19 3:05 PM, Hans Verkuil wrote: > On 1/14/19 6:04 PM, Helen Koike wrote: >> Hi Hans, >> >> Thanks for the patch. >> >> On 1/14/19 12:58 PM, Hans Verkuil wrote: >>> Add VB2_USERPTR to the vimc capture device. >

Re: [PATCH] vimc: fill in bus_info in media_device_info

2019-02-07 Thread Helen Koike
On 1/30/19 11:43 AM, Hans Verkuil wrote: > It is good practice to fill in bus_info. > > Also just use 'platform:vimc' when filling in the bus_info in querycap: > the bus_info has nothing to do with the video device name. > > Signed-off-by: Hans Verkuil Acked-by

Re: [PATCH v4] media: vimc: Add vimc-streamer for stream control

2019-01-22 Thread Helen Koike
function of each entity. > > Fixes: f2fe89061d797 ("vimc: Virtual Media Controller core, capture > and sensor") > Cc: sta...@vger.kernel.org # for v4.20 > Signed-off-by: Lucas A. M. Magalhães lgtm, thanks for the patch. Acked-by: Helen Koike Regards, Helen > --- >

Re: [PATCH v3] media: vimc: Add vimc-streamer for stream control

2019-01-18 Thread Helen Koike
source_ved = v4l2_get_subdevdata(sd); > + } else { > + vdev = container_of(entity, > + struct video_device, > + entity); > + sourc

Re: [PATCH v2] media: vimc: Add vimc-streamer for stream control

2019-01-15 Thread Helen Koike
he pipeline used later on the streamer thread. > + * Calls s_stream to enable stream in all entities of the pipeline. > + */ > +static int vimc_streamer_pipeline_init(struct vimc_stream *stream, > + struct vimc_ent_device *ved) > +{ &g

Re: [PATCH] vimc: add USERPTR support

2019-01-14 Thread Helen Koike
q->ops = &vimc_cap_qops; > I remember at the time I was having some issues regarding userptr, I just want to make a few tests first. Regards, Helen

Re: vimc kernel warning and kernel oops

2019-01-14 Thread Helen Koike
Hi Hans On 1/11/19 1:25 PM, Hans Verkuil wrote: > Hi Helen, > > I've started work to fix the last compliance failures with vimc so that > vimc can be used in regression tests. > > But I found a kernel warning and a kernel oops using vimc from our master > tree. >

You have photos right?

2019-01-09 Thread Helen
We see your photos photos for editing. Please send us the details of this task. Do your photos need cut out? Or clipping path, and retouching? You may give us 1 photo, we will do test for you to check the quality. Thanks, Helen

Need help on your photos?

2019-01-09 Thread Helen
We see your photos photos for editing. Please send us the details of this task. Do your photos need cut out? Or clipping path, and retouching? You may give us 1 photo, we will do test for you to check the quality. Thanks, Helen

Send the photos?

2019-01-09 Thread Helen
We see your photos photos for editing. Please send us the details of this task. Do your photos need cut out? Or clipping path, and retouching? You may give us 1 photo, we will do test for you to check the quality. Thanks, Helen

Re: [PATCH v4] media: vicodec: add support for CROP and COMPOSE selection

2018-12-26 Thread Helen Koike
IGHT, > q_data->coded_height); > + s->r.height = q_data->visible_height; > + return 0; > + } You could avoid this big identation block by doing: if (!is_out_crop_on_enc && !is_cap_compose_on_dec) return -EINVAL; s->r.left = 0; ... return 0; > + return -EINVAL; > +} > + > static void vicodec_mark_last_buf(struct vicodec_ctx *ctx) > { > static const struct v4l2_event eos_event = { > @@ -895,6 +971,9 @@ static const struct v4l2_ioctl_ops vicodec_ioctl_ops = { > .vidioc_streamon= v4l2_m2m_ioctl_streamon, > .vidioc_streamoff = v4l2_m2m_ioctl_streamoff, > > + .vidioc_g_selection = vidioc_g_selection, > + .vidioc_s_selection = vidioc_s_selection, > + > .vidioc_try_encoder_cmd = vicodec_try_encoder_cmd, > .vidioc_encoder_cmd = vicodec_encoder_cmd, > .vidioc_try_decoder_cmd = vicodec_try_decoder_cmd, > @@ -988,8 +1067,8 @@ static int vicodec_start_streaming(struct vb2_queue *q, > struct vicodec_ctx *ctx = vb2_get_drv_priv(q); > struct vicodec_q_data *q_data = get_q_data(ctx, q->type); > struct v4l2_fwht_state *state = &ctx->state; > - unsigned int size = q_data->width * q_data->height; > const struct v4l2_fwht_pixfmt_info *info = q_data->info; > + unsigned int size = q_data->coded_width * q_data->coded_height; > unsigned int chroma_div = info->width_div * info->height_div; > unsigned int total_planes_size; > > @@ -1008,17 +1087,20 @@ static int vicodec_start_streaming(struct vb2_queue > *q, > > if (!V4L2_TYPE_IS_OUTPUT(q->type)) { > if (!ctx->is_enc) { > - state->width = q_data->width; > - state->height = q_data->height; > + state->visible_width = q_data->visible_width; > + state->visible_height = q_data->visible_height; > + state->coded_width = q_data->coded_width; > + state->coded_height = q_data->coded_height; > } > return 0; > } > > if (ctx->is_enc) { > - state->width = q_data->width; > - state->height = q_data->height; > + state->visible_width = q_data->visible_width; > + state->visible_height = q_data->visible_height; > + state->coded_width = q_data->coded_width; > + state->coded_height = q_data->coded_height; > } > - state->ref_frame.width = state->ref_frame.height = 0; > state->ref_frame.luma = kvmalloc(total_planes_size, GFP_KERNEL); > ctx->comp_max_size = total_planes_size + sizeof(struct fwht_cframe_hdr); > state->compressed_frame = kvmalloc(ctx->comp_max_size, GFP_KERNEL); > @@ -1204,8 +1286,10 @@ static int vicodec_open(struct file *file) > > ctx->q_data[V4L2_M2M_SRC].info = > ctx->is_enc ? v4l2_fwht_get_pixfmt(0) : &pixfmt_fwht; > - ctx->q_data[V4L2_M2M_SRC].width = 1280; > - ctx->q_data[V4L2_M2M_SRC].height = 720; > + ctx->q_data[V4L2_M2M_SRC].coded_width = 1280; > + ctx->q_data[V4L2_M2M_SRC].coded_height = 720; > + ctx->q_data[V4L2_M2M_SRC].visible_width = 1280; > + ctx->q_data[V4L2_M2M_SRC].visible_height = 720; > size = 1280 * 720 * ctx->q_data[V4L2_M2M_SRC].info->sizeimage_mult / > ctx->q_data[V4L2_M2M_SRC].info->sizeimage_div; > if (ctx->is_enc) > Regards, Helen

Re: [Lkcamp][PATCH] media: vimc: Add vimc-streamer for stream control

2018-12-15 Thread Helen Koike
gt; This patch introduces a streamer controller library for the vimc > driver. It's a step towards a optimized mode I've been discussing with > Helen. > I plan to pass a tpg struct through the pipeline. This tpg struct > will be configured in each entity and the capture will gen

Re: [Lkcamp][PATCH] media: vimc: Add vimc-streamer for stream control

2018-12-15 Thread Helen Koike
this can be a problem in the current implementation, but then your system won't have memory for any 4 nested function calls anyway (which I think the kernel wouldn't work at all). Mauro, with that said, do you still think we should send this to stable? Thanks Helen > > Please noti

Re: [PATCH] media: vimc: add configfs API to configure the topology

2018-12-10 Thread Helen Koike
Hi Hans, On 12/10/18 9:31 AM, Hans Verkuil wrote: > On 12/7/18 7:22 PM, Helen Koike wrote: >> Add API to allow userspace to create any type of topology in vimc using >> basic system calls such as mkdir/rmdir/read/write. >> >> Signed-off-by: Helen Koike >&g

Re: VIVID/VIMC and media fuzzing

2018-12-07 Thread Helen Koike
Hi Dmitry, On 10/31/18 9:49 AM, Helen Koike wrote: > Hi Dmitry, > > On 10/31/18 7:46 AM, Hans Verkuil wrote: >> On 10/30/2018 03:02 PM, Dmitry Vyukov wrote: >>> Hello Helen and linux-media, >>> >>> I've attended your talk "Shifting Media Ap

[PATCH] media: vimc: add configfs API to configure the topology

2018-12-07 Thread Helen Koike
Add API to allow userspace to create any type of topology in vimc using basic system calls such as mkdir/rmdir/read/write. Signed-off-by: Helen Koike --- Hi, This patch introduces the configufs API for configuring the topology in vimc while it removes the hardcoded topology, so now, when you

[PATCH] media: vimc: fix start stream when link is disabled

2018-12-07 Thread Helen Koike
If link is disabled, media_entity_remote_pad returns NULL, causing a NULL pointer deference. Ignore links that are not enabled instead. Signed-off-by: Helen Koike --- drivers/media/platform/vimc/vimc-common.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/platform/vimc

Re: [PATCH 2/2] media: vimc: constify structures stored in fields of v4l2_subdev_ops structure

2018-11-01 Thread Helen Koike
; > Signed-off-by: Julia Lawall Acked-by: Helen Koike > > --- > drivers/media/platform/vimc/vimc-sensor.c |2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/platform/vimc/vimc-sensor.c > b/drivers/media/platform/vimc/vimc-sensor.c

Re: VIVID/VIMC and media fuzzing

2018-10-31 Thread Helen Koike
Hi Dmitry, On 10/31/18 7:46 AM, Hans Verkuil wrote: > On 10/30/2018 03:02 PM, Dmitry Vyukov wrote: >> Hello Helen and linux-media, >> >> I've attended your talk "Shifting Media App Development into High >> Gear" on OSS Summit last week and approached you

Re: [PATCH] media: vivid: Improve timestamping

2018-10-09 Thread Helen Koike
ev->cap_stream_start + > + soe_time + > + dev->time_wrap_offset; Could you move the dev->vid_cap_seq_count to the top? I got confused if it was multiplying only the denominator, I think moving to the top makes it clearer (or add parenthesis). > } > > /* > @@ -759,6 +766,7 @@ static int vivid_thread_vid_cap(void *data) > dev->cap_seq_count = 0; > dev->cap_seq_resync = false; > dev->jiffies_vid_cap = jiffies; > + dev->cap_stream_start = ktime_get_ns(); > > for (;;) { > try_to_freeze(); > Thanks Helen

Re: [PATCH vicodec] media: pvrusb2: replace `printk` with `pr_*`

2018-10-07 Thread Helen Koike
usb2-v4l2.c > index cea232a3302d..97a93ed4bcda 100644 > --- a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c > +++ b/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c > @@ -869,7 +869,7 @@ static void pvr2_v4l2_dev_destroy(struct pvr2_v4l2_dev > *dip) > are gone. */ > video_unregister_device(&dip->devbase); > > - printk(KERN_INFO "%s\n", msg); > + pr_info("%s\n", msg); > > } > > @@ -1260,7 +1260,7 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev > *dip, > ": Failed to register pvrusb2 v4l device\n"); > } > > - printk(KERN_INFO "pvrusb2: registered device %s [%s]\n", > + pr_info("pvrusb2: registered device %s [%s]\n", > video_device_node_name(&dip->devbase), > pvr2_config_get_name(dip->config)); > > Thanks Helen

Re: [ANN] Draft Agenda for the media summit on Thursday Oct 25th in Edinburgh

2018-09-26 Thread Helen Koike
0: Discuss the media development process > Since we are all here, discuss any issues there may be with the media > subsystem development process. Anything to improve? > > 16:00-16:15: Wrap up > Create action items (and who will take care of them) if needed. > Summarize and conclude the day. > > End of the day: Key Signing Party > > Regards, > > Hans > Thanks Helen

Re: Question regarding optimizing pipeline in Vimc

2018-08-29 Thread Helen Koike
On 8/22/18 3:49 AM, Hans Verkuil wrote: > On 08/22/2018 05:35 AM, Helen Koike wrote: >> Hello, >> >> One of the discussions we had when developing Vimc, was regarding >> optimizing image generation. >> The ideia was to generate the images directly in the

Question regarding optimizing pipeline in Vimc

2018-08-21 Thread Helen Koike
image transformation made by each entity in the pipe) Or do you have any other thing in mind? Thanks Helen

Re: [PATCH] vimc: use correct subdev functions

2018-03-01 Thread Helen Koike
Hi Hans, On 02/07/2018 03:06 PM, Hans Verkuil wrote: Instead of calling everything a MEDIA_ENT_F_ATV_DECODER, pick the correct functions for these blocks. Nice, thanks for the patch Signed-off-by: Hans Verkuil Acked-by: Helen Koike --- diff --git a/drivers/media/platform/vimc/vimc

Re: [PATCH] v4l2-subdev: without controls return -ENOTTY

2018-03-01 Thread Helen Koike
ons are also called directly from drivers, so I don't want to change the error code there. Right, I see, thanks for the patch Found with vimc and v4l2-compliance. Signed-off-by: Hans Verkuil Acked-by: Helen Koike --- diff --git a/drivers/media/v4l2-core/v4l2-subdev.c b/drivers/media/v

Re: [PATCH] vimc: fix control event handling

2018-03-01 Thread Helen Koike
Hi Hans, Thanks for the patch On 02/02/2018 11:00 AM, Hans Verkuil wrote: The sensor subdev didn't handle control events. Add support for this. Found with v4l2-compliance. Signed-off-by: Hans Verkuil Acked-by: Helen Koike --- diff --git a/drivers/media/platform/vimc/vimc-common

Re: [PATCH] vimc: add test_pattern and h/vflip controls to the sensor

2017-11-06 Thread Helen Koike
Hi Hans, On 2017-11-06 08:19 AM, Hans Verkuil wrote: > Hi Helen, > > On 09/27/2017 08:30 PM, Helen Koike wrote: >> Hi Hans, >> >> Thanks for your patch and sorry for my late reply. > > Sorry for my late reply to your reply :-) > >> Please see my commen

Re: [PATCH] [media] vimc: Fix return value check in vimc_add_subdevs()

2017-10-11 Thread Helen Koike
i >= 0) > platform_device_unregister(vimc->subdevs[i]); > > - return ERR_PTR(-ENOMEM); > + return match; > } > > component_match_add(&vimc->pdev.dev, &match, vimc_comp_compare, > > > Nice catch, thanks, looks good to me Acked-by: Helen Koike

Re: [media] vimc: API proposal, configuring the topology from user space

2017-09-27 Thread Helen Koike
Hi Hans, Thanks for your review. On 2017-07-28 10:39 AM, Hans Verkuil wrote: > Hi Helen, > > Finally after way too long I found some time to review this. See my comments > below. > > On 04/11/2017 12:53 AM, Helen Koike wrote: >> >> Hi, >> >> Continuin

Re: [PATCH] vimc: add test_pattern and h/vflip controls to the sensor

2017-09-27 Thread Helen Koike
rr_free_vsen; > + goto err_free_hdl; > > dev_set_drvdata(comp, &vsen->ved); > vsen->dev = comp; > @@ -342,6 +402,8 @@ static int vimc_sen_comp_bind(struct device *comp, struct > device *master, > > err_unregister_ent_sd: > vimc_ent_sd_unregister(&vsen->ved, &vsen->sd); > +err_free_hdl: > + v4l2_ctrl_handler_free(&vsen->hdl); > err_free_vsen: > kfree(vsen); > This conflicts a bit in the way I was preparing the optimization to generate the pattern directly from the capture device as it will need to propagate the changes from the controls in the sensor as well, but it shouldn't be a problem to let the sensor to configure the tpg used in the capture, I'll re-work my patch to include this. Helen

Re: [PATCH] [media] vimc: set id_table for platform drivers

2017-07-14 Thread Helen Koike
ms good to me. Reviewed-by: Helen Koike --- drivers/media/platform/vimc/vimc-capture.c | 15 --- drivers/media/platform/vimc/vimc-debayer.c | 15 --- drivers/media/platform/vimc/vimc-scaler.c | 15 --- drivers/media/platform/vimc/vimc-sens

Re: [PATCH v2] [media] v4l2: add V4L2_CAP_IO_MC

2017-06-19 Thread Helen Koike
Hi Hans, Thanks for reviewing this On 2017-06-19 08:15 AM, Hans Verkuil wrote: On 06/14/2017 06:50 AM, Helen Koike wrote: Add V4L2_CAP_IO_MC to be used in struct v4l2_capability to indicate that input and output are controlled by the Media Controller instead of V4L2 API. When this flag is set

[PATCH v5 04/12] [media] vimc: common: Add vimc_pipeline_s_stream helper

2017-06-19 Thread Helen Koike
Move the vimc_cap_pipeline_s_stream from the vimc-cap.c to vimc-common.c as this core will be reused by other subdevices to activate the stream in their directly connected nodes Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: None Changes in v3: [media] vimc: Add

[PATCH v5 07/12] [media] vimc: sen: Support several image formats

2017-06-19 Thread Helen Koike
Allow user space to change the image format as the frame size, the media bus pixel format, colorspace, quantization, field YCbCr encoding and the transfer function Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: [media] vimc: sen: Support several image formats - use

[PATCH v5 06/12] [media] vimc: common: Add vimc_colorimetry_clamp

2017-06-19 Thread Helen Koike
Colorimetry value will always be checked in the same way. Adding a helper macro for that Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: [media] vimc: common: Add vimc_colorimetry_clamp - this is a new patch in the series Changes in v3: None Changes in v2: None

[PATCH v5 01/12] [media] vimc: sen: Integrate the tpg on the sensor

2017-06-19 Thread Helen Koike
Initialize the test pattern generator on the sensor Generate a colored bar image instead of a grey one Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: None Changes in v3: [media] vimc: sen: Integrate the tpg on the sensor - Declare frame_size as a local variable

[PATCH v5 08/12] [media] vimc: cap: Support several image formats

2017-06-19 Thread Helen Koike
Allow user space to change the image format as the frame size, the pixel format, colorspace, quantization, field YCbCr encoding and the transfer function Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: [media] vimc: cap: Support several image formats - add

[PATCH v5 02/12] [media] vimc: Move common code from the core

2017-06-19 Thread Helen Koike
Remove helper functions from vimc-core and add it in vimc-common to clean up the core. Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: None Changes in v3: [media] vimc: Move common code from the core - This is a new patch in the series Changes in v2: None

[PATCH v5 05/12] [media] vimc: common: Add vimc_link_validate

2017-06-19 Thread Helen Koike
All links will be checked in the same way. Adding a helper function for that Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: [media] vimc: common: Add vimc_link_validate - remove vimc_fmt_pix_to_mbus(), replaced by v4l2_fill_mbus_format() - remove

[PATCH v5 09/12] [media] vimc: Subdevices as modules

2017-06-19 Thread Helen Koike
_device in the system. It also facilitates other implementations of different nodes without touching the core code and remove the need of a header file for each type of node. Signed-off-by: Helen Koike --- Changes in v5: [media] vimc: Subdevices as modules - Fix vimc_add_subdevs in rollback

[PATCH v5 10/12] [media] vimc: deb: Add debayer filter

2017-06-19 Thread Helen Koike
Implement the debayer filter and integrate it with the core Signed-off-by: Helen Koike --- Changes in v5: [media] vimc: deb: Add debayer filter - delare vimc_deb_video_ops as static, remove sparse warning Changes in v4: [media] vimc: deb: Add debayer filter - Rebase without

[PATCH v5 11/12] [media] vimc: sca: Add scaler

2017-06-19 Thread Helen Koike
Implement scaler and integrated with the core Signed-off-by: Helen Koike --- Changes in v5: [media] vimc: sca: Add scaler - declare vimc_sca_video_ops as static, remove sparse warning Changes in v4: [media] vimc: sca: Add scaler - use vimc_colorimetry_clamp - replace

[PATCH v5 12/12] [media] vimc: sen: Declare vimc_sen_video_ops as static

2017-06-19 Thread Helen Koike
Declare vimc_sen_video_ops as static, remove warning from sparse tool Signed-off-by: Helen Koike --- Changes in v5: [media] vimc: sen: Declare vimc_sen_video_ops as static - This is a new patch in the series Changes in v4: None Changes in v3: None Changes in v2: None --- drivers

[PATCH v5 03/12] [media] vimc: common: Add vimc_ent_sd_* helper

2017-06-19 Thread Helen Koike
As all the subdevices in the topology will be initialized in the same way, to avoid code repetition the vimc_ent_sd_{register, unregister} helper functions were created Signed-off-by: Helen Koike --- Changes in v5: None Changes in v4: None Changes in v3: [media] vimc: common: Add vimc_ent_sd_

[PATCH v5 00/12] [media]: vimc: Virtual Media Control VPU's

2017-06-19 Thread Helen Koike
to a bayer format by averaging the pixels within a mean window. The scaler only scales up the image for now. This patch series is based on media/master and it is available at: https://github.com/helen-fornazier/opw-staging/tree/z/sent/vimc/vpu/v5 In this version the errors shown by the

[PATCH v2] [media] v4l2: add V4L2_CAP_IO_MC

2017-06-13 Thread Helen Koike
-by: Helen Koike --- Changes in v2:: - replace the type by capability - erase V4L2_INPUT_TYPE_DEFAULT - also consider output - plug helpers in the ops automatically so drivers doesn't need to set it by hand - update docs - commit messag

[PATCH v4 01/11] [media] vimc: sen: Integrate the tpg on the sensor

2017-06-13 Thread Helen Koike
Initialize the test pattern generator on the sensor Generate a colored bar image instead of a grey one Signed-off-by: Helen Koike --- Changes in v4: None Changes in v3: [media] vimc: sen: Integrate the tpg on the sensor - Declare frame_size as a local variable - Set tpg frame

[PATCH v4 02/11] [media] vimc: Move common code from the core

2017-06-13 Thread Helen Koike
Remove helper functions from vimc-core and add it in vimc-common to clean up the core. Signed-off-by: Helen Koike --- Changes in v4: None Changes in v3: [media] vimc: Move common code from the core - This is a new patch in the series Changes in v2: None --- drivers/media/platform

[PATCH v4 03/11] [media] vimc: common: Add vimc_ent_sd_* helper

2017-06-13 Thread Helen Koike
As all the subdevices in the topology will be initialized in the same way, to avoid code repetition the vimc_ent_sd_{register, unregister} helper functions were created Signed-off-by: Helen Koike --- Changes in v4: None Changes in v3: [media] vimc: common: Add vimc_ent_sd_* helper

[PATCH v4 04/11] [media] vimc: common: Add vimc_pipeline_s_stream helper

2017-06-13 Thread Helen Koike
Move the vimc_cap_pipeline_s_stream from the vimc-cap.c to vimc-common.c as this core will be reused by other subdevices to activate the stream in their directly connected nodes Signed-off-by: Helen Koike --- Changes in v4: None Changes in v3: [media] vimc: Add vimc_pipeline_s_stream in the

[PATCH v4 05/11] [media] vimc: common: Add vimc_link_validate

2017-06-13 Thread Helen Koike
All links will be checked in the same way. Adding a helper function for that Signed-off-by: Helen Koike --- Changes in v4: [media] vimc: common: Add vimc_link_validate - remove vimc_fmt_pix_to_mbus(), replaced by v4l2_fill_mbus_format() - remove EXPORT_SYMBOL

[PATCH v4 10/11] [media] vimc: deb: Add debayer filter

2017-06-13 Thread Helen Koike
Implement the debayer filter and integrate it with the core Signed-off-by: Helen Koike --- Changes in v4: [media] vimc: deb: Add debayer filter - Rebase without [media] vimc: Optimize frame generation through pipe - use vimc_colorimetry_clamp - replace

  1   2   3   >