[PATCH v3 0/4] VPE improvements

2014-11-29 Thread Nikhil Devshatwar
This patchset adds following improvements for the ti-vpe driver.
* Support SEQ_TB format for interlaced buffers
Some of the video decoders generate interlaced content in SEQ_TB format
Y top, T bottom in one plane and UV top, UV bottom in another
* Improve multi instance latency
Improve m2m job scheduling in multi instance use cases
Start processing even if all buffers aren't present
* N frame de-interlace support
For N input fields, generate N progressive frames

Archit Taneja (1):
  media: ti-vpe: Use line average de-interlacing for first 2 frames

Nikhil Devshatwar (3):
  media: ti-vpe: Use data offset for getting dma_addr for a plane
  media: ti-vpe: Do not perform job transaction atomically
  media: ti-vpe: Add support for SEQ_TB buffers

 drivers/media/platform/ti-vpe/vpe.c |  191 ---
 1 file changed, 154 insertions(+), 37 deletions(-)

-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 2/4] media: ti-vpe: Use line average de-interlacing for first 2 frames

2014-11-29 Thread Nikhil Devshatwar
From: Archit Taneja arc...@ti.com

For n input fields, the VPE de-interlacer creates n - 2 progressive frames.

To support this, we use line average mode of de-interlacer for the first 2
input fields to generate 2 progressive frames. We then revert back to the
preferred EDI method, and create n - 2 frames, creating a sum of n frames.

Signed-off-by: Archit Taneja arc...@ti.com
Signed-off-by: Nikhil Devshatwar nikhil...@ti.com
---
 drivers/media/platform/ti-vpe/vpe.c |   29 +
 1 file changed, 29 insertions(+)

diff --git a/drivers/media/platform/ti-vpe/vpe.c 
b/drivers/media/platform/ti-vpe/vpe.c
index ba26b83..26e44a1 100644
--- a/drivers/media/platform/ti-vpe/vpe.c
+++ b/drivers/media/platform/ti-vpe/vpe.c
@@ -807,6 +807,23 @@ static void set_dei_shadow_registers(struct vpe_ctx *ctx)
ctx-load_mmrs = true;
 }
 
+static void config_edi_input_mode(struct vpe_ctx *ctx, int mode)
+{
+   struct vpe_mmr_adb *mmr_adb = ctx-mmr_adb.addr;
+   u32 *edi_config_reg = mmr_adb-dei_regs[3];
+
+   if (mode  0x2)
+   write_field(edi_config_reg, 1, 1, 2);   /* EDI_ENABLE_3D */
+
+   if (mode  0x3)
+   write_field(edi_config_reg, 1, 1, 3);   /* EDI_CHROMA_3D  */
+
+   write_field(edi_config_reg, mode, VPE_EDI_INP_MODE_MASK,
+   VPE_EDI_INP_MODE_SHIFT);
+
+   ctx-load_mmrs = true;
+}
+
 /*
  * Set the shadow registers whose values are modified when either the
  * source or destination format is changed.
@@ -1119,6 +1136,15 @@ static void device_run(void *priv)
ctx-dst_vb = v4l2_m2m_dst_buf_remove(ctx-m2m_ctx);
WARN_ON(ctx-dst_vb == NULL);
 
+   if (ctx-deinterlacing) {
+   /*
+* we have output the first 2 frames through line average, we
+* now switch to EDI de-interlacer
+*/
+   if (ctx-sequence == 2)
+   config_edi_input_mode(ctx, 0x3); /* EDI (Y + UV) */
+   }
+
/* config descriptors */
if (ctx-dev-loaded_mmrs != ctx-mmr_adb.dma_addr || ctx-load_mmrs) {
vpdma_map_desc_buf(ctx-dev-vpdma, ctx-mmr_adb);
@@ -1780,6 +1806,9 @@ static int vpe_streamon(struct file *file, void *priv, 
enum v4l2_buf_type type)
 {
struct vpe_ctx *ctx = file2ctx(file);
 
+   if (ctx-deinterlacing)
+   config_edi_input_mode(ctx, 0x0);
+
return v4l2_m2m_streamon(file, ctx-m2m_ctx, type);
 }
 
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 1/4] media: ti-vpe: Use data offset for getting dma_addr for a plane

2014-11-29 Thread Nikhil Devshatwar
The data_offset in v4l2_planes structure will help us point to the start of
data content for that particular plane. This may be useful when a single
buffer contains the data for different planes e.g. Y planes of two fields in
the same buffer. With this, user space can pass queue top field and
bottom field with same dmafd and different data_offsets.

Signed-off-by: Nikhil Devshatwar nikhil...@ti.com
---
Changes from v2:
 * Use data_offset only for OUTPUT stream buffers

 drivers/media/platform/ti-vpe/vpe.c |   10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/ti-vpe/vpe.c 
