Chapter 4. DVB Video Device

Table of Contents

4.1. Video Data Types
4.1.1. video_format_t
4.1.2. video_display_format_t
4.1.3. video stream source
4.1.4. video play state
4.1.5. struct video_event
4.1.6. struct video_status
4.1.7. struct video_still_picture
4.1.8. video capabilities
4.1.9. video system
4.1.10. struct video_highlight
4.1.11. video SPU
4.1.12. video SPU palette
4.1.13. video NAVI pack
4.1.14. video attributes
4.2. Video Function Calls
4.2.1. open()
4.2.2. close()
4.2.3. write()
4.2.4. VIDEO_STOP
4.2.5. VIDEO_PLAY
4.2.6. VIDEO_FREEZE
4.2.7. VIDEO_CONTINUE
4.2.8. VIDEO_SELECT_SOURCE
4.2.9. VIDEO_SET_BLANK
4.2.10. VIDEO_GET_STATUS
4.2.11. VIDEO_GET_EVENT
4.2.12. VIDEO_SET_DISPLAY_FORMAT
4.2.13. VIDEO_STILLPICTURE
4.2.14. VIDEO_FAST_FORWARD
4.2.15. VIDEO_SLOWMOTION
4.2.16. VIDEO_GET_CAPABILITIES
4.2.17. VIDEO_SET_ID
4.2.18. VIDEO_CLEAR_BUFFER
4.2.19. VIDEO_SET_STREAMTYPE
4.2.20. VIDEO_SET_FORMAT
4.2.21. VIDEO_SET_SYSTEM
4.2.22. VIDEO_SET_HIGHLIGHT
4.2.23. VIDEO_SET_SPU
4.2.24. VIDEO_SET_SPU_PALETTE
4.2.25. VIDEO_GET_NAVI
4.2.26. VIDEO_SET_ATTRIBUTES

The DVB video device controls the MPEG2 video decoder of the DVB hardware. It can be accessed through /dev/dvb/adapter0/video0. Data types and and ioctl definitions can be accessed by including linux/dvb/video.h in your application.

Note that the DVB video device only controls decoding of the MPEG video stream, not its presentation on the TV or computer screen. On PCs this is typically handled by an associated video4linux device, e.g. /dev/video, which allows scaling and defining output windows.

Some DVB cards don’t have their own MPEG decoder, which results in the omission of the audio and video device as well as the video4linux device.

The ioctls that deal with SPUs (sub picture units) and navigation packets are only supported on some MPEG decoders made for DVD playback.