rework set default transtion, nested proxy edl fixes, doubleclick proxy media fix...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / interlacemodes.h
1 /*
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.
6  *
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.
11  *
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
15  * USA
16  */
17
18 #ifndef INTERLACEMODES_H
19 #define INTERLACEMODES_H
20 #include "language.h"
21
22 #define ILACE_UNKNOWN_T      N_("Error!")
23
24 //Interlace Automatic fixing options
25 #define ILACE_AUTOFIXOPTION_MANUAL      0
26 #define ILACE_AUTOFIXOPTION_MANUAL_T    N_("Manual compensation using selection")
27 #define ILACE_AUTOFIXOPTION_AUTO        1
28 #define ILACE_AUTOFIXOPTION_AUTO_T      N_("Automatic compensation using modes")
29 //Note: Do not change what the numbers mean as this will make backward-compatability have erroraneous settings.
30
31 //Interlace Modes
32 #define ILACE_MODE_UNDETECTED         0
33 #define ILACE_MODE_UNDETECTED_XMLT    "UNKNOWN"
34 #define ILACE_MODE_UNDETECTED_T       N_("Unknown")
35 #define ILACE_MODE_TOP_FIRST          1
36 #define ILACE_MODE_TOP_FIRST_XMLT     "TOP_FIELD_FIRST"
37 #define ILACE_MODE_TOP_FIRST_T        N_("Top Fields First")
38 #define ILACE_MODE_BOTTOM_FIRST       2
39 #define ILACE_MODE_BOTTOM_FIRST_XMLT  "BOTTOM_FIELD_FIRST"
40 #define ILACE_MODE_BOTTOM_FIRST_T     N_("Bottom Fields First")
41 #define ILACE_MODE_NOTINTERLACED      3
42 #define ILACE_MODE_NOTINTERLACED_XMLT "NOTINTERLACED"
43 #define ILACE_MODE_NOTINTERLACED_T    N_("Not Interlaced")
44
45 #define ILACE_ASSET_MODEDEFAULT         ILACE_MODE_UNDETECTED
46 #define ILACE_PROJECT_MODEDEFAULT       ILACE_MODE_NOTINTERLACED_T
47 //Note: Do not change what the numbers mean as this will make backward-compatability have erroraneous settings.
48
49 //Interlace Compensation Methods
50 #define ILACE_FIXMETHOD_NONE            0
51 #define ILACE_FIXMETHOD_NONE_XMLT       "DO_NOTHING"
52 #define ILACE_FIXMETHOD_NONE_T          N_("Do Nothing")
53 #define ILACE_FIXMETHOD_UPONE           1
54 #define ILACE_FIXMETHOD_UPONE_XMLT      "SHIFT_UPONE"
55 #define ILACE_FIXMETHOD_UPONE_T         N_("Shift Up 1 pixel")
56 #define ILACE_FIXMETHOD_DOWNONE         2
57 #define ILACE_FIXMETHOD_DOWNONE_XMLT    "SHIFT_DOWNONE"
58 #define ILACE_FIXMETHOD_DOWNONE_T       N_("Shift Down 1 pixel")
59
60 // the following is for project/asset having odd/even, or even/odd
61 #define ILACE_FIXDEFAULT                ILACE_FIXMETHOD_UPONE
62 //Note: Do not change what the numbers mean as this will make backward-compatability have erroraneous settings.
63
64 // Refer to <mjpegtools/yuv4mpeg.h> (descriptions were cut-and-pasted!)
65 #define ILACE_Y4M_UKNOWN_T         N_("unknown")
66 #define ILACE_Y4M_NONE_T           N_("non-interlaced, progressive frame")
67 #define ILACE_Y4M_TOP_FIRST_T      N_("interlaced, top-field first")
68 #define ILACE_Y4M_BOTTOM_FIRST_T   N_("interlaced, bottom-field first")
69 #define ILACE_Y4M_MIXED_T          N_("mixed, \"refer to frame header\"")
70
71 void ilaceautofixoption_to_text(char *string, int autofixoption);
72 int  ilaceautofixoption_from_text(const char *text, int thedefault);
73
74 void ilacemode_to_text(char *string, int ilacemode);
75 int  ilacemode_from_text(const char *text, int thedefault);
76 void ilacemode_to_xmltext(char *string, int ilacemode);
77 int  ilacemode_from_xmltext(const char *text, int thedefault);
78
79 void ilacefixmethod_to_text(char *string, int fixmethod);
80 int  ilacefixmethod_from_text(const char *text, int thedefault);
81 void ilacefixmethod_to_xmltext(char *string, int fixmethod);
82 int  ilacefixmethod_from_xmltext(const char *text, int thedefault);
83
84
85 int  ilaceautofixmethod(int projectilacemode, int assetilacemode);
86 int  ilaceautofixmethod2(int projectilacemode, int assetautofixoption, int assetilacemode, int assetfixmethod);
87
88 int ilace_bc_to_yuv4mpeg(int ilacemode);
89 int ilace_yuv4mpeg_to_bc(int ilacemode);
90
91 void ilace_yuv4mpeg_mode_to_text(char *string, int ilacemode);
92
93 #endif // INTERLACEMODES_H