xref: /linux/drivers/media/usb/pvrusb2/pvrusb2-std.h (revision 3d0fe49454652117522f60bfbefb978ba0e5300b)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  *
4  *  Copyright (C) 2005 Mike Isely <isely@pobox.com>
5  */
6 #ifndef __PVRUSB2_STD_H
7 #define __PVRUSB2_STD_H
8 
9 #include <linux/videodev2.h>
10 
11 // Convert string describing one or more video standards into a mask of V4L
12 // standard bits.  Return true if conversion succeeds otherwise return
13 // false.  String is expected to be of the form: C1-x/y;C2-a/b where C1 and
14 // C2 are color system names (e.g. "PAL", "NTSC") and x, y, a, and b are
15 // modulation schemes (e.g. "M", "B", "G", etc).
16 int pvr2_std_str_to_id(v4l2_std_id *idPtr,const char *bufPtr,
17 		       unsigned int bufSize);
18 
19 // Convert any arbitrary set of video standard bits into an unambiguous
20 // readable string.  Return value is the number of bytes consumed in the
21 // buffer.  The formatted string is of a form that can be parsed by our
22 // sibling std_std_to_id() function.
23 unsigned int pvr2_std_id_to_str(char *bufPtr, unsigned int bufSize,
24 				v4l2_std_id id);
25 
26 // Create an array of suitable v4l2_standard structures given a bit mask of
27 // video standards to support.  The array is allocated from the heap, and
28 // the number of elements is returned in the first argument.
29 struct v4l2_standard *pvr2_std_create_enum(unsigned int *countptr,
30 					   v4l2_std_id id);
31 
32 // Return mask of which video standard bits are valid
33 v4l2_std_id pvr2_std_get_usable(void);
34 
35 #endif /* __PVRUSB2_STD_H */
36