Re: old V4L Wiki

2009-07-27 Thread Simon Kenyon

Johannes Stezenbach wrote:

  Namespace Main:
Em2880/remote
  Namespace Talk:
Em2820
  Namespace User:
MarkusRechberger/Bugs
  

could these be put somewhere?
--
simon
--
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: [linux-dvb] Help Request: DM1105 STV0299 DVB-S PCI - Unable to tune

2009-07-27 Thread Shaun Murdoch
Hi,

Thanks for the help so far. I did a hg clone of the latest v4l-dvb
repository, built, installed, rebooted a few times, and did the
modprobe below, but unfortunately I still can't lock:

Here's the scan output:

$ sudo ../scan -vvv test
scanning test
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 1122 H 2750 2
 tune to: 11220:h:0:27500
DiSEqC: switch pos 0, 18V, loband (index 1)
diseqc_send_msg:59: DiSEqC: e0 10 38 f2 00 00
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
 tuning status == 0x03
WARNING:  tuning failed!!!
 tune to: 11220:h:0:27500 (tuning failed)

Interestingly, since changing the drivers, the STV0299 is mapping
against a weird frontend:
[   12.633254] DVB: registering adapter 0 frontend 28036848 (ST
STV0299 DVB-S)...

Could this be a problem?

Thanks,
Shaun



2009/7/26 Igor M. Liplianin liplia...@me.by:
 On 26 июля 2009 01:12:14 Shaun Murdoch wrote:
 Hi Igor,

 I've taken some photos of the tuner so that hopefully you'll be able
 to help work out why it won't tune in Linux.

 Please see the following link for the images:
 http://www.flickr.com/photos/7690...@n04/sets/72157621703527801/
 I have a few dm1105 based cards, but yours looks different from mine.


 The only chip on display is:
 SDMC
 DM1105N
 D735  E280034
 Please try recent v4l-dvb, as I've commited some change.
 Now You can try
        modprobe dm1105 card=1

 Also - I tested the card in a Windows box today, so I am now certain
 that both the card and the satellite connection are OK. The settings
 that work with Windows (frequency, etc), don't lock in Linux. (I do
 get a good signal reading in Kaffeine that is the same as Windows
 gives, but no lock.)

 I hope this will help you work out what is wrong.

 Thanks!
 Shaun

 2009/7/22 Igor M. Liplianin liplia...@me.by:
  On 22 июля 2009 21:43:01 Shaun Murdoch wrote:
  Hi,
 
  Thanks for the suggestion.
 
  I think there's something a bit weird with dvbtune. According to it's
  man page the units for frequency (-f) are Hz. I am trying to tell it
  11.778 GHz - but you get errors if you do -f 1177800. Equally you
  also get errors if you assume it is MHz, i.e. -f 11778.   Anyway, if
  it prints FE_HAS_SIGNAL and FE_HAS_CARRIER that must mean the
  frequency I gave it is OK?
 
  In any case, scan doesn't work, nor does Kaffeine, so I don't think
  it's that my use of dvbtune is wrong.
 
  Anyone got any other suggestions on what I can do to get this to lock?
 
  Thanks,
  Shaun
 
  2009/7/22 Seyyed Mohammad mohammadzadeh softnhard...@gmail.com:
   Hello,
  
   I don't know what is the exact cause of your problem but I think you
   are tuning to a wrong frequency. You wrote:
  
    dvbtune -f 1177800 -s 27500 -p v -m
  
   in which the frequency parameters has two extra zeros which cause the
   frequency to interpret as : 1,177,800 MHz !!!
  
   2009/7/22 Shaun Murdoch scra...@gmail.com
  
   Hi everyone,
   First post so please be gentle :-)
   I was wondering if anyone can help me please - I am trying to get a
   DVB-S PCI card working with Linux (Ubuntu 9.04). So far I can get the
   card recognised by Linux, but it won't tune - Kaffeine does tell me
   that there is 95% signal and 80% SNR, and I am using the same
   frequencies etc that a standard Sky box uses. The card is very common
   on eBay so I am sure there are plenty people who have tried this /
   would want this working. Some details that I hope will help someone
   who knows more than I do about this! The card is one of these:
   http://cgi.ebay.co.uk/DVB-S-Satellite-TV-Tuner-Video-Capture-PCI-Card
  -Re
   mote_W0QQitemZ130314645048QQcmdZViewItemQQptZUK_Computing_Computer_Co
  mpon
   ents_Graphics_Video_TV_Cards_TW?hash=item1e575bae38_trksid=p3286.c0.
  m14 _trkparms=65:12|66:2|39:1|72:1690|293:1|294:50 lspci:
   03:09.0 Ethernet controller: Device 195d:1105 (rev 10)
   My dmesg output - looks ok?:
  
   $ dmesg | grep DVB
   [   12.174738] DVB: registering new adapter (dm1105)
   [   12.839501] DVB: registering adapter 0 frontend 0 (ST STV0299
   DVB-S)... [   12.839633] input: DVB on-card IR receiver as
   /devices/pci:00/:00:1e.0/:03:09.0/input/input
  
   My output from scan - the problem:
  
   $ sudo scan -vv /usr/share/dvb/dvb-s/Astra-28.2E
   scanning /usr/share/dvb/dvb-s/Astra-28.2E
   using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
  
tune to: 11778:v:0:27500
  
   DiSEqC: switch pos 0, 13V, hiband (index 2)
   diseqc_send_msg:56: DiSEqC: e0 10 38 f1 00 00
   DVB-S IF freq is 1178000
  
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
tuning status == 0x03
  
   

[PATCHv12 1/8] v4l2-subdev.h: Add g_modulator callbacks to subdev api

