V4L/DVB (5574): Pvrusb2: Improve handling of PAL-60 video standard
This patch originated with Servaas Vandenberghe <vdb128@picaros.org> and has been further developed a bit (to preserve saa7115 behavior). These changes allow for correct operation of PAL-60 video (Servaas tested this against a PAL-B/G tuner with the video standard overridden as a module option). Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
4f393828d1
commit
db71b7df76
|
@ -391,22 +391,29 @@ static int pvr2_encoder_prep_config(struct pvr2_hdw *hdw)
|
||||||
int pvr2_encoder_configure(struct pvr2_hdw *hdw)
|
int pvr2_encoder_configure(struct pvr2_hdw *hdw)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
int val;
|
||||||
pvr2_trace(PVR2_TRACE_ENCODER,"pvr2_encoder_configure"
|
pvr2_trace(PVR2_TRACE_ENCODER,"pvr2_encoder_configure"
|
||||||
" (cx2341x module)");
|
" (cx2341x module)");
|
||||||
hdw->enc_ctl_state.port = CX2341X_PORT_STREAMING;
|
hdw->enc_ctl_state.port = CX2341X_PORT_STREAMING;
|
||||||
hdw->enc_ctl_state.width = hdw->res_hor_val;
|
hdw->enc_ctl_state.width = hdw->res_hor_val;
|
||||||
hdw->enc_ctl_state.height = hdw->res_ver_val;
|
hdw->enc_ctl_state.height = hdw->res_ver_val;
|
||||||
hdw->enc_ctl_state.is_50hz = ((hdw->std_mask_cur &
|
hdw->enc_ctl_state.is_50hz = ((hdw->std_mask_cur & V4L2_STD_525_60) ?
|
||||||
(V4L2_STD_NTSC|V4L2_STD_PAL_M)) ?
|
|
||||||
0 : 1);
|
0 : 1);
|
||||||
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
ret |= pvr2_encoder_prep_config(hdw);
|
ret |= pvr2_encoder_prep_config(hdw);
|
||||||
|
|
||||||
|
/* saa7115: 0xf0 */
|
||||||
|
val = 0xf0;
|
||||||
|
if (hdw->hdw_type == PVR2_HDW_TYPE_24XXX) {
|
||||||
|
/* ivtv cx25840: 0x140 */
|
||||||
|
val = 0x140;
|
||||||
|
}
|
||||||
|
|
||||||
if (!ret) ret = pvr2_encoder_vcmd(
|
if (!ret) ret = pvr2_encoder_vcmd(
|
||||||
hdw,CX2341X_ENC_SET_NUM_VSYNC_LINES, 2,
|
hdw,CX2341X_ENC_SET_NUM_VSYNC_LINES, 2,
|
||||||
0xf0, 0xf0);
|
val, val);
|
||||||
|
|
||||||
/* setup firmware to notify us about some events (don't know why...) */
|
/* setup firmware to notify us about some events (don't know why...) */
|
||||||
if (!ret) ret = pvr2_encoder_vcmd(
|
if (!ret) ret = pvr2_encoder_vcmd(
|
||||||
|
|
Loading…
Reference in New Issue