mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 20:00:53 +07:00
V4L/DVB (11042): v4l2-api: Add definitions for V4L2_MPEG_STREAM_VBI_FMT_IVTV payloads
This addition to the v4l2-api add definitions for the constants and data structures used for sliced VBI data insertion into MPEG streams triggered by V4L2_MPEG_STREAM_VBI_FMT_IVTV. This simply declares what the ivtv and cx18 drivers and MythTV have already been doing and provides a proper data structure definition to user space. Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
77ac0baf24
commit
6273fda6e3
@ -60,10 +60,10 @@ struct ivtv_dma_frame {
|
||||
|
||||
#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame)
|
||||
|
||||
/* These are the VBI types as they appear in the embedded VBI private packets. */
|
||||
#define IVTV_SLICED_TYPE_TELETEXT_B (1)
|
||||
#define IVTV_SLICED_TYPE_CAPTION_525 (4)
|
||||
#define IVTV_SLICED_TYPE_WSS_625 (5)
|
||||
#define IVTV_SLICED_TYPE_VPS (7)
|
||||
/* Deprecated defines: applications should use the defines from videodev2.h */
|
||||
#define IVTV_SLICED_TYPE_TELETEXT_B V4L2_MPEG_VBI_IVTV_TELETEXT_B
|
||||
#define IVTV_SLICED_TYPE_CAPTION_525 V4L2_MPEG_VBI_IVTV_CAPTION_525
|
||||
#define IVTV_SLICED_TYPE_WSS_625 V4L2_MPEG_VBI_IVTV_WSS_625
|
||||
#define IVTV_SLICED_TYPE_VPS V4L2_MPEG_VBI_IVTV_VPS
|
||||
|
||||
#endif /* _LINUX_IVTV_H */
|
||||
|
@ -1347,6 +1347,53 @@ struct v4l2_sliced_vbi_data {
|
||||
__u8 data[48];
|
||||
};
|
||||
|
||||
/*
|
||||
* Sliced VBI data inserted into MPEG Streams
|
||||
*/
|
||||
|
||||
/*
|
||||
* V4L2_MPEG_STREAM_VBI_FMT_IVTV:
|
||||
*
|
||||
* Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
|
||||
* MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
|
||||
* data
|
||||
*
|
||||
* Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
|
||||
* definitions are not included here. See the MPEG-2 specifications for details
|
||||
* on these headers.
|
||||
*/
|
||||
|
||||
/* Line type IDs */
|
||||
#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
|
||||
#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
|
||||
#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
|
||||
#define V4L2_MPEG_VBI_IVTV_VPS (7)
|
||||
|
||||
struct v4l2_mpeg_vbi_itv0_line {
|
||||
__u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
|
||||
__u8 data[42]; /* Sliced VBI data for the line */
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_mpeg_vbi_itv0 {
|
||||
__le32 linemask[2]; /* Bitmasks of VBI service lines present */
|
||||
struct v4l2_mpeg_vbi_itv0_line line[35];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct v4l2_mpeg_vbi_ITV0 {
|
||||
struct v4l2_mpeg_vbi_itv0_line line[36];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
|
||||
#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
|
||||
|
||||
struct v4l2_mpeg_vbi_fmt_ivtv {
|
||||
__u8 magic[4];
|
||||
union {
|
||||
struct v4l2_mpeg_vbi_itv0 itv0;
|
||||
struct v4l2_mpeg_vbi_ITV0 ITV0;
|
||||
};
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/*
|
||||
* A G G R E G A T E S T R U C T U R E S
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user