1. 24 11月, 2021 1 次提交
    • C
      Merge pull request #20978 from cudawarped:videocapture_read_raw_enchancement · 97c6ec6d
      cudawarped 提交于
      Add capacity to Videocapture to return the extraData from FFmpeg when required
      
      * Update rawMode to append any extra data recieved during the initial negotiation of an RTSP stream or during the parsing of an MPEG4 file header.
      For h264[5] RTSP streams this ensures the parameter sets if available are always returned on the first call to grab()/read() and has two purposes:
      1) To ensure the parameter sets are available even if they are not transmitted in band.  This is common for axis ip camera's.
      2) To allow callers of VideoCapture::grab()[read()] to write to split the raw stream over multiple files by appending the parameter sets to the begining of any new files.
      For (1) there is no alternative, for (2) if the parameter sets were provided in band it would be possible to parse the raw bit stream and search for the parameter sets however that would be a lot of work when that information is already provided by FFMPEG.
      For MPEG4 files this information is only suplied in the header and is required for decoding.
      
      Two properties are also required to enable the raw encoded bitstream to be written to multiple files, these are;
      1) an indicator as to whether the last frame was a key frame or not - each new file needs to start at a key frame to avoid storing unusable frame diffs,
      2) the length in bytes of the paramater sets contained in the last frame - required to split the paramater sets from the frame without having to parse the stream.  Any call to VideoCapture::get(CAP_PROP_LF_PARAM_SET_LEN) returning a number greater than zero indicates the presense of a parameter set at the begining of the raw bitstream.
      
      * Adjust test data to account for extraData
      
      * Address warning.
      
      * Change added property names and remove paramater set start code check.
      
      * Output extra data on calls to retrieve instead of appending to the first packet.
      
      * Reverted old test case and added new one to evaluate new functionality.
      
      * Add missing definition.
      
      * Remove flag from legacy api.
      Add property to determine if returning extra data is supported.
      Always allow extra data to be returned on calls to cap.retrieve()
      Update test case.
      
      * Update condition which indicates CAP_PROP_CODEC_EXTRADATA_INDEX is not supported in test case.
      
      * Include compatibility for windows dll if not updated.
      Enforce existing return status convention.
      
      * Fix return error and missing test constraints.
      97c6ec6d
  2. 28 1月, 2021 2 次提交
  3. 23 7月, 2020 1 次提交
  4. 10 3月, 2020 1 次提交
  5. 26 1月, 2020 1 次提交
  6. 19 11月, 2019 1 次提交
  7. 18 11月, 2019 1 次提交
    • C
      Merge pull request #15290 from cudawarped:ffmpeg_raw_retrieve · 0867e318
      cudawarped 提交于
      Add retrieve encoded frame to VideoCapture
      
      * Add capacity to retrieve the encoded frame from a VideoCapture object.
      
      * Correct raw codec and pixle format output from ffmpeg capture.
      
      * Remove warnings from build.
      
      * Added VideoCaptureRaw subclass.
      
      * Include abstract base class VideoCaptureBase and rename new subclass VideoContainer as suggested by mshabunin.
      
      * Remove using.
      
      * Change base class name for compatibility with jave bindings generator.
      
      * Move grab and retrieve and add override specifier
      
      * Add setRaw and readRaw to IVideoCapture interface
      -setRaw to disable video decoding and enable bitstream filters from mp4 to h254 and h265.
      -readRaw to return the raw undecoded/filtered bitstream.
      Add createRawCapture to initiate a backend with setRaw enabled.
      Remove inheritance and use an independant VideoContainer subclass with IVideoCapture member.
      
      * Address unused parameter warings.
      Remove VideoContainer from python bindings as it no longer returns a Mat.
      Use opencv type uchar instead of unsigned char.
      Add missing destructor to VideoContainer class.
      
      * Address build warnings and include all params in documentation.
      
      * Include deprecated bitstream filtering API.
      
      * Update codec_id query to work with older ffmpeg api's.
      Change api version defines to be consistent - most recent api version first.
      
      * Fix typo.
      
      * Update test to work with naming of new files in the extra repo
      
      * Investigate test failure
      
      * Check bytes read by ffmpeg
      
      * Removed mp4 video container test
      
      * Applied suggested changes.
      
      * videoio: rework API for extraction of RAW video streams
      
      - FFmpeg only
      
      * address review comments
      0867e318
  8. 20 6月, 2019 1 次提交
  9. 26 2月, 2019 1 次提交
  10. 18 9月, 2018 1 次提交
  11. 31 5月, 2018 1 次提交
  12. 29 5月, 2018 2 次提交
  13. 28 3月, 2018 1 次提交
  14. 04 2月, 2018 1 次提交
    • A
      ts: refactor OpenCV tests · 4a297a24
      Alexander Alekhin 提交于
      - removed tr1 usage (dropped in C++17)
      - moved includes of vector/map/iostream/limits into ts.hpp
      - require opencv_test + anonymous namespace (added compile check)
      - fixed norm() usage (must be from cvtest::norm for checks) and other conflict functions
      - added missing license headers
      4a297a24
  15. 23 11月, 2017 1 次提交
  16. 05 7月, 2017 1 次提交
  17. 21 7月, 2016 1 次提交
  18. 03 6月, 2015 1 次提交
  19. 23 4月, 2015 1 次提交
  20. 15 7月, 2014 1 次提交
  21. 09 4月, 2014 1 次提交
  22. 08 4月, 2014 1 次提交
  23. 01 2月, 2014 1 次提交
  24. 31 1月, 2014 1 次提交
  25. 11 11月, 2013 1 次提交
    • R
      Replaced the image used in the Highgui_Video.ffmpeg_image test. · 405227d5
      Roman Donchenko 提交于
      Our prebuilt FFmpeg Windows binaries don't have PNG support enabled
      (because that requires zlib), so that makes a PNG image a bad choice
      for this test.
      
      When FFmpeg doesn't support PNG, VideoCapture falls back to the
      "image sequence" implementation, which doesn't work for single images.
      405227d5
  26. 25 10月, 2013 3 次提交
  27. 23 10月, 2013 2 次提交
  28. 08 4月, 2013 1 次提交
  29. 27 3月, 2013 2 次提交
  30. 13 3月, 2013 1 次提交
  31. 12 2月, 2013 1 次提交
  32. 11 2月, 2013 1 次提交
  33. 04 2月, 2013 1 次提交
  34. 29 1月, 2013 1 次提交