b/drivers/media/platform/ti-vpe/vpe.c
index 9a081c2..ba26b83 100644
--- a/drivers/media/platform/ti-vpe/vpe.c
+++ b/drivers/media/platform/ti-vpe/vpe.c
@@ -496,6 +496,14 @@ struct vpe_mmr_adb {
 
 #define VPE_SET_MMR_ADB_HDR(ctx, hdr, regs, offset_a)  \
VPDMA_SET_MMR_ADB_HDR(ctx-mmr_adb, vpe_mmr_adb, hdr, regs, offset_a)
+
+static inline dma_addr_t vb2_dma_addr_plus_data_offset(struct vb2_buffer *vb,
+   unsigned int plane_no)
+{
+   return vb2_dma_contig_plane_dma_addr(vb, plane_no) +
+   vb-v4l2_planes[plane_no].data_offset;
+}
+
 /*
  * Set the headers for all of the address/data block structures.
  */
@@ -1043,7 +1051,7 @@ static void add_in_dtd(struct vpe_ctx *ctx, int port)
 
vpdma_fmt = fmt-vpdma_fmt[plane];
 
-   dma_addr = vb2_dma_contig_plane_dma_addr(vb, plane);
+   dma_addr = vb2_dma_addr_plus_data_offset(vb, plane);
if (!dma_addr) {
vpe_err(ctx-dev,
acquiring input buffer(%d) dma_addr failed\n,
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 3/4] media: ti-vpe: Do not perform job transaction atomically

2014-11-29 Thread Nikhil Devshatwar
Current VPE driver does not start the job untill all the buffers for
a transaction are not queued. When running in multiple context, this might
increase the processing latency.

Alternate solution would be to try to continue the same context as long as
buffers for the transaction are ready; else switch the conext. This may
increase number of context switches but it reduces latency significantly.

In this approach, the job_ready always succeeds as long as there are buffers
on the CAPTURE and OUTPUT stream. Processing may start immediately as the
first 2 iterations don't need extra source buffers. Shift all the source buffers
after each iteration and remove the oldest buffer.

Also, with this removes the constraint of pre buffering 3 buffers before call
to STREAMON in case of deinterlacing.

Signed-off-by: Nikhil Devshatwar nikhil...@ti.com
---
 drivers/media/platform/ti-vpe/vpe.c |   32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/drivers/media/platform/ti-vpe/vpe.c 
b/drivers/media/platform/ti-vpe/vpe.c
index 26e44a1..6a96bbf 100644
--- a/drivers/media/platform/ti-vpe/vpe.c
+++ b/drivers/media/platform/ti-vpe/vpe.c
@@ -907,15 +907,14 @@ static struct vpe_ctx *file2ctx(struct file *file)
 static int job_ready(void *priv)
 {
struct vpe_ctx *ctx = priv;
-   int needed = ctx-bufs_per_job;
 
-   if (ctx-deinterlacing  ctx-src_vbs[2] == NULL)
-   needed += 2;/* need additional two most recent fields */
-
-   if (v4l2_m2m_num_src_bufs_ready(ctx-m2m_ctx)  needed)
-   return 0;
-
-   if (v4l2_m2m_num_dst_bufs_ready(ctx-m2m_ctx)  needed)
+   /*
+* This check is needed as this might be called directly from driver
+* When called by m2m framework, this will always satisy, but when
+* called from vpe_irq, this might fail. (src stream with zero buffers)
+*/
+   if (v4l2_m2m_num_src_bufs_ready(ctx-m2m_ctx) = 0 ||
+   v4l2_m2m_num_dst_bufs_ready(ctx-m2m_ctx) = 0)
return 0;
 
return 1;
@@ -1124,19 +1123,20 @@ static void device_run(void *priv)
struct sc_data *sc = ctx-dev-sc;
struct vpe_q_data *d_q_data = ctx-q_data[Q_DATA_DST];
 
-   if (ctx-deinterlacing  ctx-src_vbs[2] == NULL) {
-   ctx-src_vbs[2] = v4l2_m2m_src_buf_remove(ctx-m2m_ctx);
-   WARN_ON(ctx-src_vbs[2] == NULL);
-   ctx-src_vbs[1] = v4l2_m2m_src_buf_remove(ctx-m2m_ctx);
-   WARN_ON(ctx-src_vbs[1] == NULL);
-   }
-
ctx-src_vbs[0] = v4l2_m2m_src_buf_remove(ctx-m2m_ctx);
WARN_ON(ctx-src_vbs[0] == NULL);
ctx-dst_vb = v4l2_m2m_dst_buf_remove(ctx-m2m_ctx);
WARN_ON(ctx-dst_vb == NULL);
 
if (ctx-deinterlacing) {
+
+   if (ctx-src_vbs[2] == NULL) {
+   ctx-src_vbs[2] = ctx-src_vbs[0];
+   WARN_ON(ctx-src_vbs[2] == NULL);
+   ctx-src_vbs[1] = ctx-src_vbs[0];
+   WARN_ON(ctx-src_vbs[1] == NULL);
+   }
+
/*
 * we have output the first 2 frames through line average, we
 * now switch to EDI de-interlacer
@@ -1360,7 +1360,7 @@ static irqreturn_t vpe_irq(int irq_vpe, void *data)
}
 
ctx-bufs_completed++;
-   if (ctx-bufs_completed  ctx-bufs_per_job) {
+   if (ctx-bufs_completed  ctx-bufs_per_job  job_ready(ctx)) {
device_run(ctx);
goto handled;
}
-- 
1.7.9.5

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 4/4] media: ti-vpe: Add support for SEQ_TB buffers

2014-11-29 Thread Nikhil Devshatwar
The video source can generate the data in the SEQ_TB buffer format.
In the case of TI SoC, the IVA_HD can generate the interlaced content in
the SEQ_TB buffer format. This is the format where the top and bottom field
data can be contained in a single buffer. For example, for NV12, interlaced
format, the data in Y buffer will be arranged as Y-top followed by Y-bottom.
And likewise for UV plane.

Also, queueing one buffer of SEQ_TB is euivalent to queueing two different
buffers for top and bottom fields. Driver needs to take care of this when
handling source buffer lists.

Signed-off-by: Nikhil Devshatwar nikhil...@ti.com
---
Changes from v1:
 * Add check for valid field in qbuf ioctl
 * Fix issue with swapped fields

 drivers/media/platform/ti-vpe/vpe.c |  124 ---
 1 file changed, 102 insertions(+), 22 deletions(-)

diff --git a/drivers/media/platform/ti-vpe/vpe.c 
b/drivers/media/platform/ti-vpe/vpe.c
index 6a96bbf..b53aea5 100644
--- a/drivers/media/platform/ti-vpe/vpe.c
+++ b/drivers/media/platform/ti-vpe/vpe.c
@@ -319,9 +319,13 @@ struct vpe_q_data {
 };
 
 /* vpe_q_data flag bits */
-#defineQ_DATA_FRAME_1D (1  0)
-#defineQ_DATA_MODE_TILED   (1  1)
-#defineQ_DATA_INTERLACED   (1  2)
+#defineQ_DATA_FRAME_1D (1  0)
+#defineQ_DATA_MODE_TILED   (1  1)
+#defineQ_DATA_INTERLACED_ALTERNATE (1  2)
+#defineQ_DATA_INTERLACED_SEQ_TB(1  3)
+
+#define Q_IS_INTERLACED(Q_DATA_INTERLACED_ALTERNATE | \
+   Q_DATA_INTERLACED_SEQ_TB)
 
 enum {
Q_DATA_SRC = 0,
@@ -647,7 +651,7 @@ static void set_us_coefficients(struct vpe_ctx *ctx)
 
cp = us_coeffs[0].anchor_fid0_c0;
 
-   if (s_q_data-flags  Q_DATA_INTERLACED)/* interlaced */
+   if (s_q_data-flags  Q_IS_INTERLACED)  /* interlaced */
cp += sizeof(us_coeffs[0]) / sizeof(*cp);
 
end_cp = cp + sizeof(us_coeffs[0]) / sizeof(*cp);
@@ -774,8 +778,7 @@ static void set_dei_regs(struct vpe_ctx *ctx)
 * for both progressive and interlace content in interlace bypass mode.
 * It has been recommended not to use progressive bypass mode.
 */
-   if ((!ctx-deinterlacing  (s_q_data-flags  Q_DATA_INTERLACED)) ||
-   !(s_q_data-flags  Q_DATA_INTERLACED)) {
+   if (!(s_q_data-flags  Q_IS_INTERLACED) || !ctx-deinterlacing) {
deinterlace = false;
val = VPE_DEI_INTERLACE_BYPASS;
}
@@ -843,8 +846,8 @@ static int set_srcdst_params(struct vpe_ctx *ctx)
ctx-sequence = 0;
ctx-field = V4L2_FIELD_TOP;
 
-   if ((s_q_data-flags  Q_DATA_INTERLACED) 
-   !(d_q_data-flags  Q_DATA_INTERLACED)) {
+   if ((s_q_data-flags  Q_IS_INTERLACED) 
+   !(d_q_data-flags  Q_IS_INTERLACED)) {
int bytes_per_line;
const struct vpdma_data_format *mv =
vpdma_misc_fmts[VPDMA_DATA_FMT_MV];
@@ -1068,6 +1071,27 @@ static void add_in_dtd(struct vpe_ctx *ctx, int port)
vpdma_fmt = fmt-vpdma_fmt[plane];
 
dma_addr = vb2_dma_addr_plus_data_offset(vb, plane);
+
+   if (q_data-flags  Q_DATA_INTERLACED_SEQ_TB) {
+   /*
+* Use top or bottom field from same vb alternately
+* f,f-1,f-2 = TBT when seq is even
+* f,f-1,f-2 = BTB when seq is odd
+*/
+   field = (p_data-vb_index + (ctx-sequence % 2)) % 2;
+
+   if (field) {
+   /* bottom field of a SEQ_TB buffer
+* Skip the top field data by */
+   int height = q_data-height / 2;
+   int bpp = fmt-fourcc == V4L2_PIX_FMT_NV12 ?
+   1 : (vpdma_fmt-depth  3);
+   if (plane)
+   height /= 2;
+   dma_addr += q_data-width * height * bpp;
+   }
+   }
+
if (!dma_addr) {
vpe_err(ctx-dev,
acquiring input buffer(%d) dma_addr failed\n,
@@ -1122,9 +1146,22 @@ static void device_run(void *priv)
struct vpe_ctx *ctx = priv;
struct sc_data *sc = ctx-dev-sc;
struct vpe_q_data *d_q_data = ctx-q_data[Q_DATA_DST];
+   struct vpe_q_data *s_q_data = ctx-q_data[Q_DATA_SRC];
+
+   if (ctx-deinterlacing  s_q_data-flags  Q_DATA_INTERLACED_SEQ_TB 
+   ctx-sequence % 2 == 0) {
+   /* When using SEQ_TB buffers, When using it first time,
+* No need to remove the buffer as the next field is present
+* in the same buffer. (so that 

[RFC] pms/bw-qcam/c-qcam/w9966: deprecate and remove

2014-11-29 Thread Hans Verkuil
I propose that these four drivers are deprecated and moved to staging and that
1-2 kernel cycles later these drivers are removed.

bw-qcam, c-qcam and w9966 are all parallel port webcams. The w9966 driver
hasn't been tested in a very long time since nobody has hardware. I do have
hardware for bw-qcam and c-qcam although the c-qcam never gave me a good 
picture.
I don't know whether that's due to hardware problems or driver problems.

The bw-qcam works for the most part but it can do weird things occasionally,
especially if you fiddle around too much with the camera controls.

All three webcam drivers are useless in practice since the quality and framerate
is so poor. And vastly better cheap alternatives are available today.

These drivers do use the latest frameworks, so from the point-of-view of kernel
APIs they are OK. But it is extremely unlikely that anyone is still using such
webcams and with easy availability of alternatives I think it is time to retire
them.

The pms driver is a video capture ISA card. I do have hardware, although the 
last
time I tested it streaming didn't work anymore for no clear reason. While the
code is OK it has the same issue as the parallel webcams: poor quality and frame
rate, nobody uses it anymore and cheap and much better alternatives exist today.

I believe it is time to retire these four drivers.

Regards,

Hans
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC] tlg2300: deprecate and remove

2014-11-29 Thread Hans Verkuil
I propose that this driver is deprecated and moved to staging and that
1-2 kernel cycles later this driver is removed.

The reason for this is that hardware for this driver is impossible to find
anymore. I had one USB stick but it broke and I have been unable to find
another. The company behind the chip is gone for many years and cheap
alternatives are easily available.

This driver is still using vb1 and ioctl instead of unlocked_ioctl, and without
hardware this will be difficult if not impossible to fix. I am not aware of
any active users of this driver.

In my view it is time to retire this driver. The lack of hardware and users
and the fact that it uses deprecated APIs makes it a good candidate to removal.

Regards,

Hans
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ISDB caption support

2014-11-29 Thread Mauro Carvalho Chehab
Em Fri, 28 Nov 2014 22:23:13 -0500
Devin Heitmueller dheitmuel...@kernellabs.com escreveu:

  I realize captions is an application-layer function, and intend to work with
  the CCExtractor team. Do any other applications already have ISDB caption
  support?

I never actually checked how CC works on ISDB-T. On the MPEG-TS
tables I worked so far, ISDB-T is very close to DVB, so I would
expect that CC would also be close to the DVB descriptors for it,
but, as I said, I never actually read that part of the ARIB/ABNT
specs.

 Based on a Google search, it looks like dvbviewer can decode them:
 
 http://www.dvbviewer.tv/forum/topic/41933-brazilian-terrestrial-isdb-tb-subtitles-closed-caption/
 http://www.dvbviewer.com/en/index.php
 
 It's not open source, and it's not Linux, but at least it may give you
 something to compare against if you want to build the functionality
 yourself.
 
  For DVB and ATSC there's quite a bit of code written by several people for
  teletext and captions -- has anything at all been done for ISDB captions?
 
 Not to my knowledge.  I've done a ton of work with CC decoding in VLC,
 but haven't poked around at the other formats.
 
  It's used in nearly all of Central and South America, plus the Philippines
  and of course Japan -- you would have thought someone has started on the
  task?
 
 From what I understand, most terrestrial TV in Japan is encrypted, so
 you're likely to not find many open source solutions which targeted at
 that market.  Presumably there is less of that in Brazil (why else
 would Mauro be doing all that ISDB-T work if there was no way to watch
 the actual video?).
 
  We're looking for a good solution for capturing television in Brazil, when
  the signal is encrypted -- are there set-top boxes or tv capture cards that
  handle the decryption so that the decoded signal is passed on with the
  ISDB-Tb caption stream intact?

I'm not aware of any device that handles encryption in Brazil. Cryptography
is used only in Japan standard, as far as I know.

All channels here are in clear, at least for video/audio streams, but,
as I said, I never tried to work with CC for ISDB-T. Yet, I would find really
weird if just CC is encrypted.

 
 This would be very unusual.  Satellite captioning often has the same
 issues - the decoders only support overlaying the captions over the
 video and provide no means to access the underlying data.
 
 Devin
 
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 02/14] Documentation: leds: Add description of LED Flash class extension

2014-11-29 Thread Pavel Machek
Hi!

 +Flash LED handling under Linux
 +==
 +
 +Some LED devices support two modes - torch and flash. The modes are
 +supported by the LED class (see Documentation/leds/leds-class.txt)
 +and LED Flash class respectively.
 +
 +In order to enable support for flash LEDs CONFIG_LEDS_CLASS_FLASH symbol
 +must be defined in the kernel config. A flash LED driver must register
 +in the LED subsystem with led_classdev_flash_register to gain flash
 +capabilities.
 +
 +Following sysfs attributes are exposed for controlling flash led devices:
 +
 + - flash_brightness - flash LED brightness in microamperes (RW)
 + - max_flash_brightness - maximum available flash LED brightness (RO)
 + - indicator_brightness - privacy LED brightness in microamperes (RW)
 + - max_indicator_brightness - maximum privacy LED brightness in
 +  microamperes (RO)
 + - flash_timeout - flash strobe duration in microseconds (RW)
 + - max_flash_timeout - maximum available flash strobe duration (RO)
 + - flash_strobe - flash strobe state (RW)
 + - flash_sync_strobe - one flash device can control more than one
 +   sub-led; when this atrribute is set to 1
 +   the flash led will be strobed synchronously
 +   with the other ones controlled by the same
 +   device (RW)

This is not really clear. Does flash_timeout or flash_brightness need
to be set, first?

Do we really want to have separate indicator brightnesses in uA?
Should we maybe reuse existing brightness parameter for torch and
indication, maybe adding single (RO) indicator_brightness attribute?

 + - flash_fault - bitmask of flash faults that may have occurred,
 + possible flags are:
 + * 0x01 - flash controller voltage to the flash LED has exceeded
 +  the limit specific to the flash controller
 + * 0x02 - the flash strobe was still on when the timeout set by
 +  the user has expired; not all flash controllers may
 +  set this in all such conditions
 + * 0x04 - the flash controller has overheated
 + * 0x08 - the short circuit protection of the flash controller
 +  has been triggered
 + * 0x10 - current in the LED power supply has exceeded the limit
 +  specific to the flash controller
 + * 0x40 - flash controller voltage to the flash LED has been
 +  below the minimum limit specific to the flash
 + * 0x80 - the input voltage of the flash controller is below
 +  the limit under which strobing the flash at full
 +  current will not be possible. The condition persists
 +  until this flag is no longer set
 + * 0x100 - the temperature of the LED has exceeded its allowed
 +   upper limit

How are faults cleared? Should it be list of strings, instead of
bitmask? We may want to add new fault modes in future...

Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 04/14] v4l2-async: change custom.match callback argument type

2014-11-29 Thread Pavel Machek
On Fri 2014-11-28 10:17:56, Jacek Anaszewski wrote:
 It is useful to have an access to the async sub-device
 being matched, not only to the related struct device.
 Change match callback argument from struct device
 to struct v4l2_subdev. It will allow e.g. for matching
 a sub-device by its name property.
 
 Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
 Acked-by: Kyungmin Park kyungmin.p...@samsung.com
 Cc: Guennadi Liakhovetski g.liakhovet...@gmx.de
 Cc: Laurent Pinchart laurent.pinch...@ideasonboard.com
 Cc: Hans Verkuil hans.verk...@cisco.com

Acked-by: Pavel Machek pa...@ucw.cz
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 07/14] exynos4-is: Add support for v4l2-flash subdevs

2014-11-29 Thread Pavel Machek
On Fri 2014-11-28 10:17:59, Jacek Anaszewski wrote:
 This patch adds suppport for external v4l2-flash devices.
 The support includes parsing flashes Device Tree property
 and asynchronous subdevice registration.
 
 Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
 Acked-by: Kyungmin Park kyungmin.p...@samsung.com
 Cc: Sylwester Nawrocki s.nawro...@samsung.com

Acked-by: Pavel Machek pa...@ucw.cz

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ISDB caption support

2014-11-29 Thread Akihiro TSUKADA
 I realize captions is an application-layer function, and intend to work
 with the CCExtractor team. Do any other applications already have ISDB
 caption support?

there's a mplayer patch for subtitle support:
https://github.com/0p1pp1/mplayer/commit/6debc831d34cad98d1b251920fbdb48f74a880df

It translates subtitle stream PES to ASS, but is is for ISDB-T/Japan.
Subtitling in ISDB-T depends heavily on the control sequences
of the original character encoding (ARIB STD-B24),
so I'm afraid that (at least) PES format is very different in ISDB-Tb. 

regards,
akihiro
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 04/14] v4l2-async: change custom.match callback argument type

2014-11-29 Thread Laurent Pinchart
Hi Jacek,

Thank you for the patch.

On Friday 28 November 2014 10:17:56 Jacek Anaszewski wrote:
 It is useful to have an access to the async sub-device
 being matched, not only to the related struct device.
 Change match callback argument from struct device
 to struct v4l2_subdev. It will allow e.g. for matching
 a sub-device by its name property.

In principle I agree. However, we will need to reimplement v4l2-async based on 
the component (drivers/base/component.c) framework at some point. As the 
component framework is based on struct device, will it still be possible to 
match on subdev name in that case ? If not, we might need to try to find 
another approach to the issue.

 Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
 Acked-by: Kyungmin Park kyungmin.p...@samsung.com
 Cc: Guennadi Liakhovetski g.liakhovet...@gmx.de
 Cc: Laurent Pinchart laurent.pinch...@ideasonboard.com
 Cc: Hans Verkuil hans.verk...@cisco.com
 ---
  drivers/media/v4l2-core/v4l2-async.c |   16 
  include/media/v4l2-async.h   |2 +-
  2 files changed, 9 insertions(+), 9 deletions(-)
 
 diff --git a/drivers/media/v4l2-core/v4l2-async.c
 b/drivers/media/v4l2-core/v4l2-async.c index 85a6a34..8140992 100644
 --- a/drivers/media/v4l2-core/v4l2-async.c
 +++ b/drivers/media/v4l2-core/v4l2-async.c
 @@ -22,10 +22,10 @@
  #include media/v4l2-device.h
  #include media/v4l2-subdev.h
 
 -static bool match_i2c(struct device *dev, struct v4l2_async_subdev *asd)
 +static bool match_i2c(struct v4l2_subdev *sd, struct v4l2_async_subdev
 *asd) {
  #if IS_ENABLED(CONFIG_I2C)
 - struct i2c_client *client = i2c_verify_client(dev);
 + struct i2c_client *client = i2c_verify_client(sd-dev);
   return client 
   asd-match.i2c.adapter_id == client-adapter-nr 
   asd-match.i2c.address == client-addr;
 @@ -34,14 +34,14 @@ static bool match_i2c(struct device *dev, struct
 v4l2_async_subdev *asd) #endif
  }
 
 -static bool match_devname(struct device *dev, struct v4l2_async_subdev
 *asd) +static bool match_devname(struct v4l2_subdev *sd, struct
 v4l2_async_subdev *asd) {
 - return !strcmp(asd-match.device_name.name, dev_name(dev));
 + return !strcmp(asd-match.device_name.name, dev_name(sd-dev));
  }
 
 -static bool match_of(struct device *dev, struct v4l2_async_subdev *asd)
 +static bool match_of(struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)
 {
 - return dev-of_node == asd-match.of.node;
 + return sd-dev-of_node == asd-match.of.node;
  }
 
  static LIST_HEAD(subdev_list);
 @@ -52,7 +52,7 @@ static struct v4l2_async_subdev *v4l2_async_belongs(struct
 v4l2_async_notifier * struct v4l2_subdev *sd)
  {
   struct v4l2_async_subdev *asd;
 - bool (*match)(struct device *, struct v4l2_async_subdev *);
 + bool (*match)(struct v4l2_subdev *, struct v4l2_async_subdev *);
 
   list_for_each_entry(asd, notifier-waiting, list) {
   /* bus_type has been verified valid before */
 @@ -79,7 +79,7 @@ static struct v4l2_async_subdev *v4l2_async_belongs(struct
 v4l2_async_notifier * }
 
   /* match cannot be NULL here */
 - if (match(sd-dev, asd))
 + if (match(sd, asd))
   return asd;
   }
 
 diff --git a/include/media/v4l2-async.h b/include/media/v4l2-async.h
 index 7683569..1c0b586 100644
 --- a/include/media/v4l2-async.h
 +++ b/include/media/v4l2-async.h
 @@ -51,7 +51,7 @@ struct v4l2_async_subdev {
   unsigned short address;
   } i2c;
   struct {
 - bool (*match)(struct device *,
 + bool (*match)(struct v4l2_subdev *,
 struct v4l2_async_subdev *);
   void *priv;
   } custom;

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] media: usb: uvc: use vb2_ops_wait_prepare/finish helper

2014-11-29 Thread Laurent Pinchart
Hi Prabhakar,

On Friday 28 November 2014 17:06:52 Prabhakar Lad wrote:
 On Thu, Nov 27, 2014 at 9:32 PM, Laurent Pinchart wrote:
  Hi Prabhakar,
 
 [Snip]
 
  + queue-queue.lock = queue-mutex;
  
  I'm a bit concerned that this would introduce future breakages. Setting
  the queue.lock pointer enables locking in all vb2_fop_* and vb2_ops_wait_*
  functions. The uvcvideo driver isn't ready for that, but doesn't use the
  vb2_fop_* functions yet, so that's not an issue. However, in the future,
  videobuf2 might use the lock in more places, including functions used by
  the uvcvideo driver. This could then cause breakages.
 
 Even if in future if videobuf2 uses this lock it would be in helpers mostly,
 so any way it doesn’t harm :)

My concern is about vb2 starting using the lock in existing helpers used by 
the uvcvideo driver. I suppose we can deal with it later.

  It would be better to completely convert the uvcvideo driver to the
  vb2_fop_* functions if we want to use vb2_ops_*. I'm not sure how complex
  that would be though, and whether it would be possible while still
  keeping the fine-grained locking implemented by the uvcvideo driver. Do
  you think it should be attempted ?
 
 mmap  poll should be fairly simple, looks like open  release cannot be
 dropped as it does some usb_autopm_get/put_interface() calls which I am not
 aware of.

I've looked at that, and there's a race condition in vb2_fop_poll() (for which 
I've already sent a patch) and possible in vb2_mmap() (raised the issue on 
#v4l today) as well that need to be fixed first.

Anyway, for this patch

Acked-by: Laurent Pinchart laurent.pinch...@ideasonboard.com

Have you tested it by the way ?

Should I take it in my tree or will you send a pull request for the whole 
series ?

ret = vb2_queue_init(queue-queue);
if (ret)
return ret;

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v3] media: usb: uvc: use vb2_ops_wait_prepare/finish helper

2014-11-29 Thread Prabhakar Lad
Hi Laurent,

On Sat, Nov 29, 2014 at 6:11 PM, Laurent Pinchart
laurent.pinch...@ideasonboard.com wrote:
 Hi Prabhakar,

 On Friday 28 November 2014 17:06:52 Prabhakar Lad wrote:
 On Thu, Nov 27, 2014 at 9:32 PM, Laurent Pinchart wrote:
  Hi Prabhakar,

 [Snip]

  + queue-queue.lock = queue-mutex;
 
  I'm a bit concerned that this would introduce future breakages. Setting
  the queue.lock pointer enables locking in all vb2_fop_* and vb2_ops_wait_*
  functions. The uvcvideo driver isn't ready for that, but doesn't use the
  vb2_fop_* functions yet, so that's not an issue. However, in the future,
  videobuf2 might use the lock in more places, including functions used by
  the uvcvideo driver. This could then cause breakages.

 Even if in future if videobuf2 uses this lock it would be in helpers mostly,
 so any way it doesn’t harm :)

 My concern is about vb2 starting using the lock in existing helpers used by
 the uvcvideo driver. I suppose we can deal with it later.

  It would be better to completely convert the uvcvideo driver to the
  vb2_fop_* functions if we want to use vb2_ops_*. I'm not sure how complex
  that would be though, and whether it would be possible while still
  keeping the fine-grained locking implemented by the uvcvideo driver. Do
  you think it should be attempted ?

 mmap  poll should be fairly simple, looks like open  release cannot be
 dropped as it does some usb_autopm_get/put_interface() calls which I am not
 aware of.

 I've looked at that, and there's a race condition in vb2_fop_poll() (for which
 I've already sent a patch) and possible in vb2_mmap() (raised the issue on
 #v4l today) as well that need to be fixed first.

 Anyway, for this patch

 Acked-by: Laurent Pinchart laurent.pinch...@ideasonboard.com

 Have you tested it by the way ?

I have just compile tested it.

 Should I take it in my tree or will you send a pull request for the whole
 series ?

Probably you can pick this up via your tree.

Thanks,
--Prabhakar Lad

ret = vb2_queue_init(queue-queue);
if (ret)
return ret;

 --
 Regards,

 Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] media: v4l2-subdev.h: drop the guard CONFIG_VIDEO_V4L2_SUBDEV_API for v4l2_subdev_get_try_*()

2014-11-29 Thread Prabhakar Lad
Hi Laurent,

On Tue, Nov 18, 2014 at 6:07 PM, Sakari Ailus sakari.ai...@iki.fi wrote:
 Hi Hans and Prabhakar,

 On Tue, Nov 18, 2014 at 10:39:24AM +0100, Hans Verkuil wrote:
 On 11/17/14 11:41, Lad, Prabhakar wrote:
  this patch removes the guard CONFIG_VIDEO_V4L2_SUBDEV_API
  for v4l2_subdev_get_try_*() functions.
  In cases where a subdev using v4l2_subdev_get_try_*() calls
  internally and the bridge using subdev pad ops which is
  not MC aware forces to select MEDIA_CONTROLLER, as
  VIDEO_V4L2_SUBDEV_API is dependent on it.
 
  Signed-off-by: Lad, Prabhakar prabhakar.cse...@gmail.com
  ---
   include/media/v4l2-subdev.h | 2 --
   1 file changed, 2 deletions(-)
 
  diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
  index 5860292..076ca11 100644
  --- a/include/media/v4l2-subdev.h
  +++ b/include/media/v4l2-subdev.h
  @@ -642,7 +642,6 @@ struct v4l2_subdev_fh {
   #define to_v4l2_subdev_fh(fh)  \
  container_of(fh, struct v4l2_subdev_fh, vfh)
 
  -#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)
   #define __V4L2_SUBDEV_MK_GET_TRY(rtype, fun_name, field_name) 
   \
  static inline struct rtype *\
  v4l2_subdev_get_try_##fun_name(struct v4l2_subdev_fh *fh,   \
  @@ -656,7 +655,6 @@ struct v4l2_subdev_fh {
   __V4L2_SUBDEV_MK_GET_TRY(v4l2_mbus_framefmt, format, try_fmt)
   __V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, crop, try_crop)
   __V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, compose, try_compose)
  -#endif
 
   extern const struct v4l2_file_operations v4l2_subdev_fops;
 
 

 The problem is that v4l2_subdev_get_try_*() needs a v4l2_subdev_fh which
 you don't have if CONFIG_VIDEO_V4L2_SUBDEV_API is not defined. So I don't
 see how removing the guards help with that.

 What can be done is that if CONFIG_VIDEO_V4L2_SUBDEV_API is not defined,
 then these functions return NULL.

 Sure. That's a better choice than removing the config option dependency of
 the fields struct v4l2_subdev.

 BTW, one patch I will very happily accept is one where the 
 __V4L2_SUBDEV_MK_GET_TRY
 is removed and these three try functions are just written as proper
 static inlines. I find it very obfuscated code.

 I originally wrote them like that in order to avoid writing essentially the
 same code three times over. If there will be more targets, the same repeats
 further, should one write those functions open for all different macro
 arguments. That's why it was a macro to begin with.

 In addition, because it is a macro you won't find the function definitions
 if you grep on the function name.

 True as well. You could simply change the macro to include the full function
 name. This was not suggested in review back then AFAIR.

 But any functional changes here need to be Acked by Laurent first.


How do you want me to proceed on this ?

Thanks,
--Prabhakar Lad
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 12/14] leds: Add driver for AAT1290 current regulator

2014-11-29 Thread Pavel Machek
Hi!


 @@ -0,0 +1,472 @@
 +/*
 + *   LED Flash class driver for the AAT1290
 + *   1.5A Step-Up Current Regulator for Flash LEDs
 + *
 + *   Copyright (C) 2014, Samsung Electronics Co., Ltd.
 + *   Author: Jacek Anaszewski j.anaszew...@samsung.com
 + *
 + * This program is free software; you can redistribute it and/or
 + * modify it under the terms of the GNU General Public License
 + * version 2 as published by the Free Software Foundation.
 + */
 +

 +#define AAT1290_MM_TO_FL_1_921
 +#define AAT1290_MM_TO_FL_3_7 2
 +#define AAT1290_MM_TO_FL_5_5 3
 +#define AAT1290_MM_TO_FL_7_3 4
 +#define AAT1290_MM_TO_FL_9   5
 +#define AAT1290_MM_TO_FL_10_76
 +#define AAT1290_MM_TO_FL_12_47
 +#define AAT1290_MM_TO_FL_14  8
 +#define AAT1290_MM_TO_FL_15_99
 +#define AAT1290_MM_TO_FL_17_510
 +#define AAT1290_MM_TO_FL_19_111
 +#define AAT1290_MM_TO_FL_20_812
 +#define AAT1290_MM_TO_FL_22_413
 +#define AAT1290_MM_TO_FL_24  14
 +#define AAT1290_MM_TO_FL_25_615
 +#define AAT1290_MM_TO_FL_OFF 16

Only one of these defines is unused.

 +static struct of_device_id aat1290_led_dt_match[] = {

 + {.compatible = skyworks,aat1290},

spaces after { and before } ?

Otherwise looks ok, 

Signed-off-by: Pavel Machek pa...@ucw.cz

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] media: v4l2-subdev.h: drop the guard CONFIG_VIDEO_V4L2_SUBDEV_API for v4l2_subdev_get_try_*()

2014-11-29 Thread Laurent Pinchart
Hi Prabhakar,

On Saturday 29 November 2014 18:30:09 Prabhakar Lad wrote:
 On Tue, Nov 18, 2014 at 6:07 PM, Sakari Ailus sakari.ai...@iki.fi wrote:
  On Tue, Nov 18, 2014 at 10:39:24AM +0100, Hans Verkuil wrote:
  On 11/17/14 11:41, Lad, Prabhakar wrote:
   this patch removes the guard CONFIG_VIDEO_V4L2_SUBDEV_API
   for v4l2_subdev_get_try_*() functions.
   In cases where a subdev using v4l2_subdev_get_try_*() calls
   internally and the bridge using subdev pad ops which is
   not MC aware forces to select MEDIA_CONTROLLER, as
   VIDEO_V4L2_SUBDEV_API is dependent on it.
   
   Signed-off-by: Lad, Prabhakar prabhakar.cse...@gmail.com
   ---
   
include/media/v4l2-subdev.h | 2 --
1 file changed, 2 deletions(-)
   
   diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
   index 5860292..076ca11 100644
   --- a/include/media/v4l2-subdev.h
   +++ b/include/media/v4l2-subdev.h
   @@ -642,7 +642,6 @@ struct v4l2_subdev_fh {
#define to_v4l2_subdev_fh(fh)  \
   container_of(fh, struct v4l2_subdev_fh, vfh)
   
   -#if defined(CONFIG_VIDEO_V4L2_SUBDEV_API)
#define __V4L2_SUBDEV_MK_GET_TRY(rtype, fun_name, field_name) 
\
   static inline struct rtype *\
   v4l2_subdev_get_try_##fun_name(struct v4l2_subdev_fh *fh,   \
   
   @@ -656,7 +655,6 @@ struct v4l2_subdev_fh {
__V4L2_SUBDEV_MK_GET_TRY(v4l2_mbus_framefmt, format, try_fmt)
__V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, crop, try_crop)
__V4L2_SUBDEV_MK_GET_TRY(v4l2_rect, compose, try_compose)
   -#endif
   
extern const struct v4l2_file_operations v4l2_subdev_fops;
  
  The problem is that v4l2_subdev_get_try_*() needs a v4l2_subdev_fh which
  you don't have if CONFIG_VIDEO_V4L2_SUBDEV_API is not defined. So I don't
  see how removing the guards help with that.
  
  What can be done is that if CONFIG_VIDEO_V4L2_SUBDEV_API is not defined,
  then these functions return NULL.
  
  Sure. That's a better choice than removing the config option dependency of
  the fields struct v4l2_subdev.

Decoupling CONFIG_VIDEO_V4L2_SUBDEV_API from the availability of the in-kernel 
pad format and selection rectangles helpers is definitely a good idea. I was 
thinking about decoupling the try format and rectangles from v4l2_subdev_fh by 
creating a kind of configuration store structure to store them, and embedding 
that structure in v4l2_subdev_fh. The pad-level operations would then take a 
pointer to the configuration store instead of the v4l2_subdev_fh. Bridge 
drivers that want to implement TRY_FMT based on pad-level operations would 
create a configuration store, use the pad-level operations, and destroy the 
configuration store. The userspace subdev API would use the configuration 
store from the file handle.

  BTW, one patch I will very happily accept is one where the
  __V4L2_SUBDEV_MK_GET_TRY is removed and these three try functions are
  just written as proper static inlines. I find it very obfuscated code.
  
  I originally wrote them like that in order to avoid writing essentially
  the same code three times over. If there will be more targets, the same
  repeats further, should one write those functions open for all different
  macro arguments. That's why it was a macro to begin with.
  
  In addition, because it is a macro you won't find the function
  definitions if you grep on the function name.
  
  True as well. You could simply change the macro to include the full
  function name. This was not suggested in review back then AFAIR.
  
  But any functional changes here need to be Acked by Laurent first.
 
 How do you want me to proceed on this ?

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 11/14] DT: Add documentation for the mfd Maxim max77693

2014-11-29 Thread Pavel Machek
Hi!

 diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt 
 b/Documentation/devicetree/bindings/mfd/max77693.txt
 index 01e9f30..50a8dad 100644
 --- a/Documentation/devicetree/bindings/mfd/max77693.txt
 +++ b/Documentation/devicetree/bindings/mfd/max77693.txt
 @@ -41,6 +41,62 @@ Optional properties:
To get more informations, please refer to documentaion.
   [*] refer Documentation/devicetree/bindings/pwm/pwm.txt
  
 +- led-flash : the LED submodule device node
 +
 +There are two led outputs available - fled1 and fled2. Each of them can
 +control a separate led or they can be connected together to double
 +the maximum current for a single connected led. One led is represented
 +by one child node.
 +
 +Required properties:
 +- compatible : must be maxim,max77693-flash
 +
 +Optional properties:
 +- maxim,fleds : array of current outputs in order: fled1, fled2
 + Note: both current outputs can be connected to a single led
 + Possible values:
 + 0 - the output is left disconnected,
 + 1 - a diode is connected to the output.

Is this one needed? Just ommit child note if it is not there.

 +- maxim,trigger-type : Array of trigger types in order: flash, torch
 + Possible trigger types:
 + 0 - Rising edge of the signal triggers the flash/torch,
 + 1 - Signal level controls duration of the flash/torch.
 +- maxim,trigger : Array of flags indicating which trigger can activate given 
 led
 + in order: fled1, fled2
 + Possible flag values (can be combined):
 + 1 - FLASH pin of the chip,
 + 2 - TORCH pin of the chip,
 + 4 - software via I2C command.

Is it good idea to have bitfields like this?

Make these required properties of the subnode?
Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: ISDB caption support

2014-11-29 Thread Mauro Carvalho Chehab
HI David,

Em Sat, 29 Nov 2014 08:17:30 -0800
David Liontooth lionte...@cogweb.net escreveu:

 
 Hi Mauro,
 
 Thank you; that's extremely helpful. We are looking into how much work it 
 will be to write an ISDB-Tb captioning decoder for CCExtractor.
 
 Can we find a list of television capture hardware devices known to work in 
 Brazil? Our friends in Rio are new to all this, and
 
linux/Documentation/dvb# grep -i ISDB *
 
 finds nothing. I'm aware of Linux TV's list of ISDB resources, but they don't 
 specify ISDB subtype (ISDB-Tb) -- are they interchangeable?

Yes, the demod here is the same as the ones used in Japan. The only
difference is that the devices sold in Japan has the additional crypto
modules.

There are drivers that supports ISDB-T:

$ git grep -l SYS_ISDBT|grep -v tuners
Documentation/DocBook/media/dvb/dvbproperty.xml
drivers/media/common/siano/smsdvb-main.c
drivers/media/dvb-core/dvb_frontend.c
drivers/media/dvb-frontends/dib0070.c
drivers/media/dvb-frontends/dib0090.c
drivers/media/dvb-frontends/dib8000.c
drivers/media/dvb-frontends/mb86a20s.c
drivers/media/dvb-frontends/s921.c
drivers/media/dvb-frontends/tc90522.c
drivers/media/pci/pt1/va1j5jf8007t.c
drivers/media/pci/pt3/pt3.c
drivers/media/usb/dvb-usb/friio-fe.c
include/uapi/linux/dvb/frontend.h

I never found any PT1 or PT3 devices here. The friio is also sold
only in Japan, afaikt. The devices based on s921 are really crap
(and only 1seg).

So, basically the devices supported are based on either one of
those demods:
Dibcom 80xx
Toshiba mb86a20s
Siano Rio

I suspect that the easier ones to find nowadays are the PixelView ones
that are based on cx231xx/mb86a20s:
PixelView PlayTV USB 2.0 SBTVD Full-Seg - PV-D231U(RN)-F

Not the best ISDB-T chip, but it works if they have a good antenna.
There are other devices too, but the brand names change a lot, and,
as I didn't buy or received any new isdb-t devices those days, I'm
unsure what other devices have inside.

If your friends want, they could ping me back and I can try to help
them to find some devices.

With regards to CC decoding, IMHO, the best would be to add a parser
for ISDB CC at libdvbv5.

Regards,
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH/RFC v8 03/14] Documentation: leds: Add description of v4l2-flash sub-device

2014-11-29 Thread Sakari Ailus
On Fri, Nov 28, 2014 at 10:17:55AM +0100, Jacek Anaszewski wrote:
 This patch extends LED Flash class documention by
 the description of interactions with v4l2-flash sub-device.
 
 Signed-off-by: Jacek Anaszewski j.anaszew...@samsung.com
 Acked-by: Kyungmin Park kyungmin.p...@samsung.com
 Cc: Bryan Wu coolo...@gmail.com
 Cc: Richard Purdie rpur...@rpsys.net

Acked-by: Sakari Ailus sakari.ai...@linux.intel.com

-- 
Sakari Ailus
e-mail: sakari.ai...@iki.fi XMPP: sai...@retiisi.org.uk
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


cron job: media_tree daily build: WARNINGS

2014-11-29 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for
the kernels and architectures in the list below.

Results of the daily build of media_tree:

date:   Sun Nov 30 04:00:15 CET 2014
git branch: test
git hash:   504febc3f98c87a8bebd8f2f274f32c0724131e4
gcc version:i686-linux-gcc (GCC) 4.9.1
sparse version: v0.5.0-35-gc1c3f96
smatch version: 0.4.1-3153-g7d56ab3
host hardware:  x86_64
host os:3.17-3.slh.2-amd64

linux-git-arm-at91: OK
linux-git-arm-davinci: OK
linux-git-arm-exynos: OK
linux-git-arm-mx: OK
linux-git-arm-omap: OK
linux-git-arm-omap1: OK
linux-git-arm-pxa: OK
linux-git-blackfin: OK
linux-git-i686: OK
linux-git-m32r: OK
linux-git-mips: OK
linux-git-powerpc64: OK
linux-git-sh: OK
linux-git-x86_64: WARNINGS
linux-2.6.32.27-i686: OK
linux-2.6.33.7-i686: OK
linux-2.6.34.7-i686: OK
linux-2.6.35.9-i686: OK
linux-2.6.36.4-i686: OK
linux-2.6.37.6-i686: OK
linux-2.6.38.8-i686: OK
linux-2.6.39.4-i686: OK
linux-3.0.60-i686: OK
linux-3.1.10-i686: OK
linux-3.2.37-i686: OK
linux-3.3.8-i686: OK
linux-3.4.27-i686: OK
linux-3.5.7-i686: OK
linux-3.6.11-i686: OK
linux-3.7.4-i686: OK
linux-3.8-i686: OK
linux-3.9.2-i686: OK
linux-3.10.1-i686: OK
linux-3.11.1-i686: OK
linux-3.12.23-i686: OK
linux-3.13.11-i686: OK
linux-3.14.9-i686: OK
linux-3.15.2-i686: OK
linux-3.16-i686: OK
linux-3.17-i686: OK
linux-3.18-rc1-i686: OK
linux-2.6.32.27-x86_64: OK
linux-2.6.33.7-x86_64: OK
linux-2.6.34.7-x86_64: OK
linux-2.6.35.9-x86_64: OK
linux-2.6.36.4-x86_64: OK
linux-2.6.37.6-x86_64: OK
linux-2.6.38.8-x86_64: OK
linux-2.6.39.4-x86_64: OK
linux-3.0.60-x86_64: OK
linux-3.1.10-x86_64: OK
linux-3.2.37-x86_64: OK
linux-3.3.8-x86_64: OK
linux-3.4.27-x86_64: OK
linux-3.5.7-x86_64: OK
linux-3.6.11-x86_64: OK
linux-3.7.4-x86_64: OK
linux-3.8-x86_64: OK
linux-3.9.2-x86_64: OK
linux-3.10.1-x86_64: OK
linux-3.11.1-x86_64: OK
linux-3.12.23-x86_64: OK
linux-3.13.11-x86_64: OK
linux-3.14.9-x86_64: OK
linux-3.15.2-x86_64: OK
linux-3.16-x86_64: OK
linux-3.17-x86_64: OK
linux-3.18-rc1-x86_64: OK
apps: OK
spec-git: OK
sparse: WARNINGS
smatch: ERRORS

Detailed results are available here:

http://www.xs4all.nl/~hverkuil/logs/Sunday.log

Full logs are available here:

http://www.xs4all.nl/~hverkuil/logs/Sunday.tar.bz2

The Media Infrastructure API from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/media.html
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html