]> git.sesse.net Git - casparcg/commitdiff
2.0.0.2: Reverted to rev:719.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 12 May 2011 09:05:26 +0000 (09:05 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 12 May 2011 09:05:26 +0000 (09:05 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@722 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/mixer/image/image_kernel.cpp
core/mixer/image/image_mixer.cpp
core/producer/frame/image_transform.cpp
core/producer/frame/pixel_format.h
core/producer/frame_producer.cpp
modules/ffmpeg/producer/video/video_decoder.cpp
protocol/amcp/AMCPCommandsImpl.cpp
shell/caspar.config

index cfb9d82515377c4705a50d994a8325211cde5da7..c509f1d5989c4647f48b937ff23f06120fe4c93a 100644 (file)
@@ -212,24 +212,12 @@ public:
                        "       return color;                                                                                                           "\r
                        "}                                                                                                                                              "                       \r
                        "                                                                                                                                               ";\r
-               \r
-               shaders_[core::pixel_format::gray] = shader_program(common_vertex, common_fragment +\r
-\r
-                       "void main()                                                                                                                    "\r
-                       "{                                                                                                                                              "\r
-                       "       vec4 rgba = texture2D(plane[0], gl_TexCoord[0].st).rrr;                         "\r
-                       "       if(has_separate_key)                                                                                            "\r
-                       "               rgba.a = texture2D(plane[3], gl_TexCoord[0].st).r;                              "\r
-                       "       gl_FragColor = rgba * gain;                                                                                     "\r
-                       "}                                                                                                                                              ");\r
-\r
+                       \r
                shaders_[core::pixel_format::abgr] = shader_program(common_vertex, common_fragment +\r
 \r
                        "void main()                                                                                                                    "\r
                        "{                                                                                                                                              "\r
                        "       vec4 abgr = texture2D(plane[0], gl_TexCoord[0].st);                                     "\r
-                       "       if(has_separate_key)                                                                                            "\r
-                       "               rgba.b = texture2D(plane[3], gl_TexCoord[0].st).r;                              "\r
                        "       gl_FragColor = abgr.argb * gain;                                                                        "\r
                        "}                                                                                                                                              ");\r
                \r
@@ -238,8 +226,6 @@ public:
                        "void main()                                                                                                                    "       \r
                        "{                                                                                                                                              "\r
                        "       vec4 argb = texture2D(plane[0], gl_TexCoord[0].st);                                     "\r
-                       "       if(has_separate_key)                                                                                            "\r
-                       "               rgba.b = texture2D(plane[3], gl_TexCoord[0].st).r;                              "\r
                        "       gl_FragColor = argb.grab * gl_Color * gain;                                                     "\r
                        "}                                                                                                                                              ");\r
                \r
@@ -248,8 +234,6 @@ public:
                        "void main()                                                                                                                    "\r
                        "{                                                                                                                                              "\r
                        "       vec4 bgra = texture2D(plane[0], gl_TexCoord[0].st);                                     "\r
-                       "       if(has_separate_key)                                                                                            "\r
-                       "               rgba.a = texture2D(plane[3], gl_TexCoord[0].st).r;                              "\r
                        "       gl_FragColor = bgra.rgba * gl_Color * gain;                                                     "\r
                        "}                                                                                                                                              ");\r
                \r
@@ -258,8 +242,6 @@ public:
                        "void main()                                                                                                                    "\r
                        "{                                                                                                                                              "\r
                        "       vec4 rgba = texture2D(plane[0], gl_TexCoord[0].st);                                     "\r
-                       "       if(has_separate_key)                                                                                            "\r
-                       "               rgba.a = texture2D(plane[3], gl_TexCoord[0].st).r;                              "\r
                        "       gl_FragColor = rgba.bgra * gl_Color * gain;                                                     "\r
                        "}                                                                                                                                              ");\r
                \r
@@ -272,7 +254,7 @@ public:
                        "       float cr = texture2D(plane[2], gl_TexCoord[0].st).r;                            "\r
                        "       float a = 1.0;                                                                                                          "       \r
                        "       if(has_separate_key)                                                                                            "\r
