]> git.sesse.net Git - casparcg/commitdiff
Merged new video mode support from trunk
authorhellgore <hellgore@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 26 Sep 2012 15:10:55 +0000 (15:10 +0000)
committerhellgore <hellgore@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 26 Sep 2012 15:10:55 +0000 (15:10 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.1.0@3369 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/video_format.cpp
core/video_format.h
modules/bluefish/util/blue_velvet.cpp
modules/decklink/util/util.h
shell/casparcg.config

index 146a574c2968a529a46344319c16ffa11bb2fb26..d16b3b1e97ce6e4edf9188081b620c8b4e266164 100644 (file)
 namespace caspar { namespace core {
        
 const std::vector<video_format_desc> format_descs = boost::assign::list_of
-       (video_format_desc(video_format::pal,                    720,  576, 1024, 576,  field_mode::upper,                         25,     1, L"PAL",           boost::assign::list_of<int>(3840)))
+       (video_format_desc(video_format::pal,                    720,  576, 1024, 576,  field_mode::upper,                         25,     1, L"PAL",           boost::assign::list_of<int>(3840)                        ))
        (video_format_desc(video_format::ntsc,                   720,  486,  720, 540,  field_mode::lower,                      30000,  1001, L"NTSC",          boost::assign::list_of<int>(3204)(3202)(3204)(3202)(3204)))
-       (video_format_desc(video_format::x576p2500,              720,  576,  720, 576,  field_mode::progressive,           25,     1, L"576p2500",      boost::assign::list_of<int>(3840)                                               ))
-       (video_format_desc(video_format::x720p2500,             1280,  720, 1280, 720,  field_mode::progressive,           25,     1, L"720p2500",      boost::assign::list_of<int>(3840)                                               )) 
-       (video_format_desc(video_format::x720p5000,             1280,  720, 1280, 720,  field_mode::progressive,           50,     1, L"720p5000",      boost::assign::list_of<int>(1920)                                               )) 
+       (video_format_desc(video_format::x576p2500,              720,  576,  720, 576,  field_mode::progressive,           25,     1, L"576p2500",      boost::assign::list_of<int>(3840)                        ))
+       (video_format_desc(video_format::x720p2398,             1280,  720, 1280, 720,  field_mode::progressive,        24000,  1001, L"720p2398",      boost::assign::list_of<int>(4004)                        )) 
+       (video_format_desc(video_format::x720p2400,             1280,  720, 1280, 720,  field_mode::progressive,           24,     1, L"720p2400",      boost::assign::list_of<int>(4000)                        )) 
+       (video_format_desc(video_format::x720p2500,             1280,  720, 1280, 720,  field_mode::progressive,           25,     1, L"720p2500",      boost::assign::list_of<int>(3840)                        )) 
+       (video_format_desc(video_format::x720p5000,             1280,  720, 1280, 720,  field_mode::progressive,           50,     1, L"720p5000",      boost::assign::list_of<int>(1920)                        )) 
+       (video_format_desc(video_format::x720p2997,             1280,  720, 1280, 720,  field_mode::progressive,        30000,  1001, L"720p2997",      boost::assign::list_of<int>(3204)(3202)(3204)(3202)(3204)))
        (video_format_desc(video_format::x720p5994,             1280,  720, 1280, 720,  field_mode::progressive,        60000,  1001, L"720p5994",      boost::assign::list_of<int>(1602)(1601)(1602)(1601)(1602)))
-       (video_format_desc(video_format::x720p6000,             1280,  720, 1280, 720,  field_mode::progressive,           60,     1, L"720p6000",      boost::assign::list_of<int>(1600)                                               ))
-       (video_format_desc(video_format::x1080p2397,    1920, 1080, 1920, 1080, field_mode::progressive,        24000,  1001, L"1080p2398",     boost::assign::list_of<int>(4004)                                               ))
-       (video_format_desc(video_format::x1080p2400,    1920, 1080, 1920, 1080, field_mode::progressive,           24,     1, L"1080p2400",     boost::assign::list_of<int>(4000)                                               ))
-       (video_format_desc(video_format::x1080i5000,    1920, 1080, 1920, 1080, field_mode::upper,                         25,     1, L"1080i5000",     boost::assign::list_of<int>(3840)                                               ))
+       (video_format_desc(video_format::x720p3000,             1280,  720, 1280, 720,  field_mode::progressive,           30,     1, L"720p3000",      boost::assign::list_of<int>(3200)                        ))
+       (video_format_desc(video_format::x720p6000,             1280,  720, 1280, 720,  field_mode::progressive,           60,     1, L"720p6000",      boost::assign::list_of<int>(1600)                        ))
+       (video_format_desc(video_format::x1080p2398,    1920, 1080, 1920, 1080, field_mode::progressive,        24000,  1001, L"1080p2398",     boost::assign::list_of<int>(4004)                        ))
+       (video_format_desc(video_format::x1080p2400,    1920, 1080, 1920, 1080, field_mode::progressive,           24,     1, L"1080p2400",     boost::assign::list_of<int>(4000)                        ))
+       (video_format_desc(video_format::x1080i5000,    1920, 1080, 1920, 1080, field_mode::upper,                         25,     1, L"1080i5000",     boost::assign::list_of<int>(3840)                        ))
        (video_format_desc(video_format::x1080i5994,    1920, 1080, 1920, 1080, field_mode::upper,                      30000,  1001, L"1080i5994",     boost::assign::list_of<int>(3204)(3202)(3204)(3202)(3204)))
-       (video_format_desc(video_format::x1080i6000,    1920, 1080, 1920, 1080, field_mode::upper,                         30,     1, L"1080i6000",     boost::assign::list_of<int>(3200)                                               ))
-       (video_format_desc(video_format::x1080p2500,    1920, 1080, 1920, 1080, field_mode::progressive,           25,     1, L"1080p2500",     boost::assign::list_of<int>(3840)                                               ))
+       (video_format_desc(video_format::x1080i6000,    1920, 1080, 1920, 1080, field_mode::upper,                         30,     1, L"1080i6000",     boost::assign::list_of<int>(3200)                        ))
+       (video_format_desc(video_format::x1080p2500,    1920, 1080, 1920, 1080, field_mode::progressive,           25,     1, L"1080p2500",     boost::assign::list_of<int>(3840)                        ))
        (video_format_desc(video_format::x1080p2997,    1920, 1080, 1920, 1080, field_mode::progressive,        30000,  1001, L"1080p2997",     boost::assign::list_of<int>(3204)(3202)(3204)(3202)(3204)))
-       (video_format_desc(video_format::x1080p3000,    1920, 1080, 1920, 1080, field_mode::progressive,           30,     1, L"1080p3000",     boost::assign::list_of<int>(3200)                                               ))
-       (video_format_desc(video_format::x1080p5000,    1920, 1080, 1920, 1080, field_mode::progressive,           50,     1, L"1080p5000",     boost::assign::list_of<int>(1920)                                               ))
-       (video_format_desc(video_format::invalid,                  0,    0,    0,        0, field_mode::progressive,        1,     1, L"invalid",       boost::assign::list_of<int>(1)                                                  ));
+       (video_format_desc(video_format::x1080p3000,    1920, 1080, 1920, 1080, field_mode::progressive,           30,     1, L"1080p3000",     boost::assign::list_of<int>(3200)                        ))
+       (video_format_desc(video_format::x1080p5000,    1920, 1080, 1920, 1080, field_mode::progressive,           50,     1, L"1080p5000",     boost::assign::list_of<int>(1920)                        ))
+       (video_format_desc(video_format::x1080p5994,    1920, 1080, 1920, 1080, field_mode::progressive,        60000,  1001, L"1080p5994",     boost::assign::list_of<int>(1602)(1601)(1602)(1601)(1602)))
+       (video_format_desc(video_format::x1080p6000,    1920, 1080, 1920, 1080, field_mode::progressive,           60,     1, L"1080p6000",     boost::assign::list_of<int>(1600)                        ))
+       (video_format_desc(video_format::invalid,                  0,    0,    0,        0, field_mode::progressive,        1,     1, L"invalid",       boost::assign::list_of<int>(1)                           ));
 
 video_format_desc::video_format_desc(video_format format,
                                        int width,
index 713ae6cc39a7058ebe54d95ad3481ddd32f46f36..377309f91fdee4c6133b94da6b3a4b1458a68c10 100644 (file)
@@ -37,10 +37,14 @@ struct video_format_def
                ntsc,           
                x576p2500,      
                x720p2500,      
-               x720p5000,      
-               x720p5994,      
-               x720p6000,      
-               x1080p2397,     
+               x720p5000,
+               x720p2398,
+               x720p2400,
+               x720p2997,
+               x720p5994,
+               x720p3000,
+               x720p6000,
+               x1080p2398,
                x1080p2400,     
                x1080i5000,     
                x1080i5994,     
@@ -48,7 +52,9 @@ struct video_format_def
                x1080p2500,     
                x1080p2997,     
                x1080p3000,     
-               x1080p5000,     
+               x1080p5000,
+               x1080p5994,
+               x1080p6000,
                invalid,
                count
        };
index b5f45d5118de75959d509d96300b9185ebdeddcb..3bb516aaaadf1a463c8b05974733123e7a4b3cac 100644 (file)
@@ -89,11 +89,15 @@ EVideoMode vid_fmt_from_video_format(const core::video_format& fmt)
        case core::video_format::pal:                   return VID_FMT_PAL;
        case core::video_format::ntsc:                  return VID_FMT_NTSC;
        case core::video_format::x576p2500:             return VID_FMT_INVALID; //not supported
+       case core::video_format::x720p2398:             return VID_FMT_720P_2398;
+       case core::video_format::x720p2400:             return VID_FMT_720P_2400;
        case core::video_format::x720p2500:             return VID_FMT_720P_2500;
        case core::video_format::x720p5000:             return VID_FMT_720P_5000;
+       case core::video_format::x720p2997:             return VID_FMT_720P_2997;
        case core::video_format::x720p5994:             return VID_FMT_720P_5994;
+       case core::video_format::x720p3000:             return VID_FMT_720P_3000;
        case core::video_format::x720p6000:             return VID_FMT_720P_6000;
-       case core::video_format::x1080p2397:    return VID_FMT_1080P_2397;
+       case core::video_format::x1080p2398:    return VID_FMT_1080P_2397;
        case core::video_format::x1080p2400:    return VID_FMT_1080P_2400;
        case core::video_format::x1080i5000:    return VID_FMT_1080I_5000;
        case core::video_format::x1080i5994:    return VID_FMT_1080I_5994;
@@ -102,6 +106,8 @@ EVideoMode vid_fmt_from_video_format(const core::video_format& fmt)
        case core::video_format::x1080p2997:    return VID_FMT_1080P_2997;
        case core::video_format::x1080p3000:    return VID_FMT_1080P_3000;
        case core::video_format::x1080p5000:    return VID_FMT_1080P_5000;
+       case core::video_format::x1080p5994:    return VID_FMT_1080P_5994;
+       case core::video_format::x1080p6000:    return VID_FMT_1080P_6000;
        default:                                                                return VID_FMT_INVALID;
        }
 }
index 9e3b5b27ab8a3ac24444e405d32cd5858aa3150d..182f372c7c1bde999ed5f97eccc06f8d56ce8e04 100644 (file)
@@ -42,11 +42,15 @@ static BMDDisplayMode get_decklink_video_format(core::video_format fmt)
        case core::video_format::pal:                   return bmdModePAL;
        case core::video_format::ntsc:                  return bmdModeNTSC;
        case core::video_format::x576p2500:             return (BMDDisplayMode)ULONG_MAX;
+       case core::video_format::x720p2398:             return (BMDDisplayMode)ULONG_MAX;
+       case core::video_format::x720p2400:             return (BMDDisplayMode)ULONG_MAX;
        case core::video_format::x720p2500:             return (BMDDisplayMode)ULONG_MAX;
        case core::video_format::x720p5000:             return bmdModeHD720p50;
+       case core::video_format::x720p2997:             return (BMDDisplayMode)ULONG_MAX;
        case core::video_format::x720p5994:             return bmdModeHD720p5994;
+       case core::video_format::x720p3000:             return (BMDDisplayMode)ULONG_MAX;
        case core::video_format::x720p6000:             return bmdModeHD720p60;
-       case core::video_format::x1080p2397:    return bmdModeHD1080p2398;
+       case core::video_format::x1080p2398:    return bmdModeHD1080p2398;
        case core::video_format::x1080p2400:    return bmdModeHD1080p24;
        case core::video_format::x1080i5000:    return bmdModeHD1080i50;
        case core::video_format::x1080i5994:    return bmdModeHD1080i5994;
@@ -55,6 +59,8 @@ static BMDDisplayMode get_decklink_video_format(core::video_format fmt)
        case core::video_format::x1080p2997:    return bmdModeHD1080p2997;
        case core::video_format::x1080p3000:    return bmdModeHD1080p30;
        case core::video_format::x1080p5000:    return bmdModeHD1080p50;
+       case core::video_format::x1080p5994:    return bmdModeHD1080p5994;
+       case core::video_format::x1080p6000:    return bmdModeHD1080p6000;
        default:                                                                return (BMDDisplayMode)ULONG_MAX;
        }
 }
