annotate libmpcodecs/vfcap.h @ 32972:fbaae7fe1a13

Fix several issues with Translate(). 1. The "Unsafe!" comment has been removed, because the strings passed to the function are strcpy'd. 2. The needless memsets (one of which with wrong size) have been removed in favor of a sufficiently simple initialization of trbuf. 3. The array indices are unsigned now, and the manual optimization of having strlen() outside the for loop has been removed in favor of optimization performed by the compiler. 4. There is a check now to prevent an out-of-bounds array access.
author ib
date Tue, 08 Mar 2011 20:56:51 +0000
parents bbb6ebec87a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30421
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
1 /* VFCAP_* values: they are flags, returned by query_format():
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
2 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
3 * This file is part of MPlayer.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
4 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
5 * MPlayer is free software; you can redistribute it and/or modify
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
6 * it under the terms of the GNU General Public License as published by
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
7 * the Free Software Foundation; either version 2 of the License, or
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
8 * (at your option) any later version.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
9 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
10 * MPlayer is distributed in the hope that it will be useful,
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
13 * GNU General Public License for more details.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
14 *
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
15 * You should have received a copy of the GNU General Public License along
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
16 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
bbb6ebec87a0 Add missing license headers to all files in the libmpcodecs directory.
diego
parents: 28611
diff changeset
18 */
5564
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
19
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
20 #ifndef MPLAYER_VFCAP_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
21 #define MPLAYER_VFCAP_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 23134
diff changeset
22
5564
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
23 // set, if the given colorspace is supported (with or without conversion)
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
24 #define VFCAP_CSP_SUPPORTED 0x1
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
25 // set, if the given colorspace is supported _without_ conversion
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
26 #define VFCAP_CSP_SUPPORTED_BY_HW 0x2
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
27 // set if the driver/filter can draw OSD
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
28 #define VFCAP_OSD 0x4
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
29 // set if the driver/filter can handle compressed SPU stream
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
30 #define VFCAP_SPU 0x8
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
31 // scaling up/down by hardware, or software:
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
32 #define VFCAP_HWSCALE_UP 0x10
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
33 #define VFCAP_HWSCALE_DOWN 0x20
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
34 #define VFCAP_SWSCALE 0x40
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
35 // driver/filter can do vertical flip (upside-down)
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
36 #define VFCAP_FLIP 0x80
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
37
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
38 // driver/hardware handles timing (blocking)
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
39 #define VFCAP_TIMER 0x100
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
40 // driver _always_ flip image upside-down (for ve_vfw)
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
41 #define VFCAP_FLIPPED 0x200
7687
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7686
diff changeset
42 // vf filter: accepts stride (put_image)
a9a19a991a70 support for VFCAP_ACCEPT_STRIDE in vo drivers
arpi
parents: 7686
diff changeset
43 // vo driver: has draw_slice() support for the given csp
5564
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
44 #define VFCAP_ACCEPT_STRIDE 0x400
7686
4fa4e58587c2 VFCAP_DRAW_SLICE added
arpi
parents: 5564
diff changeset
45 // filter does postprocessing (so you shouldn't scale/filter image before it)
5564
efe856039f8f VFCAP defines moved out from vf.h, to be easier to include in libvo
arpi
parents:
diff changeset
46 #define VFCAP_POSTPROC 0x800
14878
5723c4b2a2ea fixes for encoding of multiple files
henry
parents: 7687
diff changeset
47 // filter cannot be reconfigured to different size & format
5723c4b2a2ea fixes for encoding of multiple files
henry
parents: 7687
diff changeset
48 #define VFCAP_CONSTANT 0x1000
18937
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents: 14878
diff changeset
49 // filter can draw EOSD
9e95ac641e77 Initial libass release (without mencoder support).
eugeni
parents: 14878
diff changeset
50 #define VFCAP_EOSD 0x2000
23134
1de2a46a0987 Add -ass-hinting option for setting font hinting method.
eugeni
parents: 18937
diff changeset
51 // filter will draw EOSD at screen resolution (without scaling)
1de2a46a0987 Add -ass-hinting option for setting font hinting method.
eugeni
parents: 18937
diff changeset
52 #define VFCAP_EOSD_UNSCALED 0x4000
28611
00c0123b6df3 Add VOCAP_NOSLICES and use it to allow vo_vdpau to not support slices for
reimar
parents: 26029
diff changeset
53 // used by libvo and vf_vo, indicates the VO does not support draw_slice for this format
00c0123b6df3 Add VOCAP_NOSLICES and use it to allow vo_vdpau to not support slices for
reimar
parents: 26029
diff changeset
54 #define VOCAP_NOSLICES 0x8000
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 23134
diff changeset
55
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
56 #endif /* MPLAYER_VFCAP_H */