1 (edited by orificeofthenine 09-03-2020 01:56:22)

Topic: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

Hi; I'm testing out SVP right now, and I'm really liking it. I have some questions though:

On 4K 10-bit videos (or 8K) (YouTube), I'm noticing that the video will lag immensely, even though CPU and GPU usage are low. Is there any way to fix this?
4K without 10-bit and 8K (if the original didn't have 10-bit) plays perfectly fine.

Also, is there any way to do force above 60 FPS on 60 FPS videos? I noticed that if a video's already 60 FPS, SVP just leaves it at 60 FPS.

Re: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

To eliminate lags on 10-bit videos try to select another decoder.
https://www.svp-team.com/wiki/SVP:4K_and_HDR

To make SVP work to videos already 60 fps change value of setting frc.target.max.
https://www.svp-team.com/wiki/FAQ#I.27v … fps_videos

3 (edited by orificeofthenine 09-03-2020 02:53:30)

Re: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

MAG79 wrote:

To eliminate lags on 10-bit videos try to select another decoder.
https://www.svp-team.com/wiki/SVP:4K_and_HDR

To make SVP work to videos already 60 fps change value of setting frc.target.max.
https://www.svp-team.com/wiki/FAQ#I.27v … fps_videos

Thanks, the second one worked!

The first one however, I use MPV, so I don't know how to change decoder
It feels strange, because when I try to play 4K/8K 10-bit, the FPS drops to 10 and gets stuck there. Is there some reason why it's always that value?
Again, it's barely using any of my CPU or GPU, so I think maybe there's some setting involved?

It starts off okay for like 1-2 seconds, and then hard locks at 10 FPS without even trying to push higher.

Re: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

Do you know GPU has several blocks? I talk about decoding block. You can use GPU-Z to watch to load of each GPU block.
mpv has decoder settings. You can select decoder by option --vd=<...>
https://mpv.io/manual/master/#options-vd

Video decoders:
    aasc - Autodesk RLE
    aic - Apple Intermediate Codec
    alias_pix - Alias/Wavefront PIX image
    agm - Amuse Graphics Movie
    amv - AMV Video
    anm - Deluxe Paint Animation
    ansi - ASCII/ANSI art
    apng - APNG (Animated Portable Network Graphics) image
    arbc - Gryphon's Anim Compressor
    asv1 - ASUS V1
    asv2 - ASUS V2
    aura - Auravision AURA
    aura2 - Auravision Aura 2
    avrp - Avid 1:1 10-bit RGB Packer
    avrn - Avid AVI Codec
    avs - AVS (Audio Video Standard) video
    avui - Avid Meridien Uncompressed
    ayuv - Uncompressed packed MS 4:4:4:4
    bethsoftvid - Bethesda VID video
    bfi - Brute Force & Ignorance
    binkvideo - Bink video
    bitpacked - Bitpacked
    bmp - BMP (Windows and OS/2 bitmap)
    bmv_video - Discworld II BMV video
    brender_pix - BRender PIX image
    c93 - Interplay C93
    cavs - Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)
    cdgraphics - CD Graphics video
    cdxl - Commodore CDXL video
    cfhd - Cineform HD
    cinepak - Cinepak
    clearvideo - Iterated Systems ClearVideo
    cljr - Cirrus Logic AccuPak
    cllc - Canopus Lossless Codec
    cpia - CPiA video format
    camstudio (cscd) - CamStudio
    cyuv - Creative YUV (CYUV)
    dds - DirectDraw Surface image decoder
    dfa - Chronomaster DFA
    dirac - BBC Dirac VC-2
    dnxhd - VC3/DNxHD
    dpx - DPX (Digital Picture Exchange) image
    dsicinvideo - Delphine Software International CIN video
    dvvideo - DV (Digital Video)
    dxa - Feeble Files/ScummVM DXA
    dxtory - Dxtory
    dxv - Resolume DXV
    eacmv (cmv) - Electronic Arts CMV video
    eamad (mad) - Electronic Arts Madcow Video
    eatgq (tgq) - Electronic Arts TGQ video
    eatgv (tgv) - Electronic Arts TGV video
    eatqi (tqi) - Electronic Arts TQI Video
    8bps - QuickTime 8BPS video
    escape124 - Escape 124
    escape130 - Escape 130
    exr - OpenEXR image
    ffv1 - FFmpeg video codec #1
    ffvhuff - Huffyuv FFmpeg variant
    fic - Mirillis FIC
    fits - Flexible Image Transport System
    flashsv - Flash Screen Video v1
    flashsv2 - Flash Screen Video v2
    flic - Autodesk Animator Flic video
    flv (flv1) - FLV / Sorenson Spark / Sorenson H.263 (Flash Video)
    fmvc - FM Screen Capture Codec
    4xm - 4X Movie
    fraps - Fraps
    frwu - Forward Uncompressed
    g2m - Go2Meeting
    gdv - Gremlin Digital Video
    gif - GIF (Graphics Interchange Format)
    h261 - H.261
    h263 - H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
    h263i - Intel H.263
    h263p - H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2
    h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    h264_qsv (h264) - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)
    hap - Vidvox Hap
    hevc - HEVC (High Efficiency Video Coding)
    hevc_qsv (hevc) - HEVC (Intel Quick Sync Video acceleration)
    hnm4video - HNM 4 video
    hq_hqa - Canopus HQ/HQA
    hqx - Canopus HQX
    huffyuv - Huffyuv / HuffYUV
    hymt - HuffYUV MT
    idcinvideo (idcin) - id Quake II CIN video
    iff (iff_ilbm) - IFF ACBM/ANIM/DEEP/ILBM/PBM/RGB8/RGBN
    imm4 - Infinity IMM4
    indeo2 - Intel Indeo 2
    indeo3 - Intel Indeo 3
    indeo4 - Intel Indeo Video Interactive 4
    indeo5 - Intel Indeo Video Interactive 5
    interplayvideo - Interplay MVE video
    jpeg2000 - JPEG 2000
    jpegls - JPEG-LS
    jv - Bitmap Brothers JV video
    kgv1 - Kega Game Video
    kmvc - Karl Morton's video codec
    lagarith - Lagarith lossless
    loco - LOCO
    lscr - LEAD Screen Capture
    m101 - Matrox Uncompressed SD
    magicyuv - MagicYUV video
    mdec - Sony PlayStation MDEC (Motion DECoder)
    mimic - Mimic
    mjpeg - MJPEG (Motion JPEG)
    mjpegb - Apple MJPEG-B
    mmvideo - American Laser Games MM Video
    motionpixels - Motion Pixels video
    mpeg1video - MPEG-1 video
    mpeg2video - MPEG-2 video
    mpeg4 - MPEG-4 part 2
    mpegvideo (mpeg2video) - MPEG-1 video
    mpeg2_qsv (mpeg2video) - MPEG-2 video (Intel Quick Sync Video acceleration)
    msa1 - MS ATC Screen
    mscc - Mandsoft Screen Capture Codec
    msmpeg4v1 - MPEG-4 part 2 Microsoft variant version 1
    msmpeg4v2 - MPEG-4 part 2 Microsoft variant version 2
    msmpeg4 (msmpeg4v3) - MPEG-4 part 2 Microsoft variant version 3
    msrle - Microsoft RLE
    mss1 - MS Screen 1
    mss2 - MS Windows Media Video V9 Screen
    msvideo1 - Microsoft Video 1
    mszh - LCL (LossLess Codec Library) MSZH
    mts2 - MS Expression Encoder Screen
    mvc1 - Silicon Graphics Motion Video Compressor 1
    mvc2 - Silicon Graphics Motion Video Compressor 2
    mwsc - MatchWare Screen Capture Codec
    mxpeg - Mobotix MxPEG video
    nuv - NuppelVideo/RTJPEG
    paf_video - Amazing Studio Packed Animation File Video
    pam - PAM (Portable AnyMap) image
    pbm - PBM (Portable BitMap) image
    pcx - PC Paintbrush PCX image
    pgm - PGM (Portable GrayMap) image
    pgmyuv - PGMYUV (Portable GrayMap YUV) image
    pictor - Pictor/PC Paint
    pixlet - Apple Pixlet
    png - PNG (Portable Network Graphics) image
    ppm - PPM (Portable PixelMap) image
    prores - ProRes (iCodec Pro)
    prosumer - Brooktree ProSumer Video
    psd - Photoshop PSD file
    ptx - V.Flash PTX image
    qdraw - Apple QuickDraw
    qpeg - Q-team QPEG
    qtrle - QuickTime Animation (RLE) video
    r10k - AJA Kona 10-bit RGB Codec
    r210 - Uncompressed RGB 10-bit
    rasc - RemotelyAnywhere Screen Capture
    rawvideo - raw video
    rl2 - RL2 video
    roqvideo (roq) - id RoQ video
    rpza - QuickTime video (RPZA)
    rscc - innoHeim/Rsupport Screen Capture Codec
    rv10 - RealVideo 1.0
    rv20 - RealVideo 2.0
    rv30 - RealVideo 3.0
    rv40 - RealVideo 4.0
    sanm - LucasArts SANM/Smush video
    scpr - ScreenPressor
    screenpresso - Screenpresso
    sgi - SGI image
    sgirle - Silicon Graphics RLE 8-bit video
    sheervideo - BitJazz SheerVideo
    smackvid (smackvideo) - Smacker video
    smc - QuickTime Graphics (SMC)
    smvjpeg - SMV JPEG
    snow - Snow
    sp5x - Sunplus JPEG (SP5X)
    speedhq - NewTek SpeedHQ
    srgc - Screen Recorder Gold Codec
    sunrast - Sun Rasterfile image
    svq1 - Sorenson Vector Quantizer 1 / Sorenson Video 1 / SVQ1
    svq3 - Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3
    targa - Truevision Targa image
    targa_y216 - Pinnacle TARGA CineWave YUV16
    tdsc - TDSC
    theora - Theora
    thp - Nintendo Gamecube THP video
    tiertexseqvideo - Tiertex Limited SEQ video
    tiff - TIFF image
    tmv - 8088flex TMV
    truemotion1 - Duck TrueMotion 1.0
    truemotion2 - Duck TrueMotion 2.0
    truemotion2rt - Duck TrueMotion 2.0 Real Time
    camtasia (tscc) - TechSmith Screen Capture Codec
    tscc2 - TechSmith Screen Codec 2
    txd - Renderware TXD (TeXture Dictionary) image
    ultimotion (ulti) - IBM UltiMotion
    utvideo - Ut Video
    v210 - Uncompressed 4:2:2 10-bit
    v210x - Uncompressed 4:2:2 10-bit
    v308 - Uncompressed packed 4:4:4
    v408 - Uncompressed packed QT 4:4:4:4
    v410 - Uncompressed 4:4:4 10-bit
    vb - Beam Software VB
    vble - VBLE Lossless Codec
    vc1 - SMPTE VC-1
    vc1image - Windows Media Video 9 Image v2
    vc1_qsv (vc1) - VC-1 video (Intel Quick Sync Video acceleration)
    vcr1 - ATI VCR1
    vmdvideo - Sierra VMD video
    vmnc - VMware Screen Codec / VMware Video
    vp3 - On2 VP3
    vp4 - On2 VP4
    vp5 - On2 VP5
    vp6 - On2 VP6
    vp6a - On2 VP6 (Flash version, with alpha channel)
    vp6f - On2 VP6 (Flash version)
    vp7 - On2 VP7
    vp8 - On2 VP8
    vp9 - Google VP9
    vqavideo (ws_vqa) - Westwood Studios VQA (Vector Quantized Animation) video
    webp - WebP image
    wcmv - WinCAM Motion Video
    wrapped_avframe - AVPacket to AVFrame passthrough
    wmv1 - Windows Media Video 7
    wmv2 - Windows Media Video 8
    wmv3 - Windows Media Video 9
    wmv3image - Windows Media Video 9 Image
    wnv1 - Winnov WNV1
    xan_wc3 - Wing Commander III / Xan
    xan_wc4 - Wing Commander IV / Xxan
    xbm - XBM (X BitMap) image
    xface - X-face image
    xl (vixl) - Miro VideoXL
    xpm - XPM (X PixMap) image
    xwd - XWD (X Window Dump) image
    y41p - Uncompressed YUV 4:1:1 12-bit
    ylc - YUY2 Lossless Codec
    yop - Psygnosis YOP Video
    yuv4 - Uncompressed packed 4:2:0
    012v - Uncompressed 4:2:2 10-bit
    zerocodec - ZeroCodec Lossless Video
    zlib - LCL (LossLess Codec Library) ZLIB
    zmbv - Zip Motion Blocks Video
    libdav1d (av1) - dav1d AV1 decoder by VideoLAN
    libvpx (vp8) - libvpx VP8
    libvpx-vp9 (vp9) - libvpx VP9
    bintext - Binary text
    xbin - eXtended BINary text
    idf - iCEDraw text
    h264_cuvid (h264) - Nvidia CUVID H264 decoder
    hevc_cuvid (hevc) - Nvidia CUVID HEVC decoder
    mjpeg_cuvid (mjpeg) - Nvidia CUVID MJPEG decoder
    mpeg1_cuvid (mpeg1video) - Nvidia CUVID MPEG1VIDEO decoder
    mpeg2_cuvid (mpeg2video) - Nvidia CUVID MPEG2VIDEO decoder
    mpeg4_cuvid (mpeg4) - Nvidia CUVID MPEG4 decoder
    vc1_cuvid (vc1) - Nvidia CUVID VC1 decoder
    vp8_cuvid (vp8) - Nvidia CUVID VP8 decoder
    vp8_qsv (vp8) - VP8 video (Intel Quick Sync Video acceleration)
    vp9_cuvid (vp9) - Nvidia CUVID VP9 decoder

