How to configure VLC to play 4K content properly

I have succeeded in reproducing the problem using VLC version 2.2.4.

The problem of freezing exists only if "Hardware-accelerated decoding" is set to something else than "Disable".

Apparently VLC now supports GPU decoding, but I believe it is done in a very inefficient manner.
The article How to enable gpu accelerated decoding in VLC says this :

the data is decoded in the GPU at the decoding stage and then transferred back to the player so that the other stages, filtering and streaming for instance, can be processed.

I have managed better frame-rate when setting "Hardware-accelerated decoding" to "Disable". This puts the entire burden on the CPU and so requires a strong CPU.

User Journeyman Geek recommends increasing the thread number under Tools / Preferences / Video Codecs" / FFMPEG / Threads, but it worked for me with the default value of 0 which means "Auto". You might experiment further with other values for Threads. I just remark that the FFMPEG library is not used for all video formats.

VLC apparently does not support at the moment (2016) the x265 codec, since x265 videos did not play when downloaded from 4ksamples.com. However, everything worked flawlessly with Media Player Classic.

Edit (2018) : VLC now works successfully with these files.


I've been experimenting a bit with the puppies bath in 4k video off 4ksamples.com as well as a few others. I got a combination that worked with my test video. I note reasonably fast storage is essential for quality playback. Considering some trial and error is needed, do backup the current settings. These settings work on a 3770, 16gb of ram and a gforce 980TI which I know is 4k capable

I've changed quite a few advanced settings to get it to work. In theory I want DXVA to be enabled but that causes VLC to crash.

Under simple mode in preferences go to Tools -> Preferences and Input / Codecs and in the drop-down box for Skip H.264 in-loop deblocking filter change it to All. This is recommended by VLC

Switch to show all under preferences and try these changes

I turned off all filters under Video Filters. This was the last thing I did, and seemed to help the most so I'd start here

Under "Video Codecs" - > FFMPEG I set my threads to 3. You might want to experiment with higher or lower numbers.

Make sure everything under output modules/DirectX is unticked.

These changes seem to have worked.

For reference, once I stripped out the commented lines, my vlcrc looks like

[directdraw] 
directx-hw-yuv=0
directx-3buffering=0
[direct3d] 
direct3d-shader=Disabled
[swscale] 
swscale-mode=9
[qt4] 
qt-privacy-ask=0
[x264] 
sout-x264-profile=main
sout-x264-preset=veryfast
sout-x264-tune=film
[qsv] 
sout-qsv-software=1
sout-qsv-h264-profile=decide
sout-qsv-h264-level=decide
sout-qsv-mpeg2-profile=decide
sout-qsv-mpeg2-level=decide
[avcodec] 
avcodec-skiploopfilter=4
avcodec-hw=any
avcodec-threads=3
[waveout] 
waveout-volume=0.700000
[directsound] 
directx-volume=0.700000
[filesystem] 
filetypes=m3u,db,nfo,ini,jpg,jpeg,ljpg,gif,png,pgm,pgmyuv,pbm,pam,tga,bmp,pnm,xpm,xcf,pcx,tif,tiff,lbm,sfv,txt,sub,idx,srt,cue,ssa
[core] 
aout=any
video-deco=0
vout=direct3d
video-filter=swscale
vod-server=any

I have a gist with my full vlcrc for 4k here