@@ -68,15 +74,17 @@ static core::video_format get_caspar_video_format(BMDDisplayMode fmt)
        case bmdModeHD720p50:                                   return core::video_format::x720p5000;   
        case bmdModeHD720p5994:                                 return core::video_format::x720p5994;   
        case bmdModeHD720p60:                                   return core::video_format::x720p6000;   
-       case bmdModeHD1080p2398:                                return core::video_format::x1080p2397;  
+       case bmdModeHD1080p2398:                                return core::video_format::x1080p2398;  
        case bmdModeHD1080p24:                                  return core::video_format::x1080p2400;  
        case bmdModeHD1080i50:                                  return core::video_format::x1080i5000;  
        case bmdModeHD1080i5994:                                return core::video_format::x1080i5994;  
        case bmdModeHD1080i6000:                                return core::video_format::x1080i6000;  
-       case bmdModeHD1080p25:                                  return core::video_format::x1080p2500;  
-       case bmdModeHD1080p2997:                                return core::video_format::x1080p2997;  
-       case bmdModeHD1080p30:                                  return core::video_format::x1080p3000;  
-       case bmdModeHD1080p50:                                  return core::video_format::x1080p5000;  
+       case bmdModeHD1080p25:                                  return core::video_format::x1080p2500;
+       case bmdModeHD1080p2997:                                return core::video_format::x1080p2997;
+       case bmdModeHD1080p30:                                  return core::video_format::x1080p3000;
+       case bmdModeHD1080p50:                                  return core::video_format::x1080p5000;
+       case bmdModeHD1080p5994:                                return core::video_format::x1080p5994;
+       case bmdModeHD1080p6000:                                return core::video_format::x1080p6000;
        default:                                                                return core::video_format::invalid;     
        }
 }
