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