]> git.sesse.net Git - casparcg/blob - modules/ffmpeg/producer/muxer/display_mode.h
[ffmpeg] Ported 2.0.7 ffmpeg producer to 2.1.0 while still keeping the usage of the...
[casparcg] / modules / ffmpeg / producer / muxer / display_mode.h
1 /*
2 * Copyright (c) 2011 Sveriges Television AB <info@casparcg.com>
3 *
4 * This file is part of CasparCG (www.casparcg.com).
5 *
6 * CasparCG 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 3 of the License, or
9 * (at your option) any later version.
10 *
11 * CasparCG 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 CasparCG. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * Author: Robert Nagy, ronag89@gmail.com
20 */
21
22 #pragma once
23
24 #include <core/video_format.h>
25
26 #include <ostream>
27
28 namespace caspar { namespace ffmpeg {
29         
30 enum class display_mode
31 {
32         simple,
33         deinterlace_bob,
34         invalid
35 };
36
37 template< typename CharT, typename TraitsT >
38 std::basic_ostream< CharT, TraitsT >& operator<< (std::basic_ostream<CharT, TraitsT>& o, display_mode value)
39 {       
40         switch(value)
41         {
42         case display_mode::simple:                                              return o << L"simple";
43         case display_mode::deinterlace_bob:                             return o << L"deinterlace_bob";
44         default:                                                                                return o << L"invalid";
45         }
46 }
47
48 static display_mode get_display_mode(const core::field_mode in_mode)
49 {
50         return in_mode == core::field_mode::progressive ? display_mode::simple : display_mode::deinterlace_bob;
51 }
52
53 }}