]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 11 Dec 2011 00:02:51 +0000 (00:02 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Sun, 11 Dec 2011 00:02:51 +0000 (00:02 +0000)
modules/ffmpeg/producer/util/util.cpp

index 73e70c99bb6a04827d0e84fb7554b05496f7fa8a..f15f69a7e46f2528dbfeb445d258069568ce5e3a 100644 (file)
@@ -270,10 +270,12 @@ safe_ptr<core::write_frame> make_write_frame(const void* tag, const safe_ptr<AVF
                        CASPAR_ASSERT(write->image_data(n).begin());\r
 \r
                        // Copy line by line since ffmpeg sometimes pads each line.\r
-                       tbb::parallel_for<int>(0, desc.planes[n].height, [&](int y)\r
+                       tbb::affinity_partitioner ap;\r
+                       tbb::parallel_for(tbb::blocked_range<int>(0, desc.planes[n].height), [&](const tbb::blocked_range<int>& r)\r
                        {\r
-                               A_memcpy(result + y*plane.linesize, decoded + y*decoded_linesize, plane.linesize);\r
-                       });\r
+                               for(int y = r.begin(); y != r.end(); ++y)\r
+                                       A_memcpy(result + y*plane.linesize, decoded + y*decoded_linesize, plane.linesize);\r
+                       }, ap);\r
 \r
                        write->commit(n);\r
                }\r