• M
    Merge pull request #19460 from mikhail-nikolskiy:videoio-hw · 7bcb51ed
    Mikhail Nikolskii 提交于
    videoio: HW decode/encode in FFMPEG backend; new properties with support in FFMPEG/GST/MSMF
    
    * HW acceleration in FFMPEG backend
    
    * fixes on Windows, remove D3D9
    
    * HW acceleration in FFMPEG backend
    
    * fixes on Windows, remove D3D9
    
    * improve va test
    
    * Copyright
    
    * check LIBAVUTIL_BUILD >= AV_VERSION_INT(55, 78, 100) // FFMPEG 3.4+
    
    * CAP_MSMF test on .mp4
    
    * .mp4 in test
    
    * improve va test
    
    * Copyright
    
    * check LIBAVUTIL_BUILD >= AV_VERSION_INT(55, 78, 100) // FFMPEG 3.4+
    
    * CAP_MSMF test on .mp4
    
    * .mp4 in test
    
    * .avi for GStreamer test
    
    * revert changes around seek()
    
    * cv_writer_open_with_params
    
    * params.warnUnusedParameters
    
    * VideoCaptureParameters in GStreamer
    
    * open_with_params
    
    * params->getUnused
    
    * Reduce PSNR threshold 33->32 (other tests use 30)
    
    * require FFMPEG 4.0+; PSNR 30 as in other tests
    
    * GStreamer AVI-demux plugin not installed in Ubuntu test environment?
    
    * fix build on very old ffmpeg
    
    * fix build on very old ffmpeg
    
    * fix build issues
    
    * fix build issues (static_cast)
    
    * FFMPEG built on Windows without H264 encoder?
    
    * fix for write_nothing test on VAAPI
    
    * fix warnings
    
    * fix cv_writer_get_prop in plugins
    
    * use avcodec_get_hw_frames_parameters; more robust fallback to SW codecs
    
    * internal function hw_check_device() for device check/logging
    
    * two separate tests for HW read and write
    
    * image size 640x480 in encode test
    
    * WITH_VA=ON (only .h headers used in OpenCV, no linkage dependency)
    
    * exception on VP9 SW encoder?
    
    * rebase master; refine info message
    
    * videoio: fix FFmpeg standalone plugin build
    
    * videoio(ffmpeg): eliminate MSVC build warnings
    
    * address review comments
    
    * videoio(hw): update videocapture_acceleration.read test
    
    - remove parallel decoding by SW code path
    - check PSNR against the original generated image
    
    * videoio: minor fixes
    
    * videoio(test): disable unsupported MSMF cases (SW and HW)
    
    * videoio(test): update PSNR thresholds for HW acceleration read
    
    * videoio(test): update debug messages
    
    * "hw_acceleration" whitelisting parameter
    
    * little optimization in test
    
    * D3D11VA supports decoders, doesn't support encoders
    
    * videoio(test): adjust PSNR threshold in write_read_position tests
    
    * videoio(ffmpeg): fix rejecting on acceleration device name mismatch
    
    * videoio(ffmpeg): fix compilation USE_AV_HW_CODECS=0, add more debug logging
    
    * videoio: rework VideoAccelerationType behavior
    
    - enum is not a bitset
    - default value is backend specific
    - only '_NONE' and '_ANY' may fallback on software processing
    - specific H/W acceleration doesn't fallback on software processing. It fails if there is no support for specified H/W acceleration.
    
    * videoio(test): fix for current FFmpeg wrapper
    Co-authored-by: NAlexander Alekhin <alexander.a.alekhin@gmail.com>
    7bcb51ed
cap_ffmpeg_impl.hpp 83.6 KB