Commit ef7c3700 authored by Mike Isely's avatar Mike Isely Committed by Mauro Carvalho Chehab

V4L/DVB (7316): pvrusb2: Handle ATSC video standard bits

The pvrusb2 driver dynamically generates an enumeration of support
video standard combinations based on which video standard bits are
set.  ATSC modes don't fall into this since they are by nature not
analog.  The pvrusb2 driver has been warning about an inability to
classify ATSC standards.  This change causes the classification
algorithm to ignore any ATSC standards (such things are better handled
elsewhere anyway).
Signed-off-by: default avatarMike Isely <isely@pobox.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent fd1da789
...@@ -79,7 +79,7 @@ struct std_name { ...@@ -79,7 +79,7 @@ struct std_name {
#define TSTD_Nc (V4L2_STD_PAL_Nc) #define TSTD_Nc (V4L2_STD_PAL_Nc)
#define TSTD_60 (V4L2_STD_PAL_60) #define TSTD_60 (V4L2_STD_PAL_60)
#define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_SECAM) #define CSTD_ALL (CSTD_PAL|CSTD_NTSC|CSTD_ATSC|CSTD_SECAM)
/* Mapping of standard bits to color system */ /* Mapping of standard bits to color system */
static const struct std_name std_groups[] = { static const struct std_name std_groups[] = {
...@@ -328,7 +328,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr, ...@@ -328,7 +328,7 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
struct v4l2_standard *stddefs; struct v4l2_standard *stddefs;
if (pvrusb2_debug & PVR2_TRACE_STD) { if (pvrusb2_debug & PVR2_TRACE_STD) {
char buf[50]; char buf[80];
bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id); bcnt = pvr2_std_id_to_str(buf,sizeof(buf),id);
pvr2_trace( pvr2_trace(
PVR2_TRACE_STD,"Mapping standards mask=0x%x (%.*s)", PVR2_TRACE_STD,"Mapping standards mask=0x%x (%.*s)",
...@@ -352,8 +352,11 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr, ...@@ -352,8 +352,11 @@ struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
if ((id & std_mixes[idx2]) == std_mixes[idx2]) std_cnt++; if ((id & std_mixes[idx2]) == std_mixes[idx2]) std_cnt++;
} }
/* Don't complain about ATSC standard values */
fmsk &= ~CSTD_ATSC;
if (fmsk) { if (fmsk) {
char buf[50]; char buf[80];
bcnt = pvr2_std_id_to_str(buf,sizeof(buf),fmsk); bcnt = pvr2_std_id_to_str(buf,sizeof(buf),fmsk);
pvr2_trace( pvr2_trace(
PVR2_TRACE_ERROR_LEGS, PVR2_TRACE_ERROR_LEGS,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment