Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[media] DocBook: add missing DVB video ioctls

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

authored by

Hans Verkuil and committed by
Mauro Carvalho Chehab
8465efbb a9d134f2

+322 -11
+322 -11
Documentation/DocBook/media/dvb/video.xml
··· 15 15 <para>The ioctls that deal with SPUs (sub picture units) and navigation packets are only 16 16 supported on some MPEG decoders made for DVD playback. 17 17 </para> 18 + <para> 19 + These ioctls were also used by V4L2 to control MPEG decoders implemented in V4L2. The use 20 + of these ioctls for that purpose has been made obsolete and proper V4L2 ioctls or controls 21 + have been created to replace that functionality.</para> 18 22 <section id="video_types"> 19 23 <title>Video Data Types</title> 20 24 ··· 59 55 </section> 60 56 61 57 <section id="video-stream-source-t"> 62 - <title>video stream source</title> 58 + <title>video_stream_source_t</title> 63 59 <para>The video stream source is set through the VIDEO_SELECT_SOURCE call and can take 64 60 the following values, depending on whether we are replaying from an internal (demuxer) or 65 61 external (user write) source. ··· 80 76 </section> 81 77 82 78 <section id="video-play-state-t"> 83 - <title>video play state</title> 79 + <title>video_play_state_t</title> 84 80 <para>The following values can be returned by the VIDEO_GET_STATUS call representing the 85 81 state of video playback. 86 82 </para> ··· 94 90 </section> 95 91 96 92 <section id="video-command"> 93 + <title>struct video_command</title> 97 94 <para>The structure must be zeroed before use by the application 98 95 This ensures it can be extended safely in the future.</para> 99 - <title>struct video-command</title> 100 96 <programlisting> 101 97 struct video_command { 102 98 __u32 cmd; ··· 125 121 </section> 126 122 127 123 <section id="video-size-t"> 128 - <title>struct video_size-t</title> 124 + <title>video_size_t</title> 129 125 <programlisting> 130 126 typedef struct { 131 127 int w; ··· 221 217 </section> 222 218 223 219 <section id="video-system"> 224 - <title>video system</title> 220 + <title>video_system_t</title> 225 221 <para>A call to VIDEO_SET_SYSTEM sets the desired video system for TV output. The 226 222 following system types can be set: 227 223 </para> ··· 267 263 268 264 </section> 269 265 <section id="video-spu"> 270 - <title>video SPU</title> 266 + <title>struct video_spu</title> 271 267 <para>Calling VIDEO_SET_SPU deactivates or activates SPU decoding, according to the 272 268 following format: 273 269 </para> ··· 281 277 282 278 </section> 283 279 <section id="video-spu-palette"> 284 - <title>video SPU palette</title> 280 + <title>struct video_spu_palette</title> 285 281 <para>The following structure is used to set the SPU palette by calling VIDEO_SPU_PALETTE: 286 282 </para> 287 283 <programlisting> 288 284 typedef 289 - struct video_spu_palette{ 285 + struct video_spu_palette { 290 286 int length; 291 287 uint8_t &#x22C6;palette; 292 288 } video_spu_palette_t; ··· 294 290 295 291 </section> 296 292 <section id="video-navi-pack"> 297 - <title>video NAVI pack</title> 293 + <title>struct video_navi_pack</title> 298 294 <para>In order to get the navigational data the following structure has to be passed to the ioctl 299 295 VIDEO_GET_NAVI: 300 296 </para> 301 297 <programlisting> 302 298 typedef 303 - struct video_navi_pack{ 299 + struct video_navi_pack { 304 300 int length; /&#x22C6; 0 ... 1024 &#x22C6;/ 305 301 uint8_t data[1024]; 306 302 } video_navi_pack_t; ··· 309 305 310 306 311 307 <section id="video-attributes-t"> 312 - <title>video attributes</title> 308 + <title>video_attributes_t</title> 313 309 <para>The following attributes can be set by a call to VIDEO_SET_ATTRIBUTES: 314 310 </para> 315 311 <programlisting> ··· 545 541 role="subsection"><title>VIDEO_STOP</title> 546 542 <para>DESCRIPTION 547 543 </para> 544 + <para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2 545 + &VIDIOC-DECODER-CMD; instead.</para> 548 546 <informaltable><tgroup cols="1"><tbody><row><entry 549 547 align="char"> 550 548 <para>This ioctl call asks the Video Device to stop playing the current stream. ··· 604 598 role="subsection"><title>VIDEO_PLAY</title> 605 599 <para>DESCRIPTION 606 600 </para> 601 + <para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2 602 + &VIDIOC-DECODER-CMD; instead.</para> 607 603 <informaltable><tgroup cols="1"><tbody><row><entry 608 604 align="char"> 609 605 <para>This ioctl call asks the Video Device to start playing a video stream from the ··· 642 634 role="subsection"><title>VIDEO_FREEZE</title> 643 635 <para>DESCRIPTION 644 636 </para> 637 + <para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2 638 + &VIDIOC-DECODER-CMD; instead.</para> 645 639 <informaltable><tgroup cols="1"><tbody><row><entry 646 640 align="char"> 647 641 <para>This ioctl call suspends the live video stream being played. Decoding ··· 684 674 role="subsection"><title>VIDEO_CONTINUE</title> 685 675 <para>DESCRIPTION 686 676 </para> 677 + <para>This ioctl is for DVB devices only. To control a V4L2 decoder use the V4L2 678 + &VIDIOC-DECODER-CMD; instead.</para> 687 679 <informaltable><tgroup cols="1"><tbody><row><entry 688 680 align="char"> 689 681 <para>This ioctl call restarts decoding and playing processes of the video stream ··· 722 710 role="subsection"><title>VIDEO_SELECT_SOURCE</title> 723 711 <para>DESCRIPTION 724 712 </para> 713 + <para>This ioctl is for DVB devices only. This ioctl was also supported by the 714 + V4L2 ivtv driver, but that has been replaced by the ivtv-specific 715 + <constant>IVTV_IOC_PASSTHROUGH_MODE</constant> ioctl.</para> 725 716 <informaltable><tgroup cols="1"><tbody><row><entry 726 717 align="char"> 727 718 <para>This ioctl call informs the video device which source shall be used for the input ··· 860 845 </row></tbody></tgroup></informaltable> 861 846 &return-value-dvb; 862 847 848 + </section><section id="VIDEO_GET_FRAME_COUNT" 849 + role="subsection"><title>VIDEO_GET_FRAME_COUNT</title> 850 + <para>DESCRIPTION 851 + </para> 852 + <para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this 853 + ioctl has been replaced by the <constant>V4L2_CID_MPEG_VIDEO_DEC_FRAME</constant> control.</para> 854 + <informaltable><tgroup cols="1"><tbody><row><entry 855 + align="char"> 856 + <para>This ioctl call asks the Video Device to return the number of displayed frames 857 + since the decoder was started.</para> 858 + </entry> 859 + </row></tbody></tgroup></informaltable> 860 + <para>SYNOPSIS 861 + </para> 862 + <informaltable><tgroup cols="1"><tbody><row><entry 863 + align="char"> 864 + <para>int ioctl(int fd, int request = 865 + VIDEO_GET_FRAME_COUNT, __u64 *pts);</para> 866 + </entry> 867 + </row></tbody></tgroup></informaltable> 868 + <para>PARAMETERS 869 + </para> 870 + <informaltable><tgroup cols="2"><tbody><row><entry 871 + align="char"> 872 + <para>int fd</para> 873 + </entry><entry 874 + align="char"> 875 + <para>File descriptor returned by a previous call to open().</para> 876 + </entry> 877 + </row><row><entry 878 + align="char"> 879 + <para>int request</para> 880 + </entry><entry 881 + align="char"> 882 + <para>Equals VIDEO_GET_FRAME_COUNT for this 883 + command.</para> 884 + </entry> 885 + </row><row><entry 886 + align="char"> 887 + <para>__u64 *pts 888 + </para> 889 + </entry><entry 890 + align="char"> 891 + <para>Returns the number of frames displayed since the decoder was started. 892 + </para> 893 + </entry> 894 + </row></tbody></tgroup></informaltable> 895 + &return-value-dvb; 896 + 897 + </section><section id="VIDEO_GET_PTS" 898 + role="subsection"><title>VIDEO_GET_PTS</title> 899 + <para>DESCRIPTION 900 + </para> 901 + <para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this 902 + ioctl has been replaced by the <constant>V4L2_CID_MPEG_VIDEO_DEC_PTS</constant> control.</para> 903 + <informaltable><tgroup cols="1"><tbody><row><entry 904 + align="char"> 905 + <para>This ioctl call asks the Video Device to return the current PTS timestamp.</para> 906 + </entry> 907 + </row></tbody></tgroup></informaltable> 908 + <para>SYNOPSIS 909 + </para> 910 + <informaltable><tgroup cols="1"><tbody><row><entry 911 + align="char"> 912 + <para>int ioctl(int fd, int request = 913 + VIDEO_GET_PTS, __u64 *pts);</para> 914 + </entry> 915 + </row></tbody></tgroup></informaltable> 916 + <para>PARAMETERS 917 + </para> 918 + <informaltable><tgroup cols="2"><tbody><row><entry 919 + align="char"> 920 + <para>int fd</para> 921 + </entry><entry 922 + align="char"> 923 + <para>File descriptor returned by a previous call to open().</para> 924 + </entry> 925 + </row><row><entry 926 + align="char"> 927 + <para>int request</para> 928 + </entry><entry 929 + align="char"> 930 + <para>Equals VIDEO_GET_PTS for this 931 + command.</para> 932 + </entry> 933 + </row><row><entry 934 + align="char"> 935 + <para>__u64 *pts 936 + </para> 937 + </entry><entry 938 + align="char"> 939 + <para>Returns the 33-bit timestamp as defined in ITU T-REC-H.222.0 / ISO/IEC 13818-1. 940 + </para> 941 + <para> 942 + The PTS should belong to the currently played 943 + frame if possible, but may also be a value close to it 944 + like the PTS of the last decoded frame or the last PTS 945 + extracted by the PES parser.</para> 946 + </entry> 947 + </row></tbody></tgroup></informaltable> 948 + &return-value-dvb; 949 + 950 + </section><section id="VIDEO_GET_FRAME_RATE" 951 + role="subsection"><title>VIDEO_GET_FRAME_RATE</title> 952 + <para>DESCRIPTION 953 + </para> 954 + <informaltable><tgroup cols="1"><tbody><row><entry 955 + align="char"> 956 + <para>This ioctl call asks the Video Device to return the current framerate.</para> 957 + </entry> 958 + </row></tbody></tgroup></informaltable> 959 + <para>SYNOPSIS 960 + </para> 961 + <informaltable><tgroup cols="1"><tbody><row><entry 962 + align="char"> 963 + <para>int ioctl(int fd, int request = 964 + VIDEO_GET_FRAME_RATE, unsigned int *rate);</para> 965 + </entry> 966 + </row></tbody></tgroup></informaltable> 967 + <para>PARAMETERS 968 + </para> 969 + <informaltable><tgroup cols="2"><tbody><row><entry 970 + align="char"> 971 + <para>int fd</para> 972 + </entry><entry 973 + align="char"> 974 + <para>File descriptor returned by a previous call to open().</para> 975 + </entry> 976 + </row><row><entry 977 + align="char"> 978 + <para>int request</para> 979 + </entry><entry 980 + align="char"> 981 + <para>Equals VIDEO_GET_FRAME_RATE for this 982 + command.</para> 983 + </entry> 984 + </row><row><entry 985 + align="char"> 986 + <para>unsigned int *rate 987 + </para> 988 + </entry><entry 989 + align="char"> 990 + <para>Returns the framerate in number of frames per 1000 seconds. 991 + </para> 992 + </entry> 993 + </row></tbody></tgroup></informaltable> 994 + &return-value-dvb; 995 + 863 996 </section><section id="VIDEO_GET_EVENT" 864 997 role="subsection"><title>VIDEO_GET_EVENT</title> 865 998 <para>DESCRIPTION 866 999 </para> 1000 + <para>This ioctl is for DVB devices only. To get events from a V4L2 decoder use the V4L2 1001 + &VIDIOC-DQEVENT; ioctl instead.</para> 867 1002 <informaltable><tgroup cols="1"><tbody><row><entry 868 1003 align="char"> 869 1004 <para>This ioctl call returns an event of type video_event if available. If an event is ··· 1078 913 <para>Overflow in event queue - one or more events were lost.</para> 1079 914 </entry> 1080 915 </row></tbody></tgroup></informaltable> 916 + 917 + </section><section id="VIDEO_COMMAND" 918 + role="subsection"><title>VIDEO_COMMAND</title> 919 + <para>DESCRIPTION 920 + </para> 921 + <para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this 922 + ioctl has been replaced by the &VIDIOC-DECODER-CMD; ioctl.</para> 923 + <informaltable><tgroup cols="1"><tbody><row><entry 924 + align="char"> 925 + <para>This ioctl commands the decoder. The <constant>video_command</constant> struct 926 + is a subset of the <constant>v4l2_decoder_cmd</constant> struct, so refer to the 927 + &VIDIOC-DECODER-CMD; documentation for more information.</para> 928 + </entry> 929 + </row></tbody></tgroup></informaltable> 930 + <para>SYNOPSIS 931 + </para> 932 + <informaltable><tgroup cols="1"><tbody><row><entry 933 + align="char"> 934 + <para>int ioctl(int fd, int request = 935 + VIDEO_COMMAND, struct video_command *cmd);</para> 936 + </entry> 937 + </row></tbody></tgroup></informaltable> 938 + <para>PARAMETERS 939 + </para> 940 + <informaltable><tgroup cols="2"><tbody><row><entry 941 + align="char"> 942 + <para>int fd</para> 943 + </entry><entry 944 + align="char"> 945 + <para>File descriptor returned by a previous call to open().</para> 946 + </entry> 947 + </row><row><entry 948 + align="char"> 949 + <para>int request</para> 950 + </entry><entry 951 + align="char"> 952 + <para>Equals VIDEO_COMMAND for this 953 + command.</para> 954 + </entry> 955 + </row><row><entry 956 + align="char"> 957 + <para>struct video_command *cmd 958 + </para> 959 + </entry><entry 960 + align="char"> 961 + <para>Commands the decoder. 962 + </para> 963 + </entry> 964 + </row></tbody></tgroup></informaltable> 965 + &return-value-dvb; 966 + 967 + </section><section id="VIDEO_TRY_COMMAND" 968 + role="subsection"><title>VIDEO_TRY_COMMAND</title> 969 + <para>DESCRIPTION 970 + </para> 971 + <para>This ioctl is obsolete. Do not use in new drivers. For V4L2 decoders this 972 + ioctl has been replaced by the &VIDIOC-TRY-DECODER-CMD; ioctl.</para> 973 + <informaltable><tgroup cols="1"><tbody><row><entry 974 + align="char"> 975 + <para>This ioctl tries a decoder command. The <constant>video_command</constant> struct 976 + is a subset of the <constant>v4l2_decoder_cmd</constant> struct, so refer to the 977 + &VIDIOC-TRY-DECODER-CMD; documentation for more information.</para> 978 + </entry> 979 + </row></tbody></tgroup></informaltable> 980 + <para>SYNOPSIS 981 + </para> 982 + <informaltable><tgroup cols="1"><tbody><row><entry 983 + align="char"> 984 + <para>int ioctl(int fd, int request = 985 + VIDEO_TRY_COMMAND, struct video_command *cmd);</para> 986 + </entry> 987 + </row></tbody></tgroup></informaltable> 988 + <para>PARAMETERS 989 + </para> 990 + <informaltable><tgroup cols="2"><tbody><row><entry 991 + align="char"> 992 + <para>int fd</para> 993 + </entry><entry 994 + align="char"> 995 + <para>File descriptor returned by a previous call to open().</para> 996 + </entry> 997 + </row><row><entry 998 + align="char"> 999 + <para>int request</para> 1000 + </entry><entry 1001 + align="char"> 1002 + <para>Equals VIDEO_TRY_COMMAND for this 1003 + command.</para> 1004 + </entry> 1005 + </row><row><entry 1006 + align="char"> 1007 + <para>struct video_command *cmd 1008 + </para> 1009 + </entry><entry 1010 + align="char"> 1011 + <para>Try a decoder command. 1012 + </para> 1013 + </entry> 1014 + </row></tbody></tgroup></informaltable> 1015 + &return-value-dvb; 1016 + 1017 + </section><section id="VIDEO_GET_SIZE" 1018 + role="subsection"><title>VIDEO_GET_SIZE</title> 1019 + <para>DESCRIPTION 1020 + </para> 1021 + <informaltable><tgroup cols="1"><tbody><row><entry 1022 + align="char"> 1023 + <para>This ioctl returns the size and aspect ratio.</para> 1024 + </entry> 1025 + </row></tbody></tgroup></informaltable> 1026 + <para>SYNOPSIS 1027 + </para> 1028 + <informaltable><tgroup cols="1"><tbody><row><entry 1029 + align="char"> 1030 + <para>int ioctl(int fd, int request = 1031 + VIDEO_GET_SIZE, video_size_t *size);</para> 1032 + </entry> 1033 + </row></tbody></tgroup></informaltable> 1034 + <para>PARAMETERS 1035 + </para> 1036 + <informaltable><tgroup cols="2"><tbody><row><entry 1037 + align="char"> 1038 + <para>int fd</para> 1039 + </entry><entry 1040 + align="char"> 1041 + <para>File descriptor returned by a previous call to open().</para> 1042 + </entry> 1043 + </row><row><entry 1044 + align="char"> 1045 + <para>int request</para> 1046 + </entry><entry 1047 + align="char"> 1048 + <para>Equals VIDEO_GET_SIZE for this 1049 + command.</para> 1050 + </entry> 1051 + </row><row><entry 1052 + align="char"> 1053 + <para>video_size_t *size 1054 + </para> 1055 + </entry><entry 1056 + align="char"> 1057 + <para>Returns the size and aspect ratio. 1058 + </para> 1059 + </entry> 1060 + </row></tbody></tgroup></informaltable> 1061 + &return-value-dvb; 1081 1062 1082 1063 </section><section id="VIDEO_SET_DISPLAY_FORMAT" 1083 1064 role="subsection"><title>VIDEO_SET_DISPLAY_FORMAT</title>