]> git.sesse.net Git - casparcg/commitdiff
2.0.0.2: image_mixer: Removed magic numbers.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 19 May 2011 07:47:12 +0000 (07:47 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 19 May 2011 07:47:12 +0000 (07:47 +0000)
         video_decoder: Minor optimization.

git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@783 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/mixer/image/image_mixer.cpp
modules/ffmpeg/producer/video/video_decoder.cpp
shell/caspar.config

index b5e30936fc0061e0681e6d42227aa5de3c2d5bcc..17d08278564b1061b95a55692600bf99651efb30 100644 (file)
@@ -44,6 +44,9 @@ namespace caspar { namespace core {
                \r
 struct image_mixer::implementation : boost::noncopyable\r
 {      \r
+       static const size_t LOCAL_KEY_INDEX = 3;\r
+       static const size_t LAYER_KEY_INDEX = 4;\r
+\r
        struct render_item\r
        {\r
                core::pixel_format_desc desc;\r
@@ -208,13 +211,13 @@ public:
 \r
                        if(local_key_)\r
                        {\r
-                               local_key_buffer_->bind(3);\r
+                               local_key_buffer_->bind(LOCAL_KEY_INDEX);\r
                                draw_buffer_->attach(); \r
                                local_key_ = false;\r
                        }               \r
 \r
                        if(layer_key_)\r
-                               layer_key_buffer_->bind(4);\r
+                               layer_key_buffer_->bind(LAYER_KEY_INDEX);\r
                }       \r
 \r
                // Draw\r
index 64722650a472f7dfcbeed55e42a277baf7b0254b..9ce8f7e14a29ce1309e4bc44f97b61e30427b7fe 100644 (file)
@@ -192,9 +192,10 @@ public:
                                auto decoded_linesize = decoded_frame->linesize[n];\r
                                \r
                                // Copy line by line since ffmpeg sometimes pads each line.\r
-                               tbb::parallel_for(0, static_cast<int>(desc_.planes[n].height), 1, [&](int y)\r
+                               tbb::parallel_for(tbb::blocked_range<size_t>(0, static_cast<int>(desc_.planes[n].height)), [&](const tbb::blocked_range<size_t>& r)\r
                                {\r
-                                       fast_memcpy(result + y*plane.linesize, decoded + y*decoded_linesize, plane.linesize);\r
+                                       for(size_t y = r.begin(); y != r.end(); ++y)\r
+                                               memcpy(result + y*plane.linesize, decoded + y*decoded_linesize, plane.linesize);\r
                                });\r
                        });\r
                }\r
index 4d0c84b454424a9783e129a7da75ec93f25e7b65..88ad3f880be92c4ecd6beab6a75233d29f404fbf 100644 (file)
           <key>external</key>\r
           <output>default</output>\r
         </decklink>\r
-        <ogl>\r
+        <!--<ogl>\r
           <device>1</device>\r
           <stretch>uniform</stretch>\r
           <windowed>true</windowed>\r
           <output>key_only</output>\r
-        </ogl>\r
-        <file>\r
-          <filename>TESTING</filename>\r
-        </file>\r
+        </ogl>-->\r
         <!--<audio/>-->\r
         <!--<bluefish>\r
           <device>1</device>\r