-                       "               a = texture2D(plane[3], gl_TexCoord[0].st).r;                                   "\r
+                       "               a = texture2D(plane[3], gl_TexCoord[0].st).r+0.2;                                       "\r
                        "       if(HD)                                                                                                                          "\r
                        "               gl_FragColor = ycbcra_to_bgra_hd(y, cb, cr, a) * gl_Color * gain;"\r
                        "       else                                                                                                                            "\r
index 7ca7ec94d38330999272d7f07d907dce3d586f06..cf895df0a0b97576b74d3c901c8dae6d0be7c5b1 100644 (file)
@@ -105,6 +105,7 @@ public:
                auto gpu_frame = boost::polymorphic_downcast<gpu_write_frame*>(&frame);\r
                auto desc = gpu_frame->get_pixel_format_desc();\r
                auto buffers = gpu_frame->get_plane_buffers();\r
+               auto is_key_frame = gpu_frame->get_image_transform().get_is_key();\r
 \r
                auto transform = transform_stack_.top();\r
                context_->begin_invoke([=]\r
@@ -117,7 +118,7 @@ public:
                                device_buffers.push_back(texture);\r
                        }\r
                                                \r
-                       if(transform.get_is_key()) // Its a key_frame just save buffer for next frame.\r
+                       if(is_key_frame) // Its a key_frame just bind the texture for use during the next frame.\r
                        {\r
                                if(!device_buffers.empty())                             \r
                                        key_ = device_buffers[0];                               \r
@@ -157,9 +158,9 @@ public:
                                        glTexCoord2d(1.0, 1.0); glVertex2d((f_p[0]+f_s[0])*2.0-1.0, (f_p[1]+f_s[1])*2.0-1.0);\r
                                        glTexCoord2d(0.0, 1.0); glVertex2d( f_p[0]        *2.0-1.0, (f_p[1]+f_s[1])*2.0-1.0);\r
                                glEnd();\r
-                               GL(glDisable(GL_SCISSOR_TEST));         \r
-\r
-                               key_ = nullptr;         \r
+                               GL(glDisable(GL_SCISSOR_TEST));\r
+                               \r
+                               key_ = nullptr;\r
                        }\r
                });\r
        }\r
index a620a9d4df3c6345d28128cc72bdda5fd3aca9fe..b95a53a5bcfc18f871b0c14a5617f7c8303f0564 100644 (file)
@@ -117,7 +117,7 @@ image_transform& image_transform::operator*=(const image_transform &other)
        if(other.mode_ != video_mode::invalid)\r
                mode_ = other.mode_;\r
        gain_ *= other.gain_;\r
-       is_key_ |= other.is_key_;\r
+       is_key_ = other.is_key_;\r
        fill_translation_[0] += other.fill_translation_[0]*fill_scale_[0];\r
        fill_translation_[1] += other.fill_translation_[1]*fill_scale_[1];\r
        fill_scale_[0] *= other.fill_scale_[0];\r