index 2d895b9525cfa9ed3125dea4c5a57b25e9f2055d..e031a2916de37f88e97bd2e5712136a9507cb8af 100644 (file)
@@ -49,7 +49,7 @@
 </flash>\r
 <channels>\r
     <channel>\r
-        <video-mode> PAL [PAL|NTSC|1080i5000|576p2500|720p2500|720p5000|720p5994|720p6000|1080i5000|1080i5994|1080i6000|1080p2500|1080p2997|1080p3000|1080p5000] </video-mode>\r
+        <video-mode> PAL [PAL|NTSC|576p2500|720p2398|720p2400|720p2500|720p5000|720p2997|720p5994|720p3000|720p6000|1080p2398|1080p2400|1080i5000|1080i5994|1080i6000|1080p2500|1080p2997|1080p3000|1080p5000|1080p5994|1080p6000] </video-mode>\r
         <consumers>\r
             <decklink>\r
                 <device>[1..]</device>\r
@@ -72,7 +72,7 @@
                 <windowed>false [true|false]</windowed>\r
                 <key-only>false [true|false]</key-only>\r
                 <auto-deinterlace>true [true|false]</auto-deinterlace>\r
-                <vsync>fasle [true|false]</vsync>\r
+                <vsync>false [true|false]</vsync>\r
             </screen>\r
             <file>\r
                 <path></path>\r