Old 05-24-2023, 06:07 PM   #1
teridon
Human being with feelings
 
Join Date: Aug 2022
Posts: 1
Default hardware acceleration for video decode?

Is Reaper supposed to use hardware acceleration for video decoding? As far as I can tell, it is not doing so on either of the two computers I tested it on. (Reaper 6.78/win64)

When I try to edit video in reaper, the performance for playing or scrubbing through the video is, well, abysmal. I've tried both the default ffmpeg included in Reaper, and the ffmpeg from https://github.com/GyanD/codexffmpeg/releases/tag/4.4.1 (specifically, the shared build, installed in UserPlugins)

I've also tried vlc as the decoder, but currently I'm using Video decoder priority: "ffmpeg, vlc".

I can see in the Windows Task Manager, both on the Processes tab, and the Performance tab for the GPU that there is NO GPU Video Decode. In contrast, when I scrub through a video in another video editor (in this case, Camtasia, but even in the Microsoft Photos editor it uses video decode).







Here is the video item properties:


Video decoder info:
Code:
	This version of REAPER supports video decoding/playback via:
	
	• wmf: Windows Media Foundation: Windows Vista+ only, no additional download required
	• qt: Quicktime: (bridged to 32-bit), Quicktime must be installed
	• ffmpeg: FFmpeg/libav: minimal build included with REAPER, v2.8-v4.2 can be downloaded separately for more functionality
	• vlc: VLC media player: v2.x-v3.x for correct architecture must be downloaded separately
	• dshow_depr: DirectShow: deprecated, not recommended
	
	For each imported media file, REAPER will try the available decoders in the priority order listed in Preferences. Append :ext or :ext1,ext2 or :!ext to limit decoders to a specific media file extensions. For example, vlc:mov will try the VLC decoder only for .mov files; ffmpeg:!wmv will try the FFmpeg decoder for files other than .wmv.
	
	Using output: DirectShow EVR
	Current video frame: 2160x3840 'YV12' #49
	
	Available decoder information:
	
	========== Windows Media Foundation ==========
	Windows Media Foundation v2 decoder/encoder available
	
	========== VLC ==========
	VLC v3.0.x
	Loaded from: C:\Program Files\VideoLAN\VLC
	
	========== ffmpeg/libav ==========
	ffmpeg/libav DLL decoder v58.134.100
	
	Loaded from: C:\Users\teridon\AppData\Roaming\REAPER\UserPlugins\avcodec-58.dll
	ffmpeg/libav configuration:
	  --enable-gpl
	  --enable-version3
	  --enable-shared
	  --disable-w32threads
	  --disable-autodetect
	  --enable-fontconfig
	  --enable-iconv
	  --enable-gnutls
	  --enable-libxml2
	  --enable-gmp
	  --enable-lzma
	  --enable-libsnappy
	  --enable-zlib
	  --enable-librist
	  --enable-libsrt
	  --enable-libssh
	  --enable-libzmq
	  --enable-avisynth
	  --enable-libbluray
	  --enable-libcaca
	  --enable-sdl2
	  --enable-libdav1d
	  --enable-libzvbi
	  --enable-librav1e
	  --enable-libsvtav1
	  --enable-libwebp
	  --enable-libx264
	  --enable-libx265
	  --enable-libxvid
	  --enable-libaom
	  --enable-libopenjpeg
	  --enable-libvpx
	  --enable-libass
	  --enable-frei0r
	  --enable-libfreetype
	  --enable-libfribidi
	  --enable-libvidstab
	  --enable-libvmaf
	  --enable-libzimg
	  --enable-amf
	  --enable-cuda-llvm
	  --enable-cuvid
	  --enable-ffnvcodec
	  --enable-nvdec
	  --enable-nvenc
	  --enable-d3d11va
	  --enable-dxva2
	  --enable-libmfx
	  --enable-libglslang
	  --enable-vulkan
	  --enable-opencl
	  --enable-libcdio
	  --enable-libgme
	  --enable-libmodplug
	  --enable-libopenmpt
	  --enable-libopencore-amrwb
	  --enable-libmp3lame
	  --enable-libshine
	  --enable-libtheora
	  --enable-libtwolame
	  --enable-libvo-amrwbenc
	  --enable-libilbc
	  --enable-libgsm
	  --enable-libopencore-amrnb
	  --enable-libopus
	  --enable-libspeex
	  --enable-libvorbis
	  --enable-ladspa
	  --enable-libbs2b
	  --enable-libflite
	  --enable-libmysofa
	  --enable-librubberband
	  --enable-libsoxr
	  --enable-chromaprint
	
	ffmpeg/libav search path:
	  %PATH%
	  C:\Program Files\REAPER (x64)
	  C:\Users\teridon\AppData\Roaming\REAPER\UserPlugins\64
	  C:\Users\teridon\AppData\Roaming\REAPER\UserPlugins
	  C:\Program Files\REAPER (x64)\Plugins
	
	========== DirectShow (deprecated) ==========
