]> 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>
Mon, 28 Nov 2011 13:27:01 +0000 (13:27 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Mon, 28 Nov 2011 13:27:01 +0000 (13:27 +0000)
modules/ffmpeg/producer/filter/filter.cpp

index e605ea199ce19bd070ca721de2fa2d7fe67c3a54..af4851ee36c14983752ec191fe3873f34f3e03d9 100644 (file)
@@ -42,15 +42,11 @@ struct filter::implementation
        std::shared_ptr<void>                   parallel_yadif_ctx_;\r
        std::vector<PixelFormat>                pix_fmts_;\r
        std::queue<std::shared_ptr<AVFrame>> bypass_;\r
-       int                                                             in_format_;\r
-       bool                                                    warned_;\r
                \r
        implementation(const std::wstring& filters, const std::vector<PixelFormat>& pix_fmts) \r
                : filters_(narrow(filters))\r
                , parallel_yadif_ctx_(nullptr)\r
                , pix_fmts_(pix_fmts)\r
-               , in_format_(0)\r
-               , warned_(false)\r
        {\r
                if(pix_fmts_.empty())\r
                {\r
@@ -91,7 +87,6 @@ struct filter::implementation
                        {\r
                                try\r
                                {\r
-                                       in_format_ = frame->format;\r
                                        graph_.reset(avfilter_graph_alloc(), [](AVFilterGraph* p){avfilter_graph_free(&p);});\r
                                                                \r
                                        // Input\r
@@ -191,24 +186,7 @@ struct filter::implementation
                                        frame->key_frame                        = picref->video->key_frame;\r
                                        frame->pict_type                        = picref->video->pict_type;\r
                                        frame->sample_aspect_ratio      = picref->video->sample_aspect_ratio;\r
-\r
-                                       // HACK: Workaround for missing format bug in libavfilter.\r
-                                       if(frame->format == 0)\r
-                                       {\r
-                                               if(in_format_ == PIX_FMT_YUV444P10)\r
-                                                       frame->format = PIX_FMT_YUV420P;//PIX_FMT_YUV444P;\r
-                                               else if(in_format_ == PIX_FMT_YUV422P10)\r
-                                                       frame->format = PIX_FMT_YUV420P;//PIX_FMT_YUV422P;\r
-                                               else\r
-                                                       BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("libavfilter bug: frame format == 0."));\r
-                                               \r
-                                               if(!warned_)\r
-                                               {\r
-                                                       CASPAR_LOG(warning) << "[ffmpeg] libavfilter bug workaround: frame format == 0, guessing PIX_FMT_YUV420P.";\r
-                                                       warned_ = true;\r
-                                               }\r
-                                       }\r
-\r
+                                       \r
                                        return frame;\r
                                }\r
                        }\r