\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_contexts_;\r
+ static tbb::concurrent_unordered_map<int, 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
\r
int key = ((width << 22) & 0xFFC00000) | ((height << 6) & 0x003FC000) | ((pix_fmt << 7) & 0x00007F00) | ((target_pix_fmt << 0) & 0x0000007F);\r
\r
- auto& pool = sws_contexts_[key];\r
+ auto& pool = sws_contvalid_exts_[key];\r
\r
if(!pool.try_pop(sws_context))\r
{\r
\r
bool is_valid_file(const std::wstring filename)\r
{ \r
- static std::vector<std::wstring> exts = boost::assign::list_of(L".m2t")(L".mov")(L".mp4")(L".dv")(L".flv")(L".mpg")(L".wav")(L".mp3")(L".dnxhd")(L".h264")(L".prores");\r
+ static const std::vector<std::wstring> invalid_exts = boost::assign::list_of(L".png")(L".tga")(L".bmp")(L".jpg")(L".jpeg")(L".gif")(L".tiff")(L".tif")(L".jp2")(L".jpx")(L".j2k")(L".j2c");\r
+ static std::vector<std::wstring> valid_exts = boost::assign::list_of(L".m2t")(L".mov")(L".mp4")(L".dv")(L".flv")(L".mpg")(L".wav")(L".mp3")(L".dnxhd")(L".h264")(L".prores");\r
\r
auto ext = boost::to_lower_copy(boost::filesystem::path(filename).extension().wstring());\r
\r
- if(std::find(exts.begin(), exts.end(), ext) != exts.end())\r
+ if(std::find(valid_exts.begin(), valid_exts.end(), ext) != valid_exts.end())\r
return true; \r
\r
+ if(std::find(invalid_exts.begin(), invalid_exts.end(), ext) != invalid_exts.end())\r
+ return false; \r
+\r
auto u8filename = u8(filename);\r
\r
int score = 0;\r