2009-07-27 Thread Eduardo Valentin
Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/include/media/v4l2-subdev.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/linux/include/media/v4l2-subdev.h 
b/linux/include/media/v4l2-subdev.h
index 89a39ce..d411345 100644
--- a/linux/include/media/v4l2-subdev.h
+++ b/linux/include/media/v4l2-subdev.h
@@ -137,6 +137,8 @@ struct v4l2_subdev_tuner_ops {
int (*g_frequency)(struct v4l2_subdev *sd, struct v4l2_frequency *freq);
int (*g_tuner)(struct v4l2_subdev *sd, struct v4l2_tuner *vt);
int (*s_tuner)(struct v4l2_subdev *sd, struct v4l2_tuner *vt);
+   int (*g_modulator)(struct v4l2_subdev *sd, struct v4l2_modulator *vm);
+   int (*s_modulator)(struct v4l2_subdev *sd, struct v4l2_modulator *vm);
int (*s_type_addr)(struct v4l2_subdev *sd, struct tuner_setup *type);
int (*s_config)(struct v4l2_subdev *sd, const struct 
v4l2_priv_tun_config *config);
int (*s_standby)(struct v4l2_subdev *sd);
-- 
1.6.2.GIT

--
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


[PATCHv12 2/8] v4l2: video device: Add V4L2_CTRL_CLASS_FM_TX controls

2009-07-27 Thread Eduardo Valentin
This patch adds a new class of extended controls. This class
is intended to support FM Radio Modulators properties such as:
rds, audio limiters, audio compression, pilot tone generation,
tuning power levels and preemphasis properties.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/include/linux/videodev2.h |   34 ++
 1 files changed, 34 insertions(+), 0 deletions(-)

diff --git a/linux/include/linux/videodev2.h b/linux/include/linux/videodev2.h
index b17898c..c58d453 100644
--- a/linux/include/linux/videodev2.h
+++ b/linux/include/linux/videodev2.h
@@ -817,6 +817,7 @@ struct v4l2_ext_controls {
 #define V4L2_CTRL_CLASS_USER 0x0098/* Old-style 'user' controls */
 #define V4L2_CTRL_CLASS_MPEG 0x0099/* MPEG-compression controls */
 #define V4L2_CTRL_CLASS_CAMERA 0x009a  /* Camera class controls */
+#define V4L2_CTRL_CLASS_FM_TX 0x009b   /* FM Modulator control class */
 
 #define V4L2_CTRL_ID_MASK(0x0fff)
 #define V4L2_CTRL_ID2CLASS(id)((id)  0x0fffUL)
@@ -1156,6 +1157,39 @@ enum  v4l2_exposure_auto_type {
 
 #define V4L2_CID_PRIVACY   (V4L2_CID_CAMERA_CLASS_BASE+16)
 
+/* FM Modulator class control IDs */
+#define V4L2_CID_FM_TX_CLASS_BASE  (V4L2_CTRL_CLASS_FM_TX | 0x900)
+#define V4L2_CID_FM_TX_CLASS   (V4L2_CTRL_CLASS_FM_TX | 1)
+
+#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 1)
+#define V4L2_CID_RDS_TX_PTY(V4L2_CID_FM_TX_CLASS_BASE + 2)
+#define V4L2_CID_RDS_TX_DEVIATION  (V4L2_CID_FM_TX_CLASS_BASE + 3)
+#define V4L2_CID_RDS_TX_PS_NAME
(V4L2_CID_FM_TX_CLASS_BASE + 4)
+#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 5)
+
+#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 6)
+#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME(V4L2_CID_FM_TX_CLASS_BASE + 7)
+#define V4L2_CID_AUDIO_LIMITER_DEVIATION   (V4L2_CID_FM_TX_CLASS_BASE + 8)
+
+#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 9)
+#define V4L2_CID_AUDIO_COMPRESSION_GAIN
(V4L2_CID_FM_TX_CLASS_BASE + 10)
+#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD   (V4L2_CID_FM_TX_CLASS_BASE + 11)
+#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 12)
+#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME
(V4L2_CID_FM_TX_CLASS_BASE + 13)
+
+#define V4L2_CID_PILOT_TONE_ENABLED(V4L2_CID_FM_TX_CLASS_BASE + 14)
+#define V4L2_CID_PILOT_TONE_DEVIATION  (V4L2_CID_FM_TX_CLASS_BASE + 15)
+#define V4L2_CID_PILOT_TONE_FREQUENCY  (V4L2_CID_FM_TX_CLASS_BASE + 16)
+
+#define V4L2_CID_FM_TX_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 17)
+enum v4l2_preemphasis {
+   V4L2_PREEMPHASIS_DISABLED   = 0,
+   V4L2_PREEMPHASIS_50_uS  = 1,
+   V4L2_PREEMPHASIS_75_uS  = 2,
+};
+#define V4L2_CID_TUNE_POWER_LEVEL  (V4L2_CID_FM_TX_CLASS_BASE + 18)
+#define V4L2_CID_TUNE_ANTENNA_CAPACITOR
(V4L2_CID_FM_TX_CLASS_BASE + 19)
+
 /*
  * T U N I N G
  */
-- 
1.6.2.GIT

--
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


[PATCHv12 7/8] FM TX: si4713: Add Kconfig and Makefile entries

2009-07-27 Thread Eduardo Valentin
Simple add Makefile and Kconfig entries.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/drivers/media/radio/Kconfig  |   22 ++
 linux/drivers/media/radio/Makefile |2 ++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/linux/drivers/media/radio/Kconfig 
b/linux/drivers/media/radio/Kconfig
index 3315cac..6c6a409 100644
--- a/linux/drivers/media/radio/Kconfig
+++ b/linux/drivers/media/radio/Kconfig
@@ -339,6 +339,28 @@ config RADIO_ZOLTRIX_PORT
help
  Enter the I/O port of your Zoltrix radio card.
 
+config I2C_SI4713
+   tristate I2C driver for Silicon Labs Si4713 device
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ Say Y here if you want support to Si4713 I2C device.
+ This device driver supports only i2c bus.
+
+ To compile this driver as a module, choose M here: the
+ module will be called si4713.
+
+config RADIO_SI4713
+   tristate Silicon Labs Si4713 FM Radio Transmitter support
+   depends on I2C  VIDEO_V4L2
+   ---help---
+ Say Y here if you want support to Si4713 FM Radio Transmitter.
+ This device can transmit audio through FM. It can transmit
+ EDS and EBDS signals as well. This module is the v4l2 radio
+ interface for the i2c driver of this device.
+
+ To compile this driver as a module, choose M here: the
+ module will be called radio-si4713.
+
 config USB_DSBR
tristate D-Link/GemTek USB FM radio support
depends on USB  VIDEO_V4L2
diff --git a/linux/drivers/media/radio/Makefile 
b/linux/drivers/media/radio/Makefile
index 0f2b35b..34ae761 100644
--- a/linux/drivers/media/radio/Makefile
+++ b/linux/drivers/media/radio/Makefile
@@ -15,6 +15,8 @@ obj-$(CONFIG_RADIO_ZOLTRIX) += radio-zoltrix.o
 obj-$(CONFIG_RADIO_GEMTEK) += radio-gemtek.o
 obj-$(CONFIG_RADIO_GEMTEK_PCI) += radio-gemtek-pci.o
 obj-$(CONFIG_RADIO_TRUST) += radio-trust.o
+obj-$(CONFIG_I2C_SI4713) += si4713-i2c.o
+obj-$(CONFIG_RADIO_SI4713) += radio-si4713.o
 obj-$(CONFIG_RADIO_MAESTRO) += radio-maestro.o
 obj-$(CONFIG_USB_DSBR) += dsbr100.o
 obj-$(CONFIG_USB_SI470X) += radio-si470x.o
-- 
1.6.2.GIT

--
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: DViCO FusionHDTV DVB-T Dual Digital 4 gives bulk message failed

2009-07-27 Thread Anne Aileus
Hi All,

Further to Bob's email below, I confirm that this regression is
present in 2.6.30.2.

Once the problem occurs, I see the following message repeatedly in my logs:

Jul 27 21:49:21 f kernel: [ 2990.204264] dvb-usb: bulk message failed:
-110 (1/0)

From what I can see, the problem can be remedied with a cold boot, at
least sometimes.
However, after running for a while, the problem reoccurs.   More
particularly, the card seems to work for a while when the device is
found in a 'cold' state.

With that in mind, I (naively) altered dvb-usb-init.c to try to load
firmware regardless of whether the device was cold or warm.   I also
tried increasing the timeout passed to usb_bulk_msg in dvb_usb_urb.c.
Neither approach made the card work reliably.

Would somebody more experienced than me please suggest a helpful
location for a printk or some other way to instrument this part of the
code to track down the problem?

Thanks!


-
Bob Hepple
Mon, 20 Jul 2009 16:25:29 -0700

On Mon, 20 Jul 2009 09:49:03 +1000
Bob Hepple bhep...@promptu.com wrote:

 I have been able to import the channels.conf file into mythtv and then
 all is well there. Hope that helps someone else struggling with this!!

Actually, that's not quite accurate - with the 2.6.27 drivers and
scandvb's channels.conf file, mythtv still can't tune the second tuner.
So as a nasty workaround, on every boot (in /etc/rc.local) I need to
use tzap to tune both tuners to _something_ for a few seconds and then
exit. Only then is mythtv happy - but it's very happy on both tuners! Weird.


Bob

-- 
Bob Hepple bhep...@promptu.com
ph: 07-5584-5908 Fx: 07-5575-9550
--
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
--
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


[PATCHv13 1/8] v4l2-subdev.h: Add g_modulator callbacks to subdev api

2009-07-27 Thread Eduardo Valentin
Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/include/media/v4l2-subdev.h |2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/linux/include/media/v4l2-subdev.h 
b/linux/include/media/v4l2-subdev.h
index 89a39ce..d411345 100644
--- a/linux/include/media/v4l2-subdev.h
+++ b/linux/include/media/v4l2-subdev.h
@@ -137,6 +137,8 @@ struct v4l2_subdev_tuner_ops {
int (*g_frequency)(struct v4l2_subdev *sd, struct v4l2_frequency *freq);
int (*g_tuner)(struct v4l2_subdev *sd, struct v4l2_tuner *vt);
int (*s_tuner)(struct v4l2_subdev *sd, struct v4l2_tuner *vt);
+   int (*g_modulator)(struct v4l2_subdev *sd, struct v4l2_modulator *vm);
+   int (*s_modulator)(struct v4l2_subdev *sd, struct v4l2_modulator *vm);
int (*s_type_addr)(struct v4l2_subdev *sd, struct tuner_setup *type);
int (*s_config)(struct v4l2_subdev *sd, const struct 
v4l2_priv_tun_config *config);
int (*s_standby)(struct v4l2_subdev *sd);
-- 
1.6.2.GIT

--
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


[PATCHv14 8/8] FM TX: si4713: Add document file

2009-07-27 Thread Eduardo Valentin
This patch adds a document file for si4713 device driver.
It describes the driver interfaces and organization.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 linux/Documentation/video4linux/si4713.txt |  176 
 1 files changed, 176 insertions(+), 0 deletions(-)
 create mode 100644 linux/Documentation/video4linux/si4713.txt

diff --git a/linux/Documentation/video4linux/si4713.txt 
b/linux/Documentation/video4linux/si4713.txt
new file mode 100644
index 000..68e3b0b
--- /dev/null
+++ b/linux/Documentation/video4linux/si4713.txt
@@ -0,0 +1,176 @@
+Driver for I2C radios for the Silicon Labs Si4713 FM Radio Transmitters
+
+Copyright (c) 2009 Nokia Corporation
+Contact: Eduardo Valentin eduardo.valen...@nokia.com
+
+
+Information about the Device
+
+This chip is a Silicon Labs product. It is a I2C device, currently on 0x63 
address.
+Basically, it has transmission and signal noise level measurement features.
+
+The Si4713 integrates transmit functions for FM broadcast stereo transmission.
+The chip also allows integrated receive power scanning to identify low signal
+power FM channels.
+
+The chip is programmed using commands and responses. There are also several
+properties which can change the behavior of this chip.
+
+Users must comply with local regulations on radio frequency (RF) transmission.
+
+Device driver description
+=
+There are two modules to handle this device. One is a I2C device driver
+and the other is a platform driver.
+
+The I2C device driver exports a v4l2-subdev interface to the kernel.
+All properties can also be accessed by v4l2 extended controls interface, by
+using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
+
+The platform device driver exports a v4l2 radio device interface to user land.
+So, it uses the I2C device driver as a sub device in order to send the user
+commands to the actual device. Basically it is a wrapper to the I2C device 
driver.
+
+Applications can use v4l2 radio API to specify frequency of operation, mute 
state,
+etc. But mostly of its properties will be present in the extended controls.
+
+When the v4l2 mute property is set to 1 (true), the driver will turn the chip 
off.
+
+Properties description
+==
+
+The properties can be accessed using v4l2 extended controls.
+Here is an output from v4l2-ctl util:
+/ # v4l2-ctl -d /dev/radio0 --all -L
+Driver Info:
+Driver name   : radio-si4713
+Card type : Silicon Labs Si4713 Modulator
+Bus info  :
+Driver version: 0
+Capabilities  : 0x00080800
+RDS Output
+Modulator
+Audio output: 0 (FM Modulator Audio Out)
+Frequency: 1408000 (88.00 MHz)
+Video Standard = 0x
+Modulator:
+Name : FM Modulator
+Capabilities : 62.5 Hz stereo rds
+Frequency range  : 76.0 MHz - 108.0 MHz
+Subchannel modulation: stereo+rds
+
+User Controls
+
+   mute (bool) : default=1 value=0
+
+FM Radio Modulator Controls
+
+ rds_program_id (int)  : min=0 max=65535 step=1 default=0 
value=0
+   rds_program_type (int)  : min=0 max=31 step=1 default=0 value=0
+   rds_signal_deviation (int)  : min=0 max=9 step=10 default=200 
value=200 flags=slider
+rds_ps_name (str)  : min=0 max=96 step=8 value='si4713  '
+ rds_radio_text (str)  : min=0 max=384 step=32 value=''
+  audio_limiter_feature_enabled (bool) : default=1 value=1
+ audio_limiter_release_time (int)  : min=250 max=102390 step=50 
default=5010 value=5010 flags=slider
+audio_limiter_deviation (int)  : min=0 max=9 step=10 default=66250 
value=66250 flags=slider
+audio_compression_feature_enabl (bool) : default=1 value=1
+ audio_compression_gain (int)  : min=0 max=20 step=1 default=15 
value=15 flags=slider
+audio_compression_threshold (int)  : min=-40 max=0 step=1 default=-40 
value=-40 flags=slider
+  audio_compression_attack_time (int)  : min=0 max=5000 step=500 default=0 
value=0 flags=slider
+ audio_compression_release_time (int)  : min=10 max=100 step=10 
default=100 value=100 flags=slider
+ pilot_tone_feature_enabled (bool) : default=1 value=1
+   pilot_tone_deviation (int)  : min=0 max=9 step=10 default=6750 
value=6750 flags=slider
+   pilot_tone_frequency (int)  : min=0 max=19000 step=1 default=19000 
value=19000 flags=slider
+  pre_emphasis_settings (menu) : min=0 max=2 default=1 value=1
+   tune_power_level (int)  : min=0 max=120 step=1 default=88 
value=88 flags=slider
+ tune_antenna_capacitor (int)  : min=0 max=191 step=1 default=0 
value=74 flags=slider
+/ #
+
+Here is a summary of them:
+
+* Pilot is an audible tone sent by the device.
+
+pilot_frequency - Configures the frequency of the stereo pilot tone.
+pilot_deviation - 

[PATCHv14 4/8] v4l2-spec: Add documentation description for FM TX extended control class

2009-07-27 Thread Eduardo Valentin
This single patch adds documentation description for FM Modulator (FM TX)
Extended Control Class and its Control IDs. The text was added under
Extended Controls section.

Signed-off-by: Eduardo Valentin eduardo.valen...@nokia.com
---
 v4l2-spec/Makefile  |1 +
 v4l2-spec/controls.sgml |  215 +++
 2 files changed, 216 insertions(+), 0 deletions(-)

diff --git a/v4l2-spec/Makefile b/v4l2-spec/Makefile
index 4f11745..7a8d161 100644
--- a/v4l2-spec/Makefile
+++ b/v4l2-spec/Makefile
@@ -243,6 +243,7 @@ ENUMS = \
v4l2_power_line_frequency \
v4l2_priority \
v4l2_tuner_type \
+   v4l2_preemphasis \
 
 STRUCTS = \
v4l2_audio \
diff --git a/v4l2-spec/controls.sgml b/v4l2-spec/controls.sgml
index 8e0e024..502f84d 100644
--- a/v4l2-spec/controls.sgml
+++ b/v4l2-spec/controls.sgml
@@ -458,6 +458,12 @@ video is actually encoded into that format./para
   paraUnfortunately, the original control API lacked some
 features needed for these new uses and so it was extended into the
 (not terribly originally named) extended control API./para
+
+  paraEven though the MPEG encoding API was the first effort
+to use the Extended Control API, nowadays there are also other classes
+of Extended Controls, such as Camera Controls and FM Transmitter Controls.
+The Extended Controls API as well as all Extended Controls classes are
+described in the following text./para
 /section
 
 section
@@ -1815,6 +1821,215 @@ control must support read access and may support write 
access./entry
   /tgroup
 /table
   /section
+
+section id=fm-tx-controls
+  titleFM Transmitter Control Reference/title
+
+  paraThe FM Transmitter (FM_TX) class includes controls for common 
features of
+FM transmissions capable devices. Currently this class includes parameters for 
audio
+compression, pilot tone generation, audio deviation limiter, RDS transmission 
and
+tuning power features./para
+
+  table pgwide=1 frame=none id=fm-tx-control-id
+  titleFM_TX Control IDs/title
+
+  tgroup cols=4
+   colspec colname=c1 colwidth=1*
+   colspec colname=c2 colwidth=6*
+   colspec colname=c3 colwidth=2*
+   colspec colname=c4 colwidth=6*
+   spanspec namest=c1 nameend=c2 spanname=id
+   spanspec namest=c2 nameend=c4 spanname=descr
+   thead
+ row
+   entry spanname=id align=leftID/entry
+   entry align=leftType/entry
+ /rowrow rowsep=1entry spanname=descr 
align=leftDescription/entry
+ /row
+   /thead
+   tbody valign=top
+ rowentry/entry/row
+ row
+   entry 
spanname=idconstantV4L2_CID_FM_TX_CLASS/constantnbsp;/entry
+   entryclass/entry
+ /rowrowentry spanname=descrThe FM_TX class
+descriptor. Calling VIDIOC-QUERYCTRL; for this control will return a
+description of this control class./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_TX_PI/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descrSets the RDS Programme Identification 
field
+for transmission./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_TX_PTY/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descrSets the RDS Programme Type field for 
transmission.
+This encodes up to 31 pre-defined programme types./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_TX_DEVIATION/constantnbsp;/entry
+   entryinteger/entry
+ /row
+ rowentry spanname=descrConfigures RDS signal frequency 
deviation level in Hz.
+The range and step are driver-specific./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_TX_PS_NAME/constantnbsp;/entry
+   entrystring/entry
+ /row
+ rowentry spanname=descrSets the Programme Service name 
(PS_NAME) for transmission.
+It is intended for static display on a receiver. It is the primary aid to 
listeners in programme service
+identification and selection.  In Annex E of xref linkend=en50067, the RDS 
specification,
+there is a full description of the correct character encoding for Programme 
Service name strings.
+Also from RDS specification, PS is usually a single eight character text. 
However, it is also possible
+to find receivers which can scroll strings sized as 8 x N characters. So, this 
control must be configured
+with steps of 8 characters. The result is it must always contain a string with 
size multiple of 8./entry
+ /row
+ row
+   entry 
spanname=idconstantV4L2_CID_RDS_TX_RADIO_TEXT/constantnbsp;/entry
+   entrystring/entry
+ /row
+ rowentry spanname=descrSets the Radio Text info for 
transmission. It is a textual description of
+what is being broadcasted. RDS Radio Text can be applied when broadcaster 
wishes to 

Re: TBS 8920 still fails to initialize - cx24116_readreg error

2009-07-27 Thread Igor M. Liplianin
On 27 июля 2009 04:43:16 Mark Zimmerman wrote:
 On Sun, Jul 26, 2009 at 03:29:13PM +0300, Igor M. Liplianin wrote:
  On 25  2009 05:22:06 Mark Zimmerman wrote:
   On Fri, Jul 24, 2009 at 07:06:11PM +0300, Igor M. Liplianin wrote:
On 24  2009 05:33:15 Mark Zimmerman wrote:
 Greetings:

 Using current current v4l-dvb drivers, I get the following in the
 dmesg:

 cx88[1]/2: subsystem: 8920:, board: TBS 8920 DVB-S/S2 [card=72]
 cx88[1]/2: cx2388x based DVB/ATSC card
 cx8802_alloc_frontends() allocating 1 frontend(s)
 cx24116_readreg: reg=0xff (error=-6)
 cx24116_readreg: reg=0xfe (error=-6)
 Invalid probe, probably not a CX24116 device
 cx88[1]/2: frontend initialization failed
 cx88[1]/2: dvb_register failed (err = -22)
 cx88[1]/2: cx8802 probe failed, err = -22

 Does this mean that one of the chips on this card is different than
 expected? How can I gather useful information about this?
   
Hi
You can try:
http://www.tbsdtv.com/download/tbs6920_8920_v23_linux_x86_x64.rar
  
   This code did not compile as-is, but after I commented out some things
   in drivers I do not need, I managed to build something. The TBS card
   now seems to be initialized, but it also broke support for my DViCO
   FusionHDTV7 Dual Express card, which also uses a cx23885.
  
   I am going to move this card to another machine that does not have any
   other capture cards and repeat the process. This should make it easier
   to know what the TBS card/driver is doing.
  
   I am assuming that you are interested in using me to gather
   information to update the v4l-dvb drivers so that this card can be
   supported properly. Is this correct?  Please let me know what I can do
   to assist.
 
  I've changed tbs 8920 initialization in
  http://mercurial.intuxication.org/hg/s2-liplianin. I ask you to try it.
  If it works, then I will commit it to linuxv.
  Also pay attention to remote.

 Unfortunately, there appears to be no change:

 Just for reference, here is how it looks when using the drivers
 compiled from the source in tbs6920_8920_v23_linux_x86_x64.rar:

 Also, here are the diffs of cx88-dvb.c between your version and the one
 from the manufacturer.  I wonder if the magic number writes at line 1142
 could be what makes it work. I can try adding them to your source if you
 think it is advisable.
It is advisable to try.
I forgot about voltage control. It must preserve that magic number.

http://mercurial.intuxication.org/hg/s2-liplianin/rev/b1ca288a0600 

 --- linux/drivers/media/video/cx88/cx88-dvb.c   2009-07-26
 18:00:00.0 -0600 +++
 /home/mark/tbs8920/linux-s2api-tbs6920-8920-v23/linux/drivers/media/video/c
x88/cx88-dvb.c   2009-06-07 18:15:11.0 -0600 @@ -428,14 +428,17 @@
 switch (voltage) {
 case SEC_VOLTAGE_13:
 printk(LNB Voltage SEC_VOLTAGE_13\n);
 -   cx_write(MO_GP0_IO, 0x6040);
 +   cx_set(MO_GP0_IO, 0x6040);
 +   cx_clear(MO_GP0_IO, 0x0020);
 break;
 case SEC_VOLTAGE_18:
 printk(LNB Voltage SEC_VOLTAGE_18\n);
 -   cx_write(MO_GP0_IO, 0x6060);
 +   cx_set(MO_GP0_IO, 0x6020);
 +   cx_set(MO_GP0_IO, 0x0040);
 break;
 case SEC_VOLTAGE_OFF:
 printk(LNB Voltage SEC_VOLTAGE_off\n);
 +   cx_clear(MO_GP0_IO, 0x0020);
 break;
 }

 @@ -1142,6 +1144,15 @@
 case CX88_BOARD_TBS_8920:
 case CX88_BOARD_PROF_7300:
 case CX88_BOARD_SATTRADE_ST4200:
 +   printk(KERN_INFO %s() setup TBS8920\n, __func__);
 +   cx_write(MO_GP0_IO, 0x8000);
 +   msleep(100);
 +   cx_write(MO_SRST_IO, 0);
 +   msleep(10);
 +   cx_write(MO_GP0_IO, 0x8080);
 +   msleep(100);
 +   cx_write(MO_SRST_IO, 1);
 +   msleep(100);
 fe0-dvb.frontend = dvb_attach(cx24116_attach,
hauppauge_hvr4000_config,
core-i2c_adap);

-- 
Igor M. Liplianin
Microsoft Windows Free Zone - Linux used for all Computing Tasks
--
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


Warnings in Compile

2009-07-27 Thread Brandon Jenkins
Greetings,

I received the following warnings while compiling a fresh pull today
from v4l-dvb.

  CC [M]  /root/drivers/v4l-dvb/v4l/pvrusb2-hdw.o
/root/drivers/v4l-dvb/v4l/pvrusb2-hdw.c: In function 'pvr2_hdw_load_modules':
/root/drivers/v4l-dvb/v4l/pvrusb2-hdw.c:2145: warning: format not a
string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/pvrusb2-std.o
/root/drivers/v4l-dvb/v4l/pvrusb2-std.c: In function 'pvr2_std_id_to_str':
/root/drivers/v4l-dvb/v4l/pvrusb2-std.c:220: warning: format not a
string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/zoran_card.o
/root/drivers/v4l-dvb/v4l/zoran_card.c: In function 'zoran_probe':
/root/drivers/v4l-dvb/v4l/zoran_card.c:1379: warning: format not a
string literal and no format arguments
/root/drivers/v4l-dvb/v4l/zoran_card.c:1391: warning: format not a
string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/v4l2-common.o
/root/drivers/v4l-dvb/v4l/v4l2-common.c: In function 'v4l2_i2c_new_subdev':
/root/drivers/v4l-dvb/v4l/v4l2-common.c:835: warning: format not a
string literal and no format arguments
/root/drivers/v4l-dvb/v4l/v4l2-common.c: In function
'v4l2_i2c_new_probed_subdev':
/root/drivers/v4l-dvb/v4l/v4l2-common.c:908: warning: format not a
string literal and no format arguments
/root/drivers/v4l-dvb/v4l/v4l2-common.c: In function
'v4l2_i2c_new_subdev_board':
/root/drivers/v4l-dvb/v4l/v4l2-common.c:990: warning: format not a
string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/tvaudio.o
/root/drivers/v4l-dvb/v4l/tvaudio.c: In function 'tvaudio_probe':
/root/drivers/v4l-dvb/v4l/tvaudio.c:2075: warning: format not a string
literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/cx2341x.o
/root/drivers/v4l-dvb/v4l/cx2341x.c: In function 'cx2341x_ctrl_query_fill':
/root/drivers/v4l-dvb/v4l/cx2341x.c:494: warning: format not a string
literal and no format arguments

This is running Ubuntu 9.0.4: Linux 2.6.28-11-server #42-Ubuntu SMP
Fri Apr 17 02:45:36 UTC 2009 x86_64 GNU/Linux

HIH,

Brandon
--
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] v4l-dvb daily build 2.6.22 and up: WARNINGS, 2.6.16-2.6.21: ERRORS

2009-07-27 Thread Hans Verkuil
This message is generated daily by a cron job that builds v4l-dvb for
the kernels and architectures in the list below.

Results of the daily build of v4l-dvb:

date:Mon Jul 27 19:00:04 CEST 2009
path:http://www.linuxtv.org/hg/v4l-dvb
changeset:   12340:b1e2006c168a
gcc version: gcc (GCC) 4.3.1
hardware:x86_64
host os: 2.6.26

linux-2.6.22.19-armv5: OK
linux-2.6.23.12-armv5: OK
linux-2.6.24.7-armv5: OK
linux-2.6.25.11-armv5: OK
linux-2.6.26-armv5: OK
linux-2.6.27-armv5: OK
linux-2.6.28-armv5: OK
linux-2.6.29.1-armv5: OK
linux-2.6.30-armv5: OK
linux-2.6.31-rc3-armv5: OK
linux-2.6.27-armv5-ixp: OK
linux-2.6.28-armv5-ixp: OK
linux-2.6.29.1-armv5-ixp: OK
linux-2.6.30-armv5-ixp: OK
linux-2.6.31-rc3-armv5-ixp: OK
linux-2.6.28-armv5-omap2: OK
linux-2.6.29.1-armv5-omap2: OK
linux-2.6.30-armv5-omap2: OK
linux-2.6.31-rc3-armv5-omap2: OK
linux-2.6.22.19-i686: OK
linux-2.6.23.12-i686: OK
linux-2.6.24.7-i686: OK
linux-2.6.25.11-i686: OK
linux-2.6.26-i686: OK
linux-2.6.27-i686: OK
linux-2.6.28-i686: OK
linux-2.6.29.1-i686: OK
linux-2.6.30-i686: WARNINGS
linux-2.6.31-rc3-i686: OK
linux-2.6.23.12-m32r: OK
linux-2.6.24.7-m32r: OK
linux-2.6.25.11-m32r: OK
linux-2.6.26-m32r: OK
linux-2.6.27-m32r: OK
linux-2.6.28-m32r: OK
linux-2.6.29.1-m32r: OK
linux-2.6.30-m32r: OK
linux-2.6.31-rc3-m32r: OK
linux-2.6.30-mips: WARNINGS
linux-2.6.31-rc3-mips: WARNINGS
linux-2.6.27-powerpc64: WARNINGS
linux-2.6.28-powerpc64: WARNINGS
linux-2.6.29.1-powerpc64: WARNINGS
linux-2.6.30-powerpc64: WARNINGS
linux-2.6.31-rc3-powerpc64: OK
linux-2.6.22.19-x86_64: OK
linux-2.6.23.12-x86_64: OK
linux-2.6.24.7-x86_64: OK
linux-2.6.25.11-x86_64: OK
linux-2.6.26-x86_64: OK
linux-2.6.27-x86_64: OK
linux-2.6.28-x86_64: OK
linux-2.6.29.1-x86_64: OK
linux-2.6.30-x86_64: WARNINGS
linux-2.6.31-rc3-x86_64: OK
sparse (linux-2.6.30): OK
sparse (linux-2.6.31-rc3): OK
linux-2.6.16.61-i686: ERRORS
linux-2.6.17.14-i686: ERRORS
linux-2.6.18.8-i686: ERRORS
linux-2.6.19.5-i686: ERRORS
linux-2.6.20.21-i686: OK
linux-2.6.21.7-i686: OK
linux-2.6.16.61-x86_64: ERRORS
linux-2.6.17.14-x86_64: ERRORS
linux-2.6.18.8-x86_64: ERRORS
linux-2.6.19.5-x86_64: ERRORS
linux-2.6.20.21-x86_64: OK
linux-2.6.21.7-x86_64: OK

Detailed results are available here:

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

Full logs are available here:

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

The V4L2 specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/v4l2.html

The DVB API specification from this daily build is here:

http://www.xs4all.nl/~hverkuil/spec/dvbapi.pdf

--
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: Warnings in Compile

2009-07-27 Thread Devin Heitmueller
On Mon, Jul 27, 2009 at 2:05 PM, Brandon Jenkinsbcjenk...@tvwhere.com wrote:
 Greetings,

 I received the following warnings while compiling a fresh pull today
 from v4l-dvb.

  CC [M]  /root/drivers/v4l-dvb/v4l/pvrusb2-hdw.o
 /root/drivers/v4l-dvb/v4l/pvrusb2-hdw.c: In function 'pvr2_hdw_load_modules':
 /root/drivers/v4l-dvb/v4l/pvrusb2-hdw.c:2145: warning: format not a
 string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/pvrusb2-std.o
 /root/drivers/v4l-dvb/v4l/pvrusb2-std.c: In function 'pvr2_std_id_to_str':
 /root/drivers/v4l-dvb/v4l/pvrusb2-std.c:220: warning: format not a
 string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/zoran_card.o
 /root/drivers/v4l-dvb/v4l/zoran_card.c: In function 'zoran_probe':
 /root/drivers/v4l-dvb/v4l/zoran_card.c:1379: warning: format not a
 string literal and no format arguments
 /root/drivers/v4l-dvb/v4l/zoran_card.c:1391: warning: format not a
 string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/v4l2-common.o
 /root/drivers/v4l-dvb/v4l/v4l2-common.c: In function 'v4l2_i2c_new_subdev':
 /root/drivers/v4l-dvb/v4l/v4l2-common.c:835: warning: format not a
 string literal and no format arguments
 /root/drivers/v4l-dvb/v4l/v4l2-common.c: In function
 'v4l2_i2c_new_probed_subdev':
 /root/drivers/v4l-dvb/v4l/v4l2-common.c:908: warning: format not a
 string literal and no format arguments
 /root/drivers/v4l-dvb/v4l/v4l2-common.c: In function
 'v4l2_i2c_new_subdev_board':
 /root/drivers/v4l-dvb/v4l/v4l2-common.c:990: warning: format not a
 string literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/tvaudio.o
 /root/drivers/v4l-dvb/v4l/tvaudio.c: In function 'tvaudio_probe':
 /root/drivers/v4l-dvb/v4l/tvaudio.c:2075: warning: format not a string
 literal and no format arguments

  CC [M]  /root/drivers/v4l-dvb/v4l/cx2341x.o
 /root/drivers/v4l-dvb/v4l/cx2341x.c: In function 'cx2341x_ctrl_query_fill':
 /root/drivers/v4l-dvb/v4l/cx2341x.c:494: warning: format not a string
 literal and no format arguments

 This is running Ubuntu 9.0.4: Linux 2.6.28-11-server #42-Ubuntu SMP
 Fri Apr 17 02:45:36 UTC 2009 x86_64 GNU/Linux

 HIH,

 Brandon
 --
 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


Hello Brandon,

Just an FYI, these are not new warnings, as I have received them for
months now, at least back to Ubuntu 8.04.

So, while annoying from a signal/noise standpoint, they do not
indicate an actual problem that you should worry about.

Of course, feel free to track some of them down and submit patches (I
just never got around to it myself).

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
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: em28xx i2s volume control

2009-07-27 Thread Mauro Carvalho Chehab
Em Mon, 20 Jul 2009 14:00:08 -0400
ac...@fastmail.fm escreveu:

 On Sun, Jul 19, 2009 at 10:50:49AM -0300, Mauro Carvalho Chehab wrote:
  Em Sat, 18 Jul 2009 14:22:51 -0400
  ac...@fastmail.fm escreveu:
 
   How do you control the i2s volume output on empia boards?
 
  the em28xx chip doesn't control volume. This is done at the audio chip.
 
  For ac97 chips, the volume is inside the em28xx driver, since we don't have 
  a
  v4l2 device driver for it yet.
 
  On the cases where the volume is on an i2s chips like msp34xx, the volume
  control is done at the i2c driver, that should be exporting such controls 
  via
  v4l2 dev/subdev API, by calling:
  v4l2_device_call_all(dev-v4l2_dev, 0, core, s_ctrl, ctrl);
 
  This way, any application can control the volume via the proper ioctl's.
 
  While trying to see why are you asking this, I noticed that the em28xx 
  driver,
  due to historic reasons, had an implementation that may cause
  confusion.
 
 The problem is that it's not working for usb audio streaming.  With a
 cable from line out of the device to my sound card it works well.
 Volume can be controlled by applications using the v4l2 ioctls.
 
 The audio from /dev/dsp? is always at max and distorts horribly on
 many tv stations.  I can verify with 'modprobe msp3400 debug=1' that
 it is trying to set volume I pass to it, but it simply has no effect
 on the usb audio stream.
 
 The reason I asked about i2s volume control is because the eeprom has
 the bit set that shows my device as USB audio class volume control
 (capable) when audio source is i2s device.
 
 Maybe it's a snd-usb-audio issue since the mixer setting for the
 device doesn't allow volume changing.

I need to double check here with a Hauppauge device I have with msp34xx,
but it seems weird that this can't be controlled. 

Maybe it is some kind of bug at usb audio class driver. Maybe you can enable
some debug code there to see what it is doing with volume.



Cheers,
Mauro
--
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


How to save number of times using memcpy?

2009-07-27 Thread Dongsoo, Nathaniel Kim
Hello everyone,

What I'm gonna ask might be quite a bit tough couple of questions, but
definitely necessary in multimedia device driver area.

My first question is Is any driver using using continuous physical
memory has any chance to be adopted in main line kernel?
Because I'm afraid what I'm talking about is all about multimedia,
which is consuming plenty of memory.
But please note that in this case all the drivers I take care of are
ARM SoC's peripheral device drivers.(ie. camera interface driver in
Samsung CPU). And whenever we choose to use continuous physical
memory, then current videobuf cannot be used in those kind of device
drivers because of the io-remapping.


And the other one is about how to handle the buffer used between
couple of multimedia devices.
Let me take an example of a camcorder scenario which takes series of
pictures and encode them in some sort of multimedia encoded format.
And let's assume that we are using a device of a SoC H/W which has
it's own camera and multimedia encoder device as well.

The scenario might be going like following order ordinarily.
1. User application: open camera device node and tries to mmap
buffer(A) to be used.
2. Camera interface: try to allocate memory in kernel space and creates mapping.
3. User application: open encoder device node and tries to mmap
buffer(B) as input buffer and buffer(C) as output buffer to be used.
4. Start streaming
5. Camera interface: fetch data from external camera module and writes
to the allocated buffer in kernel space and give back the memory
address to user application through dqbuf
6. User application: memcpy(1st) returned buffer(A) to frame buffer
therefore we can see as preview
7. User application: memcpy(2nd) returned buffer(A) to buffer(B) of
encoder device.
7. Encoder device: encodes the data copied into buffer(B) and returns
to user application through buffer(C)
8. User application: memcpy(3nd) encoded data from buffer(C) and save as file
9. do loop from 5 to 8 as long as you want to keep recording

As you see above, at least three times of memcpy per frame are
necessary to make the recording and preview happened. Of course I took
a worst case for example because we can even take in-place thing for
encoder buffer, but I jut wanted to consider of drivers not capable to
take care of in-place algorithm for some reasons.

Now let's imagine that we are recording 1920*1080 sized frame. can you
draw the picture in your mind how it might be inefficient?


So, my second question is Is V4L2 covering the best practice of video
recording for embedded system?
As you know, embedded systems are running out of memories..and don't
have much enough memory bandwidth either.
I'm not seeing any standard way for device to device buffer handling
in V4L2 documents. If nobody has been considering this issue, can I
bring it on the table for make it in a unified way, therefor we can
make any improvement in opensource multimedia middlewares and drivers
as well.


By the way.. among the examples above I mentioned, I took an example
of codec device. right? How far are we with codec devices in V4L2
community? Thanks to the ultimate H/W in these days, we are facing
tremendous issues as well.
Cheers,

Nate

-- 
=
DongSoo, Nathaniel Kim
Engineer
Mobile S/W Platform Lab.
Digital Media  Communications RD Centre
Samsung Electronics CO., LTD.
e-mail : dongsoo@gmail.com
  dongsoo45@samsung.com
--
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: lsmod path hardcoded in v4l/Makefile

2009-07-27 Thread Mauro Carvalho Chehab
Em Tue, 21 Jul 2009 09:14:36 +0200
Matthias Schwarzott z...@gentoo.org escreveu:

 
 Hi Mauro!
 
 is there any reason to not pull this besides time?

Time is one reason, however, there's another:

It is not a good idea to run as root. Most people compile everything
with a normal user and then use sudo command to install/remove/insert
modules. Unfortunately, depending on the distribution, sudo inherits PATH from
the normal user, instead of root. Due to that, if you replace it for just
lsmod, it will fail for people that don't use gentoo.

Maybe good solution is to test if lsmod (and other similar tools) are at /sbin
or /usr/sbin. 

Alternatively, we can try to replace lsmod by something like (untested):

v4l_modules := $(shell PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin lsmod|cut -d' 
' -f1 ) $(patsubst %.ko,%,$(inst-m))

 
 Regards
 Matthias
 --
 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




Cheers,
Mauro
--
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: TBS 8920 still fails to initialize - cx24116_readreg error

2009-07-27 Thread Mark Zimmerman
On Mon, Jul 27, 2009 at 08:50:20PM +0300, Igor M. Liplianin wrote:
 On 27  2009 04:43:16 Mark Zimmerman wrote:
  On Sun, Jul 26, 2009 at 03:29:13PM +0300, Igor M. Liplianin wrote:
   On 25  2009 05:22:06 Mark Zimmerman wrote:
On Fri, Jul 24, 2009 at 07:06:11PM +0300, Igor M. Liplianin wrote:
 On 24  2009 05:33:15 Mark Zimmerman wrote:
  Greetings:
 
  Using current current v4l-dvb drivers, I get the following in the
  dmesg:
 
  cx88[1]/2: subsystem: 8920:, board: TBS 8920 DVB-S/S2 [card=72]
  cx88[1]/2: cx2388x based DVB/ATSC card
  cx8802_alloc_frontends() allocating 1 frontend(s)
  cx24116_readreg: reg=0xff (error=-6)
  cx24116_readreg: reg=0xfe (error=-6)
  Invalid probe, probably not a CX24116 device
  cx88[1]/2: frontend initialization failed
  cx88[1]/2: dvb_register failed (err = -22)
  cx88[1]/2: cx8802 probe failed, err = -22
 
  Does this mean that one of the chips on this card is different than
  expected? How can I gather useful information about this?

 Hi
 You can try:
 http://www.tbsdtv.com/download/tbs6920_8920_v23_linux_x86_x64.rar
   
This code did not compile as-is, but after I commented out some things
in drivers I do not need, I managed to build something. The TBS card
now seems to be initialized, but it also broke support for my DViCO
FusionHDTV7 Dual Express card, which also uses a cx23885.
   
I am going to move this card to another machine that does not have any
other capture cards and repeat the process. This should make it easier
to know what the TBS card/driver is doing.
   
I am assuming that you are interested in using me to gather
information to update the v4l-dvb drivers so that this card can be
supported properly. Is this correct?  Please let me know what I can do
to assist.
  
   I've changed tbs 8920 initialization in
   http://mercurial.intuxication.org/hg/s2-liplianin. I ask you to try it.
   If it works, then I will commit it to linuxv.
   Also pay attention to remote.
 
  Unfortunately, there appears to be no change:
 
  Just for reference, here is how it looks when using the drivers
  compiled from the source in tbs6920_8920_v23_linux_x86_x64.rar:
 
  Also, here are the diffs of cx88-dvb.c between your version and the one
  from the manufacturer.  I wonder if the magic number writes at line 1142
  could be what makes it work. I can try adding them to your source if you
  think it is advisable.
 It is advisable to try.
 I forgot about voltage control. It must preserve that magic number.
 
 http://mercurial.intuxication.org/hg/s2-liplianin/rev/b1ca288a0600 
 

This was successful.  So that there is no miscommunication, let me
specify exactly what I tested:

I started with

hg clone http://mercurial.intuxication.org/hg/s2-liplianin/rev/b1ca288a0600

and then changed cx88-dvb.c as follows:

diff -r ecdc9c389f8a linux/drivers/media/video/cx88/cx88-dvb.c
--- a/linux/drivers/media/video/cx88/cx88-dvb.c Mon Jul 27 18:02:25 2009 +0300
+++ b/linux/drivers/media/video/cx88/cx88-dvb.c Mon Jul 27 19:14:53 2009 -0600
@@ -429,15 +429,17 @@
switch (voltage) {
case SEC_VOLTAGE_13:
printk(LNB Voltage SEC_VOLTAGE_13\n);
+   cx_set(MO_GP0_IO, 0x6040);
cx_clear(MO_GP0_IO, 0x0020);
break;
case SEC_VOLTAGE_18:
printk(LNB Voltage SEC_VOLTAGE_18\n);
+   cx_set(MO_GP0_IO, 0x6020);
cx_set(MO_GP0_IO, 0x0020);
break;
case SEC_VOLTAGE_OFF:
+   printk(LNB Voltage SEC_VOLTAGE_off\n);
cx_clear(MO_GP0_IO, 0x0020);
-   printk(LNB Voltage SEC_VOLTAGE_off\n);
break;
}
 
@@ -1144,6 +1146,15 @@
case CX88_BOARD_TBS_8920:
case CX88_BOARD_PROF_7300:
case CX88_BOARD_SATTRADE_ST4200:
+   printk(KERN_INFO %s() setup TBS8920\n, __func__);
+   cx_write(MO_GP0_IO, 0x8000);
+   msleep(100);
+   cx_write(MO_SRST_IO, 0);
+   msleep(10);
+   cx_write(MO_GP0_IO, 0x8080);
+   msleep(100);
+   cx_write(MO_SRST_IO, 1);
+   msleep(100);
fe0-dvb.frontend = dvb_attach(cx24116_attach,
   hauppauge_hvr4000_config,
   core-i2c_adap);

make ; make install ; reboot

dmesg contained this:

cx88/2: cx2388x MPEG-TS Driver Manager version 0.0.7 loaded
cx88[0]: subsystem: 8920:, board: TBS 8920 DVB-S/S2 [card=72,autodetected], 
frontend(s): 1
cx88[0]: TV tuner type 4, Radio tuner type -1
input: ImPS/2 Generic Wheel Mouse as /devices/platform/i8042/serio1/input/input5
cx88/0: cx2388x v4l2 

[PULL] http://linuxtv.org/hg/~dougsland/video4linux

2009-07-27 Thread Douglas Schilling Landgraf
Hello Mauro,

Please pull from http://linuxtv.org/hg/~dougsland/video4linux  for the
following:

- saa7134: fix lock imbalance
- Fix for crash in dvb-usb-af9015
- v4l doc: fix cqcam source code path
- stv680: kfree called before usb_kill_urb
- ir-kbd-i2c: Add support for Z8F0811/Hauppage IR transceivers
- cx18: Add i2c initialization for Z8F0811/Hauppage IR transceivers
- ir-kbd-i2c: Allow use of ir-kdb-i2c internal get_key funcs and set ir_type
- ir-kbd-i2c: Remove superfulous inlines
- gspca - sn9c20x: Fix up i2c_r functions

Thanks,
Douglas
--
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: Pinnacle PCTV 310i active antenna

2009-07-27 Thread hermann pitton
Hi Martin,

Am Montag, den 27.07.2009, 21:36 +0200 schrieb Martin Konopka:
 Hi Hermann,
 
 I'm using kernel 2.6.28-11 on a mythbuntu distribution.  I tried to load the 
 drivers with the card=50 option and antenna_pwr=1.
 
 [ 8745.007384] saa7133[0]: subsystem: 11bd:002f, board: Pinnacle PCTV 300i 
 DVB-T + PAL [card=50,insmod option]
 [ 8745.007628] saa7133[0]: board init: gpio is 600c000
 [ 8745.007641] saa7133[0]: gpio: mode=0x0008000 in=0x6004000 out=0x0008000 
 [pre-init]
 [ 8745.148374] tuner' 1-004b: chip found @ 0x96 (saa7133[0])
 
 [..]
 
 [ 8802.196576] dvb_init() allocating 1 frontend
 [ 8802.196583] saa7133[0]/dvb: pinnacle 300i dvb setup
 [ 8802.196845] mt352_read_register: readreg error (reg=127, ret==-5)
 [ 8802.196953] saa7133[0]/dvb: frontend initialization failed
 
 The antenna power is not activated. I then installed microsoft stuff. To my 
 horror it turned out that the active antenna switch is greyed out in 
 Pinnacle's TV application. 
 
 So the card obviously does not have an active antenna, although the manual 
 mentions it. Probably copy and paste from the 300i manual.
 
 Regards,
 
 Martin

thanks a lot for reporting and for going to all that testing stuff.

Since neither Hartmut nor me ever had such a card, Hartmut would be much
better than me on such, we should be able to exclude active voltage to
support the antenna on it now.

For the other issues since 2.6.26 I don't have new ideas and such cards
seem not to be available on some e/xbay currently.

The Hauppauge/Pinnacle US guys can't help much either currently and
there is no reason to blame them for something they don't know. (yet)

So it is only what is posted so far.

Thanks,
Hermann

 
 Am Sonntag, 5. Juli 2009 02:18:01 schrieben Sie:
  Hi Martin,
 
  Am Mittwoch, den 01.07.2009, 17:01 +0200 schrieb Martin Konopka:
   Hi all,
  
   my Pinnacle 310i is working well with linux, except for the active
   antenna that is attached to it. I need it in order to watch some weaker
   channels. Is there any way to activate the antenna power of this card
   with recent drivers? The Windows software has an option to do that.
 
  on which kernel you are currently?
 
  We have some reports, that what was assumed to be support for an
  additional LNA on it is broken on 2.6.26 and onwards, IIRC.
 
  There are no previous reports for such an active antenna switch for the
  310i I do believe, but Gerd had such an option for the earlier 300i.
  (card=50)
 
  If you don't have any further details, like gpio settings reported from
  DScaler's regspy, you might try to force the use of that card, nothing
  won't work, but eventually you get voltage to the antenna. (modinfo
  saa7134-dvb)
 
  Cheers,
  Hermann
 
 


--
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