@@ -148,7 +148,7 @@ image_transform tween(double time, const image_transform& source, const image_tr
 \r
        image_transform result; \r
        result.set_mode(dest.get_mode() != video_mode::invalid ? dest.get_mode() : source.get_mode());\r
-       result.set_is_key(source.get_is_key() | dest.get_is_key());\r
+       result.set_is_key(dest.get_is_key());\r
        result.set_gain(do_tween(time, source.get_gain(), dest.get_gain(), duration, tweener));\r
        result.set_opacity(do_tween(time, source.get_opacity(), dest.get_opacity(), duration, tweener));\r
        result.set_fill_translation(do_tween(time, source.get_fill_translation()[0], dest.get_fill_translation()[0], duration, tweener), do_tween(time, source.get_fill_translation()[1], dest.get_fill_translation()[1], duration, tweener));\r
index a454c67660ecf9f746d70a2de50cad7da4bdf212..b007345829e4b2d31c4cde62187b14636f5075c0 100644 (file)
@@ -27,7 +27,6 @@ struct pixel_format
 {\r
        enum type\r
        {\r
-               gray,\r
                bgra,\r
                rgba,\r
                argb,\r
index 049409c0e73c2c8c76de5e49a478c2cd15d50242..d1ffab291489ec2d657d52cd260eca0aae5069c1 100644 (file)
@@ -127,10 +127,7 @@ safe_ptr<core::frame_producer> create_producer(const safe_ptr<frame_factory>& my
        catch(...){}\r
 \r
        if(key_producer != frame_producer::empty())\r
-       {\r
-               CASPAR_LOG(info) << "Found and loaded separate key.";\r
                return create_separated_producer(producer, key_producer);\r
-       }       \r
 \r
        return producer;\r
 }\r
index 3ac21b4f4b7cb9bfdf99aa0ef26b546673b87f9d..1ba3b6d5f030b59497664b466e840037deeb1217 100644 (file)
@@ -51,7 +51,6 @@ core::pixel_format::type get_pixel_format(PixelFormat pix_fmt)
 {\r
        switch(pix_fmt)\r
        {\r
-               case PIX_FMT_GRAY8:             return core::pixel_format::gray;\r
                case PIX_FMT_BGRA:              return core::pixel_format::bgra;\r
                case PIX_FMT_ARGB:              return core::pixel_format::argb;\r
                case PIX_FMT_RGBA:              return core::pixel_format::rgba;\r
@@ -77,11 +76,6 @@ core::pixel_format_desc get_pixel_format_desc(PixelFormat pix_fmt, size_t width,
                \r
        switch(desc.pix_fmt)\r
        {\r
-       case core::pixel_format::gray:\r
-               {\r
-                       desc.planes.push_back(core::pixel_format_desc::plane(dummy_pict.linesize[0]/4, height, 1));                                             \r
-                       return desc;\r
-               }\r
        case core::pixel_format::bgra:\r
        case core::pixel_format::argb:\r
        case core::pixel_format::rgba:\r
index cbfc6c0884d9de5d9d8c6b1bbc3b73e799f246f5..11b6032816fb479fd11aa5c2e8a58fa85bdd5fa1 100644 (file)
@@ -177,22 +177,7 @@ bool MixerCommand::DoExecute()
        {       \r
                if(_parameters[0] == L"VIDEO")\r
                {\r
-                       if(_parameters[1] == L"IS_KEY")\r
-                       {\r
-                               bool value = lexical_cast_or_default(_parameters.at(2), false);\r
-                               auto transform = [=](image_transform transform) -> image_transform\r
-                               {\r
-                                       transform.set_is_key(value);\r
-                                       return transform;                                       \r
-                               };\r
-\r
-                               int layer = GetLayerIndex(std::numeric_limits<int>::min());\r
-                               if(layer != std::numeric_limits<int>::min())                                    \r
-                                       GetChannel()->mixer()->apply_image_transform(GetLayerIndex(), transform, 0);\r
-                               else\r
-                                       GetChannel()->mixer()->apply_image_transform(transform, 0);\r
-                       }\r
-                       else if(_parameters[1] == L"OPACITY")\r
+                       if(_parameters[1] == L"OPACITY")\r
                        {\r
                                int duration = _parameters.size() > 2 ? lexical_cast_or_default(_parameters[3], 0) : 0;\r
                                std::wstring tween = _parameters.size() > 3 ? _parameters[4] : L"linear";\r
index 4c1dfaa1cfc77545bf2fa9eb15792d7af895cc4b..6af791bdb6f0d01606cfe9e4a2dc28b6d0964aad 100644 (file)
           <latency>low</latency>\r
           <key>external</key>\r
         </decklink>\r
-        <!--<ogl>\r
+        <ogl>\r
           <device>0</device>\r
           <stretch>uniform</stretch>\r
           <windowed>true</windowed>\r
         </ogl>\r
-        <audio/>-->\r
+       <!-- <audio/>-->\r
         <!--<bluefish>\r
           <device>1</device>\r
           <embedded-audio>true</embedded-audio>\r