DirectShow available (but deprecated)
ffprobe on the video file:
Code:
	Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'PXL_20221022_154347357.mp4':
	  Metadata:
	    major_brand     : isom
	    minor_version   : 131072
	    compatible_brands: isomiso2mp41
	    creation_time   : 2022-10-22T15:44:27.000000Z
	    com.android.capture.fps: 30.000000
	  Duration: 00:00:37.12, start: 0.000000, bitrate: 43858 kb/s
	  Stream #0:0[0x1](eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 191 kb/s (default)
	    Metadata:
	      creation_time   : 2022-10-22T15:44:27.000000Z
	      handler_name    : SoundHandle
	      vendor_id       : [0][0][0][0]
	  Stream #0:1[0x2](eng): Video: hevc (Main) (hvc1 / 0x31637668), yuvj420p(pc, smpte170m/bt470bg/smpte170m), 3840x2160, 43663 kb/s, SAR 1:1 DAR 16:9, 29.74 fps, 30 tbr, 90k
	 tbn (default)
	    Metadata:
	      creation_time   : 2022-10-22T15:44:27.000000Z
	      handler_name    : VideoHandle
	      vendor_id       : [0][0][0][0]
	    Side data:
	      displaymatrix: rotation of -90.00 degrees
Attached Images
File Type: png video_file_item_properties.png (29.8 KB, 413 views)
File Type: png camtasia_video_decode.png (38.9 KB, 395 views)
File Type: png GPU_performance_graph.png (30.9 KB, 403 views)
File Type: png reaper_no_video_decode.png (33.7 KB, 397 views)
teridon is offline   Reply With Quote
Old 05-25-2023, 12:55 AM   #2
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,568
Default

Seems like you're doing everything right from what you shared.

No reaper doesn't use GPU for anything.

I think the issue with that video might be that it is H.265 (HEVC). I would try converting to a different format.

And experiment with the options in the video window menu (right-click it)
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is online now   Reply With Quote
Old 05-25-2023, 04:38 AM   #3
papagirafe
Human being with feelings
 
papagirafe's Avatar
 
Join Date: Aug 2020
Location: Brasil
Posts: 679
Default

Quote:
Originally Posted by EpicSounds View Post
<snip>
No reaper doesn't use GPU for anything.
<snip>
Well... from my experience with vp "hardcore" coding, it´s not entirely true but it's not using it as much as it could though. It seems to be using the CPU to iterate through the preset code but calling breifly the GPU on video primitive only (like gfx_blit()). Some functions do benefit greatly, like gfx_evalrect(), but depending on what math functions you are using and where you are using them, the proportion of CPU/GPU may vary: I remember having tried to remove a sqrt() from an evalrect(), only to discover that CPU usage increased by 3% while GPU usage decreased by 0.1%. It sort of proved it was really using the GPU, if only marginally.
papagirafe is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:32 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.