Add RTSP features to cudacodec::VideoReader
* Add live video source enhancements, e.g. rtsp from ip camera's
Add error logs.
* Fix type.
* Change badly named flag.
* Alter live source flag everywhere to indicate what it does not what it is for, which should be left up to the documentation.
* Prevent frame que object from being reinitialized which could be unsafe if another thread and/or object is using it.
Force VideoReader to decode all YUV video formats to NV12
* Force decoding of all supported YUV inputs to NV12 and log warning to indicate this is taking place.
Add YUV output.
* Update to include missing CUDA stream argument to raw frame copy.
* Fix copy paste oversight.
cudacodec::VideoReader add colour format selection functionality
* Add capacity to select different colour formats for each decoded frame produced by cudacodec::VideoReader.
Updated accompanying test.
* Address warning
Pass cv::VideoCaptureProperties to VideoReader FFmpeg source
* Add missing codecs to cudacodec which uses Nvidia Video Codec SDK including checks to ensure codec used in input video file is supported on the current device.
* Allow VideoCaptureProperties to be passed to VideoCapture on initialization.
Include test for VideoReader but not for VideoCapture, assume pass through successful.
Use propertyId instead of c++ keyword property.
Remove unecessary error checks (parsers error is dependant on source) and output more informative exception.
* Prevent, fall back to CuvidVideoSource if VideoCapture params are passed and initialization fails and add test for this.
* Remove magic number from get methods, and make the types consistent with VideoCapture::get
Fix documentation.
* Add wrapper macro's and remove unecessary parameter from get().
Add writing encoded video streams to disk when streaming from RTSP sources using cudacodec
* Add missing codecs to cudacodec which uses Nvidia Video Codec SDK including checks to ensure codec used in input video file is supported on the current device.
* Update cudacoded to
1) automatically write the raw encoded video stream to a video file and,
2) use less GPU memory by more closely mirroring the Nvidia samples. Specifically querying the decoder for the number of decode surfaces (h265 commonly uses 4) instead of always using 20 and not using adaptive deinterlacing when the video sequence is progressive. Additional updates to mirror the Nvidia sample include initializing the decoder so that HandleVideoSequence() gets called every time before the decoder is initialized, ensuring all the parameters for the decoder are provided by nvcudec.
Added facility to decode AV1, not tested as VideoCapture doesn't return a valid fourcc for this.
Add facility to decode MPEG4 video - requires modification to VideoCapture see pull request.
* Prevent adding parameter sets twice and add zero padding to output files to that they play in vlc.
Notes: VideoCapture - returns mpeg as the codec for mpeg4 files, so files written as .m4v from mpeg4 sources cannot currently be decoded. This is also true for AV1 sources where cap.get(CAP_PROP_FOURCC) returns 0.
Added mpeg4 test file which can be decoded when VideoCapture adds the extra_data.
* Update to account for the extraData being passed from cap.retrieve instead of appended to the first packet.
* Update to be compatible with changes to VideoCapture
* Remove redundant test.
* Add check to ensure retrieve is successful.
* Remove writeToFile and allow VideoReader to return raw encoded data at the same time as decoded frames.
* Fix missing documentation.
Fix cudacodec::VideoReader::nextFrame python bindings
* Signla to python bindings generator that nextFrame's OutputArray is a GpuMat.
Also remove duplicate test in cudacodec
* cudacodec: drop CV_GPU, wrap GpuMat only
* Make it explicit that frame in nextFrame is GpuMat and cannot be multiple types as implied by OutputArray
OpenCV fix 14774 breaks cudacodec
* Example to describe comilation issue
* Added required changes, builds with -DWITH_FFMPEG=ON|OFF
* Working with standard ffmpeg cap.
* Changed cudacodec to use new retrieveRaw() function, to retrieve the raw encoded bitstream, from the videoio module instead of its own implementation.
* Fix cv::cudacodec::VideoWriter
* Update to use VideoContainer
* Remove header used in testing
* Remove warning
* remove dependence on redundant ffmpeg codecs
* cudacodec: use .set(CAP_PROP_FORMAT, -1) to extract RAW streams
* whitespace
* addressed alalek's comment