From f607d837a5ba84c86b9a1446e2e2c75819429bac Mon Sep 17 00:00:00 2001 From: Mike Isely Date: Sat, 2 Sep 2006 22:37:52 -0300 Subject: [PATCH] --- yaml --- r: 37455 b: refs/heads/master c: 3ad9fc37bacd74c5c05eb0bd4b76876e0daf8a2d h: refs/heads/master i: 37453: bb497a1930cfbe470019ce3db8af0e82178c9ca3 37451: b4fabcd123782b8643b9c37e70e64bd05c9a282c 37447: ec578e73c5ffa24c427b6f710dcce01d037bd1e2 37439: 8ed005066d5f1c55612a3ebfe153d0552c9bdcba v: v3 --- [refs] | 2 +- .../drivers/media/video/pvrusb2/pvrusb2-hdw.c | 30 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6bb2f7afeeff..129b445a9354 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22ebb77dfa94904f534563512b70178f98bbe962 +refs/heads/master: 3ad9fc37bacd74c5c05eb0bd4b76876e0daf8a2d diff --git a/trunk/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/trunk/drivers/media/video/pvrusb2/pvrusb2-hdw.c index 6ab6fd187340..88604365777c 100644 --- a/trunk/drivers/media/video/pvrusb2/pvrusb2-hdw.c +++ b/trunk/drivers/media/video/pvrusb2/pvrusb2-hdw.c @@ -377,6 +377,28 @@ static int ctrl_hres_min_get(struct pvr2_ctrl *cptr,int *vp) return 0; } +static int ctrl_vres_max_get(struct pvr2_ctrl *cptr,int *vp) +{ + /* Actual maximum depends on the video standard in effect. */ + if (cptr->hdw->std_mask_cur & V4L2_STD_525_60) { + *vp = 480; + } else { + *vp = 576; + } + return 0; +} + +static int ctrl_vres_min_get(struct pvr2_ctrl *cptr,int *vp) +{ + /* Actual minimum depends on device type. */ + if (cptr->hdw->hdw_type == PVR2_HDW_TYPE_24XXX) { + *vp = 75; + } else { + *vp = 17; + } + return 0; +} + static int ctrl_cx2341x_is_dirty(struct pvr2_ctrl *cptr) { return cptr->hdw->enc_stale != 0; @@ -734,7 +756,7 @@ static const struct pvr2_ctl_info control_defs[] = { .internal_id = PVR2_CID_HRES, .default_value = 720, DEFREF(res_hor), - DEFINT(320,720), + DEFINT(19,720), /* Hook in check for clamp on horizontal resolution in order to avoid unsolved problem involving cx25840. */ .get_max_value = ctrl_hres_max_get, @@ -745,7 +767,11 @@ static const struct pvr2_ctl_info control_defs[] = { .internal_id = PVR2_CID_VRES, .default_value = 480, DEFREF(res_ver), - DEFINT(200,625), + DEFINT(17,576), + /* Hook in check for video standard and adjust maximum + depending on the standard. */ + .get_max_value = ctrl_vres_max_get, + .get_min_value = ctrl_vres_min_get, },{ .v4l_id = V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ, .default_value = V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000,