What 10-bit video do you mean? Show mediainfo or give a link to it please.

5 (edited by orificeofthenine 09-03-2020 05:07:57)

Re: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

Thank you for your reply

I'm familiar but certainly not an expert with this sort of thing, so if you could tell me what to do for mpv, that would be great.
I think your Wiki said to use NVIDIA CUVID? How can I do that, exactly?

As for 10-bit video, it's basically every one on YouTube. Any 4K/8K video that has HDR 10-bit will get locked to 10 FPS when I try to pass it through SVP to mpv.
However, if I play the video at 4K (without 10-bit) OR 1440p (with 10-bit), it will work fine.

Re: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

10-bit 4K in mpv requires rather high-end CPU...

1. you can turn off 10-bit processing in SVP itself - it will convert in to 8-bit internally (App. settings -> Add. options -> Allow output in 10-bit color depth)
2. HDR videos on YoutTube are encoded with VP9 codec. Not all video cards supports 10-bit VP9 in hardware. For example, 1050/1060/1070 don't.
3. 8K is definitely too much for now...

> I think your Wiki said to use NVIDIA CUVID? How can I do that, exactly?

put "hwdec=nvdec-copy" into mpv.conf

7 (edited by orificeofthenine 09-03-2020 10:46:20)

Re: SVP works excellent, but lags badly on 8K or 4K 10-bit videos

@Chainik

Yeah, that's the thing; I want to try to process 4K/8K 10-bit video because I'm fairly sure my CPU and GPU can handle it, but something may be prohibiting it from doing so.

So far, 4K30 HDR, 4K60 SDR, and 8K30 SDR work perfectly fine (as well as all other lower options) rendering to both 4K60 and 1440p120 without any frame drops.
(In the case of a 60 FPS source, I forced the video to render via the setting that @MAG79 mentioned.)

If I try to process any higher quality video, it seems like the system doesn't even want to try.
The video caps off at a constant frame rate of 10 FPS; not a variable one of whatever it manages to render. That is what I find to be strange.
Even if it can't render the video properly, it should still be getting at least like, 30 FPS on 4K HDR (perhaps with frame drops), based on what I can already manage.

Is there any sort of setting in SVP or mpv that might be causing the video to cap off at 10 FPS?

Also, I tried pasting your setting into mpv.conf. It didn't seem to do anything. I also tried the vd setting that @MAG79 mentioned with NVIDIA CUVID VP9. Same deal.