Hi Patrick,
Patrick Boettcher wrote:
Hi Matthieu,
I added something to my repository which should fix it:
Can you give it a try:
http://linuxtv.org/hg/~pb/v4l-dvb
The patch doesn't work : in OUTMODE_MPEG2_FIFO you still erase the pid
parse bit.
Here a patch that works.
Unfortunately on french tnt, the bandwidth share on a transponder is not
usb1 friendly :
- the transponder bandwidth is 24 Mbps
- there are 5 or 6 channels per transponder (it make an average 4Mbps
bandwidth)
Instead of having all channel near the average 4Mbps, they put the
average lower (2.5-3 Mbps) and the extra bandwidth is given (sometimes
randomly) to some channels.
This make peak > 7 Mbps on some channels [1] and usb1 mode doesn't seem
to support such bandwidth (may be if iso were used, it could have worked).
Some transponder are more usb1 friendly and put the extra bits in pid
8191 (up to 4-5 Mbps)...
[1]
-PID--FREQ-----BANDWIDTH-BANDWIDTH-
0000 9 p/s 1 kb/s 14 kbit
0017 0 p/s 0 kb/s 1 kbit
0018 10 p/s 1 kb/s 16 kbit
0021 1 p/s 0 kb/s 2 kbit
0110 9 p/s 1 kb/s 14 kbit
0120 2156 p/s 395 kb/s 3242 kbit
0130 132 p/s 24 kb/s 198 kbit
0140 2 p/s 0 kb/s 4 kbit
0210 9 p/s 1 kb/s 14 kbit
0220 2992 p/s 549 kb/s 4499 kbit
0230 131 p/s 24 kb/s 197 kbit
0240 1 p/s 0 kb/s 2 kbit
0310 9 p/s 1 kb/s 14 kbit
0320 4785 p/s 878 kb/s 7197 kbit
0330 131 p/s 24 kb/s 197 kbit
0340 2 p/s 0 kb/s 4 kbit
0410 9 p/s 1 kb/s 14 kbit
0420 1458 p/s 267 kb/s 2193 kbit
0430 132 p/s 24 kb/s 198 kbit
0440 2 p/s 0 kb/s 4 kbit
0510 9 p/s 1 kb/s 14 kbit
0520 1743 p/s 320 kb/s 2622 kbit
0530 132 p/s 24 kb/s 198 kbit
0531 132 p/s 24 kb/s 198 kbit
0541 2 p/s 0 kb/s 4 kbit
0542 3 p/s 0 kb/s 5 kbit
0610 9 p/s 1 kb/s 14 kbit
0620 1419 p/s 260 kb/s 2134 kbit
0630 132 p/s 24 kb/s 198 kbit
0640 1 p/s 0 kb/s 2 kbit
0660 8 p/s 1 kb/s 13 kbit
1010 9 p/s 1 kb/s 14 kbit
8191 926 p/s 170 kb/s 1393 kbit
8192 16540 p/s 3036 kb/s 24877 kbit
Signed-off-by: Matthieu CASTET <castet.matthieu@xxxxxxx>
--- dib3000mc.c 2006-08-20 12:57:32.000000000 +0200
+++ dib3000mc.c 2006-08-20 12:59:32.000000000 +0200
@@ -193,8 +193,7 @@
u16 outreg = 0;
u16 outmode = 0;
u16 elecout = 1;
- u16 smo_reg = (0 << 6) | (0 << 5) | (0 << 3) | (1 << 1) | 0 |
- (dib3000mc_read_word(state, 206) & 0x0010); /* keep the pid_parse bit */
+ u16 smo_reg = (0 << 6) | (0 << 5) | (0 << 3) | (1 << 1) | 0;
dprintk("-I- Setting output mode for demod %p to %d\n",
&state->demod, mode);
@@ -239,6 +238,9 @@
if ((state->cfg->output_mpeg2_in_188_bytes))
smo_reg |= (1 << 5); // P_smo_rs_discard [1;5:5] = 1
+ /* keep the pid_parse bit */
+ smo_reg |= dib3000mc_read_word(state, 206) & (1<<4);
+
outreg = dib3000mc_read_word(state, 244) & 0x07FF;
outreg |= (outmode << 11);
ret |= dib3000mc_write_word(state, 244, outreg);
_______________________________________________
linux-dvb mailing list
linux-dvb@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb