annotate osdep/priority.c @ 30432:ebb651f9e2ab

Declare support for the pixel formats: PIX_FMT_YUVJ420P PIX_FMT_YUVJ422P PIX_FMT_YUVJ440P PIX_FMT_YUVJ444P in the isSupported{In,Out} macros. These pixel formats are not true pixel formats but hacks specific to JPEG in libavcodec. They are deprecated and should be removed (that is from libavcodec first and libswscale second)... but they must be tested by swscale-test. See thread: Subject: [FFmpeg-devel] [PATCH] Extend show_pix_fmts() to make it print the input/output support Date: 2010-01-30 15:54:08 GMT
author stefano
date Sun, 31 Jan 2010 10:16:05 +0000
parents 01b2dcc76143
children 32725ca88fed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28485
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
1 /*
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
2 * implementation of '-priority' for OS/2 and Win32
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
3 *
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
4 * Copyright (c) 2009 by KO Myung-Hun (komh@chollian.net)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
5 *
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
6 * This file is part of MPlayer.
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
7 *
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
8 * MPlayer is free software; you can redistribute it and/or modify
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
11 * (at your option) any later version.
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
12 *
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
13 * MPlayer is distributed in the hope that it will be useful,
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
16 * GNU General Public License for more details.
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
17 *
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License along
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
19 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
21 */
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
22
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
23 #ifdef __OS2__
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
24
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
25 #define INCL_DOS
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
26 #include <os2.h>
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
27
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
28 #define REALTIME_PRIORITY_CLASS MAKESHORT(0, PRTYC_TIMECRITICAL)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
29 #define HIGH_PRIORITY_CLASS MAKESHORT(PRTYD_MAXIMUM, PRTYC_REGULAR)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
30 #define ABOVE_NORMAL_PRIORITY_CLASS MAKESHORT(PRTYD_MAXIMUM / 2, PRTYC_REGULAR)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
31 #define NORMAL_PRIORITY_CLASS MAKESHORT(0, PRTYC_REGULAR)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
32 #define BELOW_NORMAL_PRIORITY_CLASS MAKESHORT(PRTYD_MAXIMUM, PRTYC_IDLETIME)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
33 #define IDLE_PRIORITY_CLASS MAKESHORT(0, PRTYC_IDLETIME)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
34
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
35 #else
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
36
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
37 #include <windows.h>
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
38
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
39 #endif /* __OS2__ */
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
40
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
41 #include <string.h>
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
42
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
43 #include "mp_msg.h"
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
44 #include "help_mp.h"
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
45
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
46 #include "priority.h"
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
47
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
48 char *proc_priority = NULL;
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
49
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
50 void set_priority(void)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
51 {
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
52 struct {
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
53 char* name;
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
54 int prio;
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
55 } priority_presets_defs[] = {
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
56 { "realtime", REALTIME_PRIORITY_CLASS},
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
57 { "high", HIGH_PRIORITY_CLASS},
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
58 #ifdef ABOVE_NORMAL_PRIORITY_CLASS
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
59 { "abovenormal", ABOVE_NORMAL_PRIORITY_CLASS},
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
60 #endif
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
61 { "normal", NORMAL_PRIORITY_CLASS},
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
62 #ifdef BELOW_NORMAL_PRIORITY_CLASS
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
63 { "belownormal", BELOW_NORMAL_PRIORITY_CLASS},
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
64 #endif
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
65 { "idle", IDLE_PRIORITY_CLASS},
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
66 { NULL, NORMAL_PRIORITY_CLASS} /* default */
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
67 };
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
68
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
69 if (proc_priority) {
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
70 int i;
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
71
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
72 for (i = 0; priority_presets_defs[i].name; i++) {
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
73 if (strcasecmp(priority_presets_defs[i].name, proc_priority) == 0)
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
74 break;
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
75 }
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
76 mp_msg(MSGT_CPLAYER, MSGL_STATUS, MSGTR_SettingProcessPriority,
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
77 priority_presets_defs[i].name);
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
78
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
79 #ifdef __OS2__
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
80 DosSetPriority(PRTYS_PROCESS,
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
81 HIBYTE(priority_presets_defs[i].prio),
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
82 LOBYTE(priority_presets_defs[i].prio),
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
83 0);
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
84 #else
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
85 SetPriorityClass(GetCurrentProcess(), priority_presets_defs[i].prio);
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
86 #endif
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
87 }
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
88 }
3f597aacbb69 Add priority support for OS/2 and factorize the Windows priority support.
diego
parents:
diff changeset
89