]> 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>
Thu, 22 Mar 2012 19:30:24 +0000 (19:30 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 22 Mar 2012 19:30:24 +0000 (19:30 +0000)
modules/ffmpeg/producer/util/util.cpp

index e76b33f3ca34a36fb4e43a3b62bb8e80755a83c2..1a03aef886bee7a7c47d2c62d83a68a6b7e7aa59 100644 (file)
@@ -174,7 +174,7 @@ core::pixel_format_desc pixel_format_desc(PixelFormat pix_fmt, int width, int he
 \r
 core::mutable_frame make_frame(const void* tag, const spl::shared_ptr<AVFrame>& decoded_frame, double fps, core::frame_factory& frame_factory)\r
 {                      \r
-       static tbb::concurrent_unordered_map<int, tbb::concurrent_queue<std::shared_ptr<SwsContext>>> sws_contvalid_exts_;\r
+       static tbb::concurrent_unordered_map<int64_t, tbb::concurrent_queue<std::shared_ptr<SwsContext>>> sws_contvalid_exts_;\r
        \r
        if(decoded_frame->width < 1 || decoded_frame->height < 1)\r
                return frame_factory.create_frame(tag, core::pixel_format_desc(core::pixel_format::invalid));\r
@@ -208,8 +208,11 @@ core::mutable_frame make_frame(const void* tag, const spl::shared_ptr<AVFrame>&
                std::shared_ptr<SwsContext> sws_context;\r
 \r
                //CASPAR_LOG(warning) << "Hardware accelerated color transform not supported.";\r
-\r
-               int key = ((width << 22) & 0xFFC00000) | ((height << 6) & 0x003FC000) | ((pix_fmt << 7) & 0x00007F00) | ((target_pix_fmt << 0) & 0x0000007F);\r
+               \r
+               int64_t key = ((static_cast<int64_t>(width)                      << 32) & 0xFFFF00000000) | \r
+                                         ((static_cast<int64_t>(height)                 << 16) & 0xFFFF0000) | \r
+                                         ((static_cast<int64_t>(pix_fmt)                <<  8) & 0xFF00) | \r
+                                         ((static_cast<int64_t>(target_pix_fmt) <<  0) & 0xFF);\r
                        \r
                auto& pool = sws_contvalid_exts_[key];\r
                                                \r