2 * This library is free software; you can redistribute it and/or modify it
3 * under the terms of the GNU Lesser General Public License as published
4 * by the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
7 * This library is distributed in the hope that it will be useful, but
8 * WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10 * Lesser General Public License for more details.
12 * You should have received a copy of the GNU Lesser General Public
13 * License along with this library; if not, write to the Free Software
14 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
18 #ifndef INTERLACEMODES_H
19 #define INTERLACEMODES_H
22 #define ILACE_UNKNOWN_T N_("Error!")
25 #define ILACE_MODE_UNDETECTED 0
26 #define ILACE_MODE_UNDETECTED_XMLT "UNKNOWN"
27 #define ILACE_MODE_UNDETECTED_T N_("Unknown")
28 #define ILACE_MODE_TOP_FIRST 1
29 #define ILACE_MODE_TOP_FIRST_XMLT "TOP_FIELD_FIRST"
30 #define ILACE_MODE_TOP_FIRST_T N_("Top Fields First")
31 #define ILACE_MODE_BOTTOM_FIRST 2
32 #define ILACE_MODE_BOTTOM_FIRST_XMLT "BOTTOM_FIELD_FIRST"
33 #define ILACE_MODE_BOTTOM_FIRST_T N_("Bottom Fields First")
34 #define ILACE_MODE_NOTINTERLACED 3
35 #define ILACE_MODE_NOTINTERLACED_XMLT "NOTINTERLACED"
36 #define ILACE_MODE_NOTINTERLACED_T N_("Not Interlaced")
37 #define ILACE_MODE_FAKE_INTERLACE 4
39 #define ILACE_ASSET_MODEDEFAULT ILACE_MODE_UNDETECTED
40 #define ILACE_PROJECT_MODEDEFAULT ILACE_MODE_NOTINTERLACED_T
41 //Note: Do not change what the numbers mean as this will make backward-compatability have erroraneous settings.
43 //Interlace Compensation Methods
44 #define ILACE_FIXMETHOD_NONE 0
45 #define ILACE_FIXMETHOD_NONE_XMLT "DO_NOTHING"
46 #define ILACE_FIXMETHOD_NONE_T N_("Do Nothing")
47 #define ILACE_FIXMETHOD_UPONE 1
48 #define ILACE_FIXMETHOD_UPONE_XMLT "SHIFT_UPONE"
49 #define ILACE_FIXMETHOD_UPONE_T N_("Shift Up 1 pixel")
50 #define ILACE_FIXMETHOD_DOWNONE 2
51 #define ILACE_FIXMETHOD_DOWNONE_XMLT "SHIFT_DOWNONE"
52 #define ILACE_FIXMETHOD_DOWNONE_T N_("Shift Down 1 pixel")
54 // the following is for project/asset having odd/even, or even/odd
55 #define ILACE_FIXDEFAULT ILACE_FIXMETHOD_UPONE
56 //Note: Do not change what the numbers mean as this will make backward-compatability have erroraneous settings.
58 // Refer to <mjpegtools/yuv4mpeg.h> (descriptions were cut-and-pasted!)
59 #define ILACE_Y4M_UKNOWN_T N_("unknown")
60 #define ILACE_Y4M_NONE_T N_("non-interlaced, progressive frame")
61 #define ILACE_Y4M_TOP_FIRST_T N_("interlaced, top-field first")
62 #define ILACE_Y4M_BOTTOM_FIRST_T N_("interlaced, bottom-field first")
63 #define ILACE_Y4M_MIXED_T N_("mixed, \"refer to frame header\"")
65 void ilacemode_to_text(char *string, int ilacemode);
66 int ilacemode_from_text(const char *text, int thedefault);
67 void ilacemode_to_xmltext(char *string, int ilacemode);
68 int ilacemode_from_xmltext(const char *text, int thedefault);
70 int ilace_bc_to_yuv4mpeg(int ilacemode);
71 int ilace_yuv4mpeg_to_bc(int ilacemode);
73 void ilace_yuv4mpeg_mode_to_text(char *string, int ilacemode);
75 #endif // INTERLACEMODES_H