diff options
author | Mike Isely <isely@pobox.com> | 2006-03-25 16:53:15 -0600 |
---|---|---|
committer | Mike Isely <isely@pobox.com> | 2006-03-25 16:53:15 -0600 |
commit | 91ae35c1daa731973eb99fd8d422e60a6cb4ea5d (patch) | |
tree | 08b400f80e8264926f62b2d7f39726712d7da760 /linux | |
parent | 441ebaf82f5bb501cb77fe2316de11be5d90952e (diff) | |
download | mediapointer-dvb-s2-91ae35c1daa731973eb99fd8d422e60a6cb4ea5d.tar.gz mediapointer-dvb-s2-91ae35c1daa731973eb99fd8d422e60a6cb4ea5d.tar.bz2 |
Adjust cx23416 operation in pvrusb2 to work with model 24xxx hardware
From: Mike Isely <isely@pobox.com>
This applies some changes to the logic which controls the cx23416 in
pvrusb2. This is required in order for newer model 24xxx hardware to
operate correctly and is backwards compatible with older hardware.
Signed-off-by: Mike Isely <isely@pobox.com>
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c b/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c index 97931d3c4..553bd2d7b 100644 --- a/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c +++ b/linux/drivers/media/video/pvrusb2/pvrusb2-encoder.c @@ -294,24 +294,25 @@ int pvr2_encoder_configure(struct pvr2_hdw *hdw) /* set stream output port. */ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_SET_OUTPUT_PORT, 2, - 0x01, 0x01); + 0x01, 0x02); /* set the Program Index Information. We want I,P,B frames (max 400) */ ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_SET_PGM_INDEX_INFO, 2, 0x07, 0x0190); - /* NOTE : windows driver sends some 0xdc */ - - /* Mike Isely <isely@pobox.com> 19-Jun-2005 I've confirmed - that the Windows driver seems to issue these commands, but - right now I have no idea what these do (and neither does - the ivtv driver). But, if I leave them in, then mplayer - goes nuts with xrun errors. So for now we don't do this. - It sure would be nice to know what these are for. */ -#if 0 - ret |= pvr2_write_encoder_vcmd(hdw, 0xdc, 1, 5); - ret |= pvr2_write_encoder_vcmd(hdw, 0xdc, 2, 3, 1); - ret |= pvr2_write_encoder_vcmd(hdw, 0xdc, 1, 8); + /* NOTE : windows driver sends these */ + /* Mike Isely <isely@pobox.com> 7-Mar-2006 The windows driver + sends the following commands but if we do the same then + many apps are no longer able to read the video stream. + Leaving these out seems to do no harm at all, so they're + commented out for that reason. */ +#ifdef notdef + ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 5,0,0,0); + ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 3,1,0,0); + ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 8,0,0,0); + ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 4,1,0,0); + ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4, 0,3,0,0); + ret |= pvr2_write_encoder_vcmd(hdw, CX2341X_ENC_MISC,4,15,0,0,0); #endif /* Strange compared to ivtv data. */ |