1. 12 10月, 2021 1 次提交
  2. 19 3月, 2021 1 次提交
  3. 30 10月, 2020 1 次提交
    • D
      G-API: Introduce streaming::desync and infer(ROI) · ca8bb8d0
      Dmitry Matveev 提交于
      - desync() is a new (and for now, the only one) intrinsic
        which splits the graph execution into asynchronous parts
        when running in Streaming mode;
      - desync() makes no effect when compiling in Traditional mode;
      - Added tests on desync() working in various scenarios;
      - Extended GStreamingExecutor to support desync(); also extended
        GStreamingCompiled() with a new version of pull() returning a
        vector of optional values;
      - Fixed various issues with storing the type information & proper
        construction callbacks for GArray<> and GOpaque;
      
      - Introduced a new infer(Roi,GMat) overload with a sample;
      
      - Introduced an internal API for Islands to control fusion
        procedure (to fuse or not to fuse);
      - Introduced handleStopStream() callback for island executables;
      - Added GCompileArgs to metadata of the graph (required for other
        features).
      ca8bb8d0
  4. 25 6月, 2020 1 次提交
  5. 10 12月, 2019 1 次提交
    • D
      Merge pull request #16081 from dmatveev:dm/ocv42_gapi_bugfixes · 9a18330f
      Dmitry Matveev 提交于
      G-API: Fix various issues for 4.2 release
      
      * G-API: Fix issues reported by Coverity
      
      - Fixed: passing values by value instead of passing by reference
      
      * G-API: Fix redundant std::move()'s in return statements
      
      Fixes #15903
      
      * G-API: Added a smarter handling of Stop messages in the pipeline
      
      - This should fix the "expected 100, got 99 frames" problem
      - Fixes #15882
      
      * G-API: Pass enum instead of GKernelPackage in Streaming test parameters
      
      - Likely fixes #15836
      
      * G-API: Address review issues in new bugfix comments
      9a18330f
  6. 04 12月, 2019 1 次提交
    • P
      Merge pull request #16031 from aDanPin:dm/streaming_auto_meta · 5e3a7ac8
      Pinaev Danil 提交于
      G-API-NG/Streaming: don't require explicit metadata in compileStreaming()
      
      * First probably working version
      Hardcode gose to setSource() :)
      
      * Pre final version of move metadata declaration from compileStreaming() to setSource().
      
      * G-API-NG/Streaming: recovered the existing Streaming functionality
      
      - The auto-meta test is disabling since it crashes.
      - Restored .gitignore
      
      * G-API-NG/Streaming: Made the meta-less compileStreaming() work
      
      - Works fine even with OpenCV backend;
      - Fluid doesn't support such kind of compilation so far - to be fixed
      
      * G-API-NG/Streaming: Fix Fluid to support meta-less compilation
      
      - Introduced a notion of metadata-sensitive passes and slightly
        refactored GCompiler and GFluidBackend to support that
      - Fixed a TwoVideoSourcesFail test on streaming
      
      * Add three smoke streaming tests to gapi_streaming_tests.
      All three teste run pipeline with two different input sets
      1) SmokeTest_Two_Const_Mats test run pipeline with two const Mats
      2) SmokeTest_One_Video_One_Const_Scalar test run pipleline with Mat(video source) and const Scalar
      3) SmokeTest_One_Video_One_Const_Vector test run pipeline with Mat(video source) and const Vector
       # Please enter the commit message for your changes. Lines starting
      
      * style fix
      
      * Some review stuff
      
      * Some review stuff
      5e3a7ac8
  7. 19 10月, 2019 1 次提交
    • D
      Merge pull request #15216 from dmatveev:dm/ng-0010-g-api-streaming-api · 24771037
      Dmitry Matveev 提交于
      * G-API-NG/Streaming: Introduced a Streaming API
      
      Now a GComputation can be compiled in a special "streaming" way
      and then "played" on a video stream.
      
      Currently only VideoCapture is supported as an input source.
      
      * G-API-NG/Streaming: added threading & real streaming
      
      * G-API-NG/Streaming: Added tests & docs on Copy kernel
      
      - Added very simple pipeline tests, not all data types are covered yet
        (in fact, only GMat is tested now);
      - Started testing non-OCV backends in the streaming mode;
      - Added required fixes to Fluid backend, likely it works OK now;
      - Added required fixes to OCL backend, and now it is likely broken
      - Also added a UMat-based (OCL) version of Copy kernel
      
      * G-API-NG/Streaming: Added own concurrent queue class
      
      - Used only if TBB is not available
      
      * G-API-NG/Streaming: Fixing various issues
      
      - Added missing header to CMakeLists.txt
      - Fixed various CI issues and warnings
      
      * G-API-NG/Streaming: Fixed a compile-time GScalar queue deadlock
      
      - GStreamingExecutor blindly created island's input queues for
        compile-time (value-initialized) GScalars which didn't have any
        producers, making island actor threads wait there forever
      
      * G-API-NG/Streaming: Dropped own version of Copy kernel
      
      One was added into master already
      
      * G-API-NG/Streaming: Addressed GArray<T> review comments
      
      - Added tests on mov()
      - Removed unnecessary changes in garray.hpp
      
      * G-API-NG/Streaming: Added Doxygen comments to new public APIs
      
      Also fixed some other comments in the code
      
      * G-API-NG/Streaming: Removed debug info, added some comments & renamed vars
      
      * G-API-NG/Streaming: Fixed own-vs-cv abstraction leak
      
      - Now every island is triggered with own:: (instead of cv::)
        data objects as inputs;
      - Changes in Fluid backend required to support cv::Mat/Scalar were
        reverted;
      
      * G-API-NG/Streaming: use holds_alternative<> instead of index/index_of test
      
      - Also fixed regression test comments
      - Also added metadata check comments for GStreamingCompiled
      
      * G-API-NG/Streaming: Made start()/stop() more robust
      
      - Fixed various possible deadlocks
      - Unified the shutdown code
      - Added more tests covering different corner cases on start/stop
      
      * G-API-NG/Streaming: Finally fixed Windows crashes
      
      In fact the problem hasn't been Windows-only.
      Island thread popped data from queues without preserving the Cmd
      objects and without taking the ownership over data acquired so when
      islands started to process the data, this data may be already freed.
      
      Linux version worked only by occasion.
      
      * G-API-NG/Streaming: Fixed (I hope so) Windows warnings
      
      * G-API-NG/Streaming: fixed typos in internal comments
      
      - Also added some more explanation on Streaming/OpenCL status
      
      * G-API-NG/Streaming: Added more unit tests on streaming
      
      - Various start()/stop()/setSource() call flow combinations
      
      * G-API-NG/Streaming: Added tests on own concurrent bounded queue
      
      * G-API-NG/Streaming: Added more tests on various data types, + more
      
      - Vector/Scalar passed as input;
      - Vector/Scalar passed in-between islands;
      - Some more assertions;
      - Also fixed a deadlock problem when inputs are mixed (1 constant, 1 stream)
      
      * G-API-NG/Streaming: Added tests on output data types handling
      
      - Vector
      - Scalar
      
      * G-API-NG/Streaming: Fixed test issues with IE + Windows warnings
      
      * G-API-NG/Streaming: Decoupled G-API from videoio
      
      - Now the core G-API doesn't use a cv::VideoCapture directly,
        it comes in via an abstract interface;
      - Polished a little bit the setSource()/start()/stop() semantics,
        now setSource() is mandatory before ANY call to start().
      
      * G-API-NG/Streaming: Fix STANDALONE build (errors brought by render)
      24771037