mirror of
				https://github.com/DigitalDevices/dddvb.git
				synced 2025-03-01 10:35:23 +00:00 
			
		
		
		
	adapt to current mainline kernel version
This commit is contained in:
		@@ -1,5 +1,8 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * audio.h
 | 
			
		||||
 * audio.h - DEPRECATED MPEG-TS audio decoder API
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE: should not be used on future drivers
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2000 Ralph  Metzler <ralph@convergence.de>
 | 
			
		||||
 *                  & Marcus Metzler <marcus@convergence.de>
 | 
			
		||||
@@ -51,7 +54,7 @@ typedef enum {
 | 
			
		||||
typedef struct audio_mixer {
 | 
			
		||||
	unsigned int volume_left;
 | 
			
		||||
	unsigned int volume_right;
 | 
			
		||||
  // what else do we need? bass, pass-through, ...
 | 
			
		||||
/* what else do we need? bass, pass-through, ... */
 | 
			
		||||
} audio_mixer_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -66,27 +69,6 @@ typedef struct audio_status {
 | 
			
		||||
} audio_status_t;                              /* separate decoder hardware */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef
 | 
			
		||||
struct audio_karaoke {  /* if Vocal1 or Vocal2 are non-zero, they get mixed  */
 | 
			
		||||
	int vocal1;    /* into left and right t at 70% each */
 | 
			
		||||
	int vocal2;    /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/
 | 
			
		||||
	int melody;    /* mixed into the left channel and */
 | 
			
		||||
		       /* Vocal2 into the right channel at 100% each. */
 | 
			
		||||
		       /* if Melody is non-zero, the melody channel gets mixed*/
 | 
			
		||||
} audio_karaoke_t;     /* into left and right  */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef __u16 audio_attributes_t;
 | 
			
		||||
/*   bits: descr. */
 | 
			
		||||
/*   15-13 audio coding mode (0=ac3, 2=mpeg1, 3=mpeg2ext, 4=LPCM, 6=DTS, */
 | 
			
		||||
/*   12    multichannel extension */
 | 
			
		||||
/*   11-10 audio type (0=not spec, 1=language included) */
 | 
			
		||||
/*    9- 8 audio application mode (0=not spec, 1=karaoke, 2=surround) */
 | 
			
		||||
/*    7- 6 Quantization / DRC (mpeg audio: 1=DRC exists)(lpcm: 0=16bit,  */
 | 
			
		||||
/*    5- 4 Sample frequency fs (0=48kHz, 1=96kHz) */
 | 
			
		||||
/*    2- 0 number of audio channels (n+1 channels) */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/* for GET_CAPABILITIES and SET_FORMAT, the latter should only set one bit */
 | 
			
		||||
#define AUDIO_CAP_DTS    1
 | 
			
		||||
#define AUDIO_CAP_LPCM   2
 | 
			
		||||
@@ -114,22 +96,6 @@ typedef __u16 audio_attributes_t;
 | 
			
		||||
#define AUDIO_SET_ID               _IO('o', 13)
 | 
			
		||||
#define AUDIO_SET_MIXER            _IOW('o', 14, audio_mixer_t)
 | 
			
		||||
#define AUDIO_SET_STREAMTYPE       _IO('o', 15)
 | 
			
		||||
#define AUDIO_SET_EXT_ID           _IO('o', 16)
 | 
			
		||||
#define AUDIO_SET_ATTRIBUTES       _IOW('o', 17, audio_attributes_t)
 | 
			
		||||
#define AUDIO_SET_KARAOKE          _IOW('o', 18, audio_karaoke_t)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * AUDIO_GET_PTS
 | 
			
		||||
 *
 | 
			
		||||
 * Read the 33 bit presentation time stamp as defined
 | 
			
		||||
 * in ITU T-REC-H.222.0 / ISO/IEC 13818-1.
 | 
			
		||||
 *
 | 
			
		||||
 * The PTS should belong to the currently played
 | 
			
		||||
 * frame if possible, but may also be a value close to it
 | 
			
		||||
 * like the PTS of the last decoded frame or the last PTS
 | 
			
		||||
 * extracted by the PES parser.
 | 
			
		||||
 */
 | 
			
		||||
#define AUDIO_GET_PTS              _IOR('o', 19, __u64)
 | 
			
		||||
#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
 | 
			
		||||
 | 
			
		||||
#endif /* _DVBAUDIO_H_ */
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * ca.h
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * dmx.h
 | 
			
		||||
 *
 | 
			
		||||
@@ -210,6 +211,96 @@ struct dmx_stc {
 | 
			
		||||
	__u64 stc;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * enum dmx_buffer_flags - DMX memory-mapped buffer flags
 | 
			
		||||
 *
 | 
			
		||||
 * @DMX_BUFFER_FLAG_HAD_CRC32_DISCARD:
 | 
			
		||||
 *	Indicates that the Kernel discarded one or more frames due to wrong
 | 
			
		||||
 *	CRC32 checksum.
 | 
			
		||||
 * @DMX_BUFFER_FLAG_TEI:
 | 
			
		||||
 *	Indicates that the Kernel has detected a Transport Error indicator
 | 
			
		||||
 *	(TEI) on a filtered pid.
 | 
			
		||||
 * @DMX_BUFFER_PKT_COUNTER_MISMATCH:
 | 
			
		||||
 *	Indicates that the Kernel has detected a packet counter mismatch
 | 
			
		||||
 *	on a filtered pid.
 | 
			
		||||
 * @DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED:
 | 
			
		||||
 *	Indicates that the Kernel has detected one or more frame discontinuity.
 | 
			
		||||
 * @DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR:
 | 
			
		||||
 *	Received at least one packet with a frame discontinuity indicator.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
enum dmx_buffer_flags {
 | 
			
		||||
	DMX_BUFFER_FLAG_HAD_CRC32_DISCARD		= 1 << 0,
 | 
			
		||||
	DMX_BUFFER_FLAG_TEI				= 1 << 1,
 | 
			
		||||
	DMX_BUFFER_PKT_COUNTER_MISMATCH			= 1 << 2,
 | 
			
		||||
	DMX_BUFFER_FLAG_DISCONTINUITY_DETECTED		= 1 << 3,
 | 
			
		||||
	DMX_BUFFER_FLAG_DISCONTINUITY_INDICATOR		= 1 << 4,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * struct dmx_buffer - dmx buffer info
 | 
			
		||||
 *
 | 
			
		||||
 * @index:	id number of the buffer
 | 
			
		||||
 * @bytesused:	number of bytes occupied by data in the buffer (payload);
 | 
			
		||||
 * @offset:	for buffers with memory == DMX_MEMORY_MMAP;
 | 
			
		||||
 *		offset from the start of the device memory for this plane,
 | 
			
		||||
 *		(or a "cookie" that should be passed to mmap() as offset)
 | 
			
		||||
 * @length:	size in bytes of the buffer
 | 
			
		||||
 * @flags:	bit array of buffer flags as defined by &enum dmx_buffer_flags.
 | 
			
		||||
 *		Filled only at &DMX_DQBUF.
 | 
			
		||||
 * @count:	monotonic counter for filled buffers. Helps to identify
 | 
			
		||||
 *		data stream loses. Filled only at &DMX_DQBUF.
 | 
			
		||||
 *
 | 
			
		||||
 * Contains data exchanged by application and driver using one of the streaming
 | 
			
		||||
 * I/O methods.
 | 
			
		||||
 *
 | 
			
		||||
 * Please notice that, for &DMX_QBUF, only @index should be filled.
 | 
			
		||||
 * On &DMX_DQBUF calls, all fields will be filled by the Kernel.
 | 
			
		||||
 */
 | 
			
		||||
struct dmx_buffer {
 | 
			
		||||
	__u32			index;
 | 
			
		||||
	__u32			bytesused;
 | 
			
		||||
	__u32			offset;
 | 
			
		||||
	__u32			length;
 | 
			
		||||
	__u32			flags;
 | 
			
		||||
	__u32			count;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * struct dmx_requestbuffers - request dmx buffer information
 | 
			
		||||
 *
 | 
			
		||||
 * @count:	number of requested buffers,
 | 
			
		||||
 * @size:	size in bytes of the requested buffer
 | 
			
		||||
 *
 | 
			
		||||
 * Contains data used for requesting a dmx buffer.
 | 
			
		||||
 * All reserved fields must be set to zero.
 | 
			
		||||
 */
 | 
			
		||||
struct dmx_requestbuffers {
 | 
			
		||||
	__u32			count;
 | 
			
		||||
	__u32			size;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * struct dmx_exportbuffer - export of dmx buffer as DMABUF file descriptor
 | 
			
		||||
 *
 | 
			
		||||
 * @index:	id number of the buffer
 | 
			
		||||
 * @flags:	flags for newly created file, currently only O_CLOEXEC is
 | 
			
		||||
 *		supported, refer to manual of open syscall for more details
 | 
			
		||||
 * @fd:		file descriptor associated with DMABUF (set by driver)
 | 
			
		||||
 *
 | 
			
		||||
 * Contains data used for exporting a dmx buffer as DMABUF file descriptor.
 | 
			
		||||
 * The buffer is identified by a 'cookie' returned by DMX_QUERYBUF
 | 
			
		||||
 * (identical to the cookie used to mmap() the buffer to userspace). All
 | 
			
		||||
 * reserved fields must be set to zero. The field reserved0 is expected to
 | 
			
		||||
 * become a structure 'type' allowing an alternative layout of the structure
 | 
			
		||||
 * content. Therefore this field should not be used for any other extensions.
 | 
			
		||||
 */
 | 
			
		||||
struct dmx_exportbuffer {
 | 
			
		||||
	__u32		index;
 | 
			
		||||
	__u32		flags;
 | 
			
		||||
	__s32		fd;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define DMX_START                _IO('o', 41)
 | 
			
		||||
#define DMX_STOP                 _IO('o', 42)
 | 
			
		||||
#define DMX_SET_FILTER           _IOW('o', 43, struct dmx_sct_filter_params)
 | 
			
		||||
@@ -230,4 +321,10 @@ typedef struct dmx_filter dmx_filter_t;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif /* _UAPI_DVBDMX_H_ */
 | 
			
		||||
#define DMX_REQBUFS              _IOWR('o', 60, struct dmx_requestbuffers)
 | 
			
		||||
#define DMX_QUERYBUF             _IOWR('o', 61, struct dmx_buffer)
 | 
			
		||||
#define DMX_EXPBUF               _IOWR('o', 62, struct dmx_exportbuffer)
 | 
			
		||||
#define DMX_QBUF                 _IOWR('o', 63, struct dmx_buffer)
 | 
			
		||||
#define DMX_DQBUF                _IOWR('o', 64, struct dmx_buffer)
 | 
			
		||||
 | 
			
		||||
#endif /* _DVBDMX_H_ */
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * frontend.h
 | 
			
		||||
 *
 | 
			
		||||
@@ -769,16 +770,15 @@ enum fecap_scale_params {
 | 
			
		||||
/**
 | 
			
		||||
 * struct dtv_stats - Used for reading a DTV status property
 | 
			
		||||
 *
 | 
			
		||||
 * @scale:	Filled with enum fecap_scale_params - the scale
 | 
			
		||||
 *		in usage for that parameter
 | 
			
		||||
 * @scale:
 | 
			
		||||
 *    Filled with enum fecap_scale_params - the scale in usage
 | 
			
		||||
 *    for that parameter
 | 
			
		||||
 *
 | 
			
		||||
 * The ``{unnamed_union}`` may have either one of the values below:
 | 
			
		||||
 *
 | 
			
		||||
 * %svalue
 | 
			
		||||
 * @svalue:
 | 
			
		||||
 *	integer value of the measure, for %FE_SCALE_DECIBEL,
 | 
			
		||||
 *	used for dB measures. The unit is 0.001 dB.
 | 
			
		||||
 *
 | 
			
		||||
 * %uvalue
 | 
			
		||||
 * @uvalue:
 | 
			
		||||
 *	unsigned integer value of the measure, used when @scale is
 | 
			
		||||
 *	either %FE_SCALE_RELATIVE or %FE_SCALE_COUNTER.
 | 
			
		||||
 *
 | 
			
		||||
@@ -844,16 +844,16 @@ struct dtv_fe_stats {
 | 
			
		||||
 * @cmd:	Digital TV command.
 | 
			
		||||
 * @reserved:	Not used.
 | 
			
		||||
 * @u:		Union with the values for the command.
 | 
			
		||||
 * @result:	Result of the command set (currently unused).
 | 
			
		||||
 * @u.data:           A unsigned 32 bits integer with command value.
 | 
			
		||||
 * @u.buffer:         Struct to store bigger properties.
 | 
			
		||||
 *                    Currently unused.
 | 
			
		||||
 * @u.buffer.data:    an unsigned 32-bits array.
 | 
			
		||||
 * @u.buffer.len:     number of elements of the buffer.
 | 
			
		||||
 * @u.buffer.reserved1:       Reserved.
 | 
			
		||||
 * @u.buffer.reserved2:       Reserved.
 | 
			
		||||
 * @u.st:             a &struct dtv_fe_stats array of statistics.
 | 
			
		||||
 * @result:           Currently unused.
 | 
			
		||||
 *
 | 
			
		||||
 * The @u union may have either one of the values below:
 | 
			
		||||
 *
 | 
			
		||||
 * %data
 | 
			
		||||
 *	an unsigned 32-bits number.
 | 
			
		||||
 * %st
 | 
			
		||||
 *	a &struct dtv_fe_stats array of statistics.
 | 
			
		||||
 * %buffer
 | 
			
		||||
 *	a buffer of up to 32 characters (currently unused).
 | 
			
		||||
 */
 | 
			
		||||
struct dtv_property {
 | 
			
		||||
	__u32 cmd;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * net.h
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,8 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * osd.h
 | 
			
		||||
 * osd.h - DEPRECATED On Screen Display API
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE: should not be used on future drivers
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2001 Ralph  Metzler <ralph@convergence.de>
 | 
			
		||||
 *                  & Marcus Metzler <marcus@convergence.de>
 | 
			
		||||
@@ -26,79 +29,109 @@
 | 
			
		||||
 | 
			
		||||
#include <linux/compiler.h>
 | 
			
		||||
 | 
			
		||||
#ifndef __user
 | 
			
		||||
#define __user
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
  // All functions return -2 on "not open"
 | 
			
		||||
  OSD_Close=1,    // ()
 | 
			
		||||
  // Disables OSD and releases the buffers
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_Open,       // (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0))
 | 
			
		||||
  // Opens OSD with this size and bit depth
 | 
			
		||||
  // returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
 | 
			
		||||
  OSD_Show,       // ()
 | 
			
		||||
  // enables OSD mode
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_Hide,       // ()
 | 
			
		||||
  // disables OSD mode
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_Clear,      // ()
 | 
			
		||||
  // Sets all pixel to color 0
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_Fill,       // (color)
 | 
			
		||||
  // Sets all pixel to color <col>
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_SetColor,   // (color,R{x0},G{y0},B{x1},opacity{y1})
 | 
			
		||||
  // set palette entry <num> to <r,g,b>, <mix> and <trans> apply
 | 
			
		||||
  // R,G,B: 0..255
 | 
			
		||||
  // R=Red, G=Green, B=Blue
 | 
			
		||||
  // opacity=0:      pixel opacity 0% (only video pixel shows)
 | 
			
		||||
  // opacity=1..254: pixel opacity as specified in header
 | 
			
		||||
  // opacity=255:    pixel opacity 100% (only OSD pixel shows)
 | 
			
		||||
  // returns 0 on success, -1 on error
 | 
			
		||||
  OSD_SetPalette, // (firstcolor{color},lastcolor{x0},data)
 | 
			
		||||
  // Set a number of entries in the palette
 | 
			
		||||
  // sets the entries "firstcolor" through "lastcolor" from the array "data"
 | 
			
		||||
  // data has 4 byte for each color:
 | 
			
		||||
  // R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
 | 
			
		||||
  OSD_SetTrans,   // (transparency{color})
 | 
			
		||||
  // Sets transparency of mixed pixel (0..15)
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_SetPixel,   // (x0,y0,color)
 | 
			
		||||
  // sets pixel <x>,<y> to color number <col>
 | 
			
		||||
  // returns 0 on success, -1 on error
 | 
			
		||||
  OSD_GetPixel,   // (x0,y0)
 | 
			
		||||
  // returns color number of pixel <x>,<y>,  or -1
 | 
			
		||||
  OSD_SetRow,     // (x0,y0,x1,data)
 | 
			
		||||
  // fills pixels x0,y through  x1,y with the content of data[]
 | 
			
		||||
  // returns 0 on success, -1 on clipping all pixel (no pixel drawn)
 | 
			
		||||
  OSD_SetBlock,   // (x0,y0,x1,y1,increment{color},data)
 | 
			
		||||
  // fills pixels x0,y0 through  x1,y1 with the content of data[]
 | 
			
		||||
  // inc contains the width of one line in the data block,
 | 
			
		||||
  // inc<=0 uses blockwidth as linewidth
 | 
			
		||||
  // returns 0 on success, -1 on clipping all pixel
 | 
			
		||||
  OSD_FillRow,    // (x0,y0,x1,color)
 | 
			
		||||
  // fills pixels x0,y through  x1,y with the color <col>
 | 
			
		||||
  // returns 0 on success, -1 on clipping all pixel
 | 
			
		||||
  OSD_FillBlock,  // (x0,y0,x1,y1,color)
 | 
			
		||||
  // fills pixels x0,y0 through  x1,y1 with the color <col>
 | 
			
		||||
  // returns 0 on success, -1 on clipping all pixel
 | 
			
		||||
  OSD_Line,       // (x0,y0,x1,y1,color)
 | 
			
		||||
  // draw a line from x0,y0 to x1,y1 with the color <col>
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_Query,      // (x0,y0,x1,y1,xasp{color}}), yasp=11
 | 
			
		||||
  // fills parameters with the picture dimensions and the pixel aspect ratio
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
  OSD_Test,       // ()
 | 
			
		||||
  // draws a test picture. for debugging purposes only
 | 
			
		||||
  // returns 0 on success
 | 
			
		||||
// TODO: remove "test" in final version
 | 
			
		||||
  OSD_Text,       // (x0,y0,size,color,text)
 | 
			
		||||
  OSD_SetWindow, //  (x0) set window with number 0<x0<8 as current
 | 
			
		||||
  OSD_MoveWindow, //  move current window to (x0, y0)
 | 
			
		||||
  OSD_OpenRaw,	// Open other types of OSD windows
 | 
			
		||||
	/* All functions return -2 on "not open" */
 | 
			
		||||
	OSD_Close = 1,	/* () */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Disables OSD and releases the buffers
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Open,	/* (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0)) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Opens OSD with this size and bit depth
 | 
			
		||||
	 * returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Show,	/* () */
 | 
			
		||||
	/*
 | 
			
		||||
	 * enables OSD mode
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Hide,	/* () */
 | 
			
		||||
	/*
 | 
			
		||||
	 * disables OSD mode
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Clear,	/* () */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Sets all pixel to color 0
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Fill,	/* (color) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Sets all pixel to color <col>
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_SetColor,	/* (color,R{x0},G{y0},B{x1},opacity{y1}) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * set palette entry <num> to <r,g,b>, <mix> and <trans> apply
 | 
			
		||||
	 * R,G,B: 0..255
 | 
			
		||||
	 * R=Red, G=Green, B=Blue
 | 
			
		||||
	 * opacity=0:      pixel opacity 0% (only video pixel shows)
 | 
			
		||||
	 * opacity=1..254: pixel opacity as specified in header
 | 
			
		||||
	 * opacity=255:    pixel opacity 100% (only OSD pixel shows)
 | 
			
		||||
	 * returns 0 on success, -1 on error
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_SetPalette,	/* (firstcolor{color},lastcolor{x0},data) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Set a number of entries in the palette
 | 
			
		||||
	 * sets the entries "firstcolor" through "lastcolor" from the array "data"
 | 
			
		||||
	 * data has 4 byte for each color:
 | 
			
		||||
	 * R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_SetTrans,	/* (transparency{color}) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * Sets transparency of mixed pixel (0..15)
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_SetPixel,	/* (x0,y0,color) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * sets pixel <x>,<y> to color number <col>
 | 
			
		||||
	 * returns 0 on success, -1 on error
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_GetPixel,	/* (x0,y0) */
 | 
			
		||||
	/* returns color number of pixel <x>,<y>,  or -1 */
 | 
			
		||||
	OSD_SetRow,	/* (x0,y0,x1,data) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * fills pixels x0,y through  x1,y with the content of data[]
 | 
			
		||||
	 * returns 0 on success, -1 on clipping all pixel (no pixel drawn)
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_SetBlock,	/* (x0,y0,x1,y1,increment{color},data) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * fills pixels x0,y0 through  x1,y1 with the content of data[]
 | 
			
		||||
	 * inc contains the width of one line in the data block,
 | 
			
		||||
	 * inc<=0 uses blockwidth as linewidth
 | 
			
		||||
	 * returns 0 on success, -1 on clipping all pixel
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_FillRow,	/* (x0,y0,x1,color) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * fills pixels x0,y through  x1,y with the color <col>
 | 
			
		||||
	 * returns 0 on success, -1 on clipping all pixel
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_FillBlock,	/* (x0,y0,x1,y1,color) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * fills pixels x0,y0 through  x1,y1 with the color <col>
 | 
			
		||||
	 * returns 0 on success, -1 on clipping all pixel
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Line,	/* (x0,y0,x1,y1,color) */
 | 
			
		||||
	/*
 | 
			
		||||
	 * draw a line from x0,y0 to x1,y1 with the color <col>
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Query,	/* (x0,y0,x1,y1,xasp{color}}), yasp=11 */
 | 
			
		||||
	/*
 | 
			
		||||
	 * fills parameters with the picture dimensions and the pixel aspect ratio
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Test,       /* () */
 | 
			
		||||
	/*
 | 
			
		||||
	 * draws a test picture. for debugging purposes only
 | 
			
		||||
	 * returns 0 on success
 | 
			
		||||
	 * TODO: remove "test" in final version
 | 
			
		||||
	 */
 | 
			
		||||
	OSD_Text,	/* (x0,y0,size,color,text) */
 | 
			
		||||
	OSD_SetWindow,	/* (x0) set window with number 0<x0<8 as current */
 | 
			
		||||
	OSD_MoveWindow,	/* move current window to (x0, y0) */
 | 
			
		||||
	OSD_OpenRaw,	/* Open other types of OSD windows */
 | 
			
		||||
} OSD_Command;
 | 
			
		||||
 | 
			
		||||
typedef struct osd_cmd_s {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,4 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * version.h
 | 
			
		||||
 *
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,8 @@
 | 
			
		||||
/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */
 | 
			
		||||
/*
 | 
			
		||||
 * video.h
 | 
			
		||||
 * video.h - DEPRECATED MPEG-TS video decoder API
 | 
			
		||||
 *
 | 
			
		||||
 * NOTE: should not be used on future drivers
 | 
			
		||||
 *
 | 
			
		||||
 * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
 | 
			
		||||
 *                  & Ralph  Metzler <ralph@convergence.de>
 | 
			
		||||
@@ -29,10 +32,6 @@
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifndef __user
 | 
			
		||||
#define __user
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
	VIDEO_FORMAT_4_3,     /* Select 4:3 format */
 | 
			
		||||
	VIDEO_FORMAT_16_9,    /* Select 16:9 format. */
 | 
			
		||||
@@ -40,18 +39,6 @@ typedef enum {
 | 
			
		||||
} video_format_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
	 VIDEO_SYSTEM_PAL,
 | 
			
		||||
	 VIDEO_SYSTEM_NTSC,
 | 
			
		||||
	 VIDEO_SYSTEM_PALN,
 | 
			
		||||
	 VIDEO_SYSTEM_PALNc,
 | 
			
		||||
	 VIDEO_SYSTEM_PALM,
 | 
			
		||||
	 VIDEO_SYSTEM_NTSC60,
 | 
			
		||||
	 VIDEO_SYSTEM_PAL60,
 | 
			
		||||
	 VIDEO_SYSTEM_PALM60
 | 
			
		||||
} video_system_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef enum {
 | 
			
		||||
	VIDEO_PAN_SCAN,       /* use pan and scan format */
 | 
			
		||||
	VIDEO_LETTER_BOX,     /* use letterbox format */
 | 
			
		||||
@@ -86,11 +73,11 @@ typedef enum {
 | 
			
		||||
#define VIDEO_CMD_CONTINUE    (3)
 | 
			
		||||
 | 
			
		||||
/* Flags for VIDEO_CMD_FREEZE */
 | 
			
		||||
#define VIDEO_CMD_FREEZE_TO_BLACK     	(1 << 0)
 | 
			
		||||
#define VIDEO_CMD_FREEZE_TO_BLACK	(1 << 0)
 | 
			
		||||
 | 
			
		||||
/* Flags for VIDEO_CMD_STOP */
 | 
			
		||||
#define VIDEO_CMD_STOP_TO_BLACK      	(1 << 0)
 | 
			
		||||
#define VIDEO_CMD_STOP_IMMEDIATELY     	(1 << 1)
 | 
			
		||||
#define VIDEO_CMD_STOP_TO_BLACK		(1 << 0)
 | 
			
		||||
#define VIDEO_CMD_STOP_IMMEDIATELY	(1 << 1)
 | 
			
		||||
 | 
			
		||||
/* Play input formats: */
 | 
			
		||||
/* The decoder has no special format requirements */
 | 
			
		||||
@@ -127,8 +114,8 @@ struct video_command {
 | 
			
		||||
/* FIELD_UNKNOWN can be used if the hardware does not know whether
 | 
			
		||||
   the Vsync is for an odd, even or progressive (i.e. non-interlaced)
 | 
			
		||||
   field. */
 | 
			
		||||
#define VIDEO_VSYNC_FIELD_UNKNOWN  	(0)
 | 
			
		||||
#define VIDEO_VSYNC_FIELD_ODD 		(1)
 | 
			
		||||
#define VIDEO_VSYNC_FIELD_UNKNOWN	(0)
 | 
			
		||||
#define VIDEO_VSYNC_FIELD_ODD		(1)
 | 
			
		||||
#define VIDEO_VSYNC_FIELD_EVEN		(2)
 | 
			
		||||
#define VIDEO_VSYNC_FIELD_PROGRESSIVE	(3)
 | 
			
		||||
 | 
			
		||||
@@ -136,8 +123,8 @@ struct video_event {
 | 
			
		||||
	__s32 type;
 | 
			
		||||
#define VIDEO_EVENT_SIZE_CHANGED	1
 | 
			
		||||
#define VIDEO_EVENT_FRAME_RATE_CHANGED	2
 | 
			
		||||
#define VIDEO_EVENT_DECODER_STOPPED 	3
 | 
			
		||||
#define VIDEO_EVENT_VSYNC 		4
 | 
			
		||||
#define VIDEO_EVENT_DECODER_STOPPED	3
 | 
			
		||||
#define VIDEO_EVENT_VSYNC		4
 | 
			
		||||
	/* unused, make sure to use atomic time for y2038 if it ever gets used */
 | 
			
		||||
	long timestamp;
 | 
			
		||||
	union {
 | 
			
		||||
@@ -163,44 +150,6 @@ struct video_still_picture {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef
 | 
			
		||||
struct video_highlight {
 | 
			
		||||
	int     active;      /*    1=show highlight, 0=hide highlight */
 | 
			
		||||
	__u8    contrast1;   /*    7- 4  Pattern pixel contrast */
 | 
			
		||||
			     /*    3- 0  Background pixel contrast */
 | 
			
		||||
	__u8    contrast2;   /*    7- 4  Emphasis pixel-2 contrast */
 | 
			
		||||
			     /*    3- 0  Emphasis pixel-1 contrast */
 | 
			
		||||
	__u8    color1;      /*    7- 4  Pattern pixel color */
 | 
			
		||||
			     /*    3- 0  Background pixel color */
 | 
			
		||||
	__u8    color2;      /*    7- 4  Emphasis pixel-2 color */
 | 
			
		||||
			     /*    3- 0  Emphasis pixel-1 color */
 | 
			
		||||
	__u32    ypos;       /*   23-22  auto action mode */
 | 
			
		||||
			     /*   21-12  start y */
 | 
			
		||||
			     /*    9- 0  end y */
 | 
			
		||||
	__u32    xpos;       /*   23-22  button color number */
 | 
			
		||||
			     /*   21-12  start x */
 | 
			
		||||
			     /*    9- 0  end x */
 | 
			
		||||
} video_highlight_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct video_spu {
 | 
			
		||||
	int active;
 | 
			
		||||
	int stream_id;
 | 
			
		||||
} video_spu_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct video_spu_palette {      /* SPU Palette information */
 | 
			
		||||
	int length;
 | 
			
		||||
	__u8 __user *palette;
 | 
			
		||||
} video_spu_palette_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef struct video_navi_pack {
 | 
			
		||||
	int length;          /* 0 ... 1024 */
 | 
			
		||||
	__u8 data[1024];
 | 
			
		||||
} video_navi_pack_t;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
typedef __u16 video_attributes_t;
 | 
			
		||||
/*   bits: descr. */
 | 
			
		||||
/*   15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) */
 | 
			
		||||
@@ -245,17 +194,9 @@ typedef __u16 video_attributes_t;
 | 
			
		||||
#define VIDEO_SLOWMOTION           _IO('o', 32)
 | 
			
		||||
#define VIDEO_GET_CAPABILITIES     _IOR('o', 33, unsigned int)
 | 
			
		||||
#define VIDEO_CLEAR_BUFFER         _IO('o',  34)
 | 
			
		||||
#define VIDEO_SET_ID               _IO('o', 35)
 | 
			
		||||
#define VIDEO_SET_STREAMTYPE       _IO('o', 36)
 | 
			
		||||
#define VIDEO_SET_FORMAT           _IO('o', 37)
 | 
			
		||||
#define VIDEO_SET_SYSTEM           _IO('o', 38)
 | 
			
		||||
#define VIDEO_SET_HIGHLIGHT        _IOW('o', 39, video_highlight_t)
 | 
			
		||||
#define VIDEO_SET_SPU              _IOW('o', 50, video_spu_t)
 | 
			
		||||
#define VIDEO_SET_SPU_PALETTE      _IOW('o', 51, video_spu_palette_t)
 | 
			
		||||
#define VIDEO_GET_NAVI             _IOR('o', 52, video_navi_pack_t)
 | 
			
		||||
#define VIDEO_SET_ATTRIBUTES       _IO('o', 53)
 | 
			
		||||
#define VIDEO_GET_SIZE             _IOR('o', 55, video_size_t)
 | 
			
		||||
#define VIDEO_GET_FRAME_RATE       _IOR('o', 56, unsigned int)
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * VIDEO_GET_PTS
 | 
			
		||||
@@ -271,9 +212,9 @@ typedef __u16 video_attributes_t;
 | 
			
		||||
#define VIDEO_GET_PTS              _IOR('o', 57, __u64)
 | 
			
		||||
 | 
			
		||||
/* Read the number of displayed frames since the decoder was started */
 | 
			
		||||
#define VIDEO_GET_FRAME_COUNT  	   _IOR('o', 58, __u64)
 | 
			
		||||
#define VIDEO_GET_FRAME_COUNT	   _IOR('o', 58, __u64)
 | 
			
		||||
 | 
			
		||||
#define VIDEO_COMMAND     	   _IOWR('o', 59, struct video_command)
 | 
			
		||||
#define VIDEO_TRY_COMMAND 	   _IOWR('o', 60, struct video_command)
 | 
			
		||||
#define VIDEO_COMMAND		   _IOWR('o', 59, struct video_command)
 | 
			
		||||
#define VIDEO_TRY_COMMAND	   _IOWR('o', 60, struct video_command)
 | 
			
		||||
 | 
			
		||||
#endif /* _UAPI_DVBVIDEO_H_ */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user