Supporters update.
[dcpomatic.git] / src / lib / video_frame_type.cc
1 /*
2     Copyright (C) 2013-2021 Carl Hetherington <cth@carlh.net>
3
4     This file is part of DCP-o-matic.
5
6     DCP-o-matic is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     DCP-o-matic is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with DCP-o-matic.  If not, see <http://www.gnu.org/licenses/>.
18
19 */
20
21
22 #include "dcpomatic_assert.h"
23 #include "video_frame_type.h"
24
25
26 using std::string;
27
28
29 string
30 video_frame_type_to_string(VideoFrameType t)
31 {
32         switch (t) {
33         case VideoFrameType::TWO_D:
34                 return "2d";
35         case VideoFrameType::THREE_D:
36                 return "3d";
37         case VideoFrameType::THREE_D_LEFT_RIGHT:
38                 return "3d-left-right";
39         case VideoFrameType::THREE_D_TOP_BOTTOM:
40                 return "3d-top-bottom";
41         case VideoFrameType::THREE_D_ALTERNATE:
42                 return "3d-alternate";
43         case VideoFrameType::THREE_D_LEFT:
44                 return "3d-left";
45         case VideoFrameType::THREE_D_RIGHT:
46                 return "3d-right";
47         default:
48                 DCPOMATIC_ASSERT (false);
49         }
50
51         DCPOMATIC_ASSERT (false);
52 }
53
54 VideoFrameType
55 string_to_video_frame_type(string s)
56 {
57         if (s == "2d") {
58                 return VideoFrameType::TWO_D;
59         } else if (s == "3d") {
60                 return VideoFrameType::THREE_D;
61         } else if (s == "3d-left-right") {
62                 return VideoFrameType::THREE_D_LEFT_RIGHT;
63         } else if (s == "3d-top-bottom") {
64                 return VideoFrameType::THREE_D_TOP_BOTTOM;
65         } else if (s == "3d-alternate") {
66                 return VideoFrameType::THREE_D_ALTERNATE;
67         } else if (s == "3d-left") {
68                 return VideoFrameType::THREE_D_LEFT;
69         } else if (s == "3d-right") {
70                 return VideoFrameType::THREE_D_RIGHT;
71         }
72
73         DCPOMATIC_ASSERT(false);
74 }
75