/* SPDX-License-Identifier: LGPL-2.1+ WITH Linux-syscall-note */ /* * video.h - DEPRECATED MPEG-TS video decoder API * * NOTE: should not be used on future drivers * * Copyright (C) 2000 Marcus Metzler <[email protected]> * & Ralph Metzler <[email protected]> * for convergence integrated media GmbH */ #ifndef _UAPI_DVBVIDEO_H_ #define _UAPI_DVBVIDEO_H_ #include <linux/types.h> #ifndef __KERNEL__ #include <time.h> #endif video_format_t; video_displayformat_t; video_size_t; video_stream_source_t; video_play_state_t; /* Decoder commands */ #define VIDEO_CMD_PLAY … #define VIDEO_CMD_STOP … #define VIDEO_CMD_FREEZE … #define VIDEO_CMD_CONTINUE … /* Flags for VIDEO_CMD_FREEZE */ #define VIDEO_CMD_FREEZE_TO_BLACK … /* Flags for VIDEO_CMD_STOP */ #define VIDEO_CMD_STOP_TO_BLACK … #define VIDEO_CMD_STOP_IMMEDIATELY … /* Play input formats: */ /* The decoder has no special format requirements */ #define VIDEO_PLAY_FMT_NONE … /* The decoder requires full GOPs */ #define VIDEO_PLAY_FMT_GOP … /* The structure must be zeroed before use by the application This ensures it can be extended safely in the future. */ 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 … #define VIDEO_VSYNC_FIELD_ODD … #define VIDEO_VSYNC_FIELD_EVEN … #define VIDEO_VSYNC_FIELD_PROGRESSIVE … struct video_event { … }; struct video_status { … }; struct video_still_picture { … }; video_attributes_t; /* bits: descr. */ /* 15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) */ /* 13-12 TV system (0=525/60, 1=625/50) */ /* 11-10 Aspect ratio (0=4:3, 3=16:9) */ /* 9- 8 permitted display mode on 4:3 monitor (0=both, 1=only pan-sca */ /* 7 line 21-1 data present in GOP (1=yes, 0=no) */ /* 6 line 21-2 data present in GOP (1=yes, 0=no) */ /* 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 */ /* 2 source letterboxed (1=yes, 0=no) */ /* 0 film/camera mode (0= *camera, 1=film (625/50 only)) */ /* bit definitions for capabilities: */ /* can the hardware decode MPEG1 and/or MPEG2? */ #define VIDEO_CAP_MPEG1 … #define VIDEO_CAP_MPEG2 … /* can you send a system and/or program stream to video device? (you still have to open the video and the audio device but only send the stream to the video device) */ #define VIDEO_CAP_SYS … #define VIDEO_CAP_PROG … /* can the driver also handle SPU, NAVI and CSS encoded data? (CSS API is not present yet) */ #define VIDEO_CAP_SPU … #define VIDEO_CAP_NAVI … #define VIDEO_CAP_CSS … #define VIDEO_STOP … #define VIDEO_PLAY … #define VIDEO_FREEZE … #define VIDEO_CONTINUE … #define VIDEO_SELECT_SOURCE … #define VIDEO_SET_BLANK … #define VIDEO_GET_STATUS … #define VIDEO_GET_EVENT … #define VIDEO_SET_DISPLAY_FORMAT … #define VIDEO_STILLPICTURE … #define VIDEO_FAST_FORWARD … #define VIDEO_SLOWMOTION … #define VIDEO_GET_CAPABILITIES … #define VIDEO_CLEAR_BUFFER … #define VIDEO_SET_STREAMTYPE … #define VIDEO_SET_FORMAT … #define VIDEO_GET_SIZE … /** * VIDEO_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 VIDEO_GET_PTS … /* Read the number of displayed frames since the decoder was started */ #define VIDEO_GET_FRAME_COUNT … #define VIDEO_COMMAND … #define VIDEO_TRY_COMMAND … #endif /* _UAPI_DVBVIDEO_H_ */