Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump version to 6.0-3 #245

Merged
merged 5 commits into from
Jun 4, 2023
Merged

Bump version to 6.0-3 #245

merged 5 commits into from
Jun 4, 2023

Conversation

nyanmisaka
Copy link
Member

@nyanmisaka nyanmisaka commented May 23, 2023

Changes

  • Add AV1 VA-API encoder from upstream intel
  • Backport upstream qsvenc fixes
  • Update dependencies and build scripts
  • Bump version to 6.0-3

Issues

  • Fix the slow VPP tone-mapping on DG2

@almightiest
Copy link

almightiest commented May 23, 2023

@nyanmisaka I built media-driver 23.2.2 (which contains the fix from intel/media-driver#1628), installed it in the OS, then replaced /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so with the newly built version (build_media/media_driver/iHD_drv_video.so), restarted the service, played a cropped 4k HDR (height divisible by 2) needing tone mapping, and I am still running into this issue.

I am transcoding on an i7-13700k cpu/igpu.

I am on jellyfin-ffmpeg-5.1.3-1-jammy. Happy to try jellyfin-ffmpeg-6.0-3 once available if there were other changes to get this working properly.

The input resolution of the file I'm having trouble with is 3840x1604 and the output resolution is 1920x802.

sudo -u jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -canvas_size 1920x802 -i file:"/path/to/video.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 h264_qsv -low_power 1 -preset veryfast -look_ahead 0 -b:v 5616000 -maxrate 5616000 -bufsize 11232000 -g:v:0 72 -keyint_min:v:0 72 -filter_complex "[0:3]scale=flags=fast_bilinear,format=bgra,hwupload=derive_device=qsv:extra_hw_frames=64[sub];[0:0]setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709:extra_hw_frames=32,hwmap=derive_device=qsv,format=qsv[main];[main][sub]overlay_qsv=eof_action=endall:shortest=1:repeatlast=0:w=1920:h=802" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/mnt/ramdisk/jellyfin/transcodes/25ecaf0b52d0e4389921627d2959e5c2%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/mnt/ramdisk/jellyfin/transcodes/25ecaf0b52d0e4389921627d2959e5c2.m3u8"

I'm sure it's me, just wondering if I missed a way to deploy this change.

@nyanmisaka
Copy link
Member Author

@almightiest Can you share the full ffmpeg log and the output of the /usr/lib/jellyfin-ffmpeg/vainfo?
Also what's the kernel version and is there any fail or error in sudo dmesg | grep i915?

@almightiest
Copy link

almightiest commented May 23, 2023

@almightiest Can you share the full ffmpeg log and the output of the /usr/lib/jellyfin-ffmpeg/vainfo? Also what's the kernel version and is there any fail or error in sudo dmesg | grep i915?

kernel/os info:

Ubuntu 22.04.2 with HWE kernel 5.19.0-42 - guc_enabled=2 kernel command line option set for low power

vainfo:

/usr/lib/jellyfin-ffmpeg/vainfo
Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.2.2 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain               : VAEntrypointEncSliceLP
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointEncSliceLP
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSliceLP
      VAProfileVP9Profile1            : VAEntrypointVLD
      VAProfileVP9Profile1            : VAEntrypointEncSliceLP
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointEncSliceLP
      VAProfileVP9Profile3            : VAEntrypointVLD
      VAProfileVP9Profile3            : VAEntrypointEncSliceLP
      VAProfileHEVCMain12             : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointEncSlice
      VAProfileHEVCMain422_10         : VAEntrypointVLD
      VAProfileHEVCMain422_10         : VAEntrypointEncSlice
      VAProfileHEVCMain422_12         : VAEntrypointVLD
      VAProfileHEVCMain422_12         : VAEntrypointEncSlice
      VAProfileHEVCMain444            : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         : VAEntrypointVLD
      VAProfileHEVCMain444_10         : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          : VAEntrypointVLD
      VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         : VAEntrypointVLD
      VAProfileHEVCSccMain444         : VAEntrypointEncSliceLP
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

dmesg output (looks bad):

sudo dmesg | grep i915
[sudo] password for bleh:
[    2.515688] i915: no symbol version for intel_vsec_register
[    2.698678] i915 0000:00:02.0: [drm] GT count: 1, enabled: 1
[    2.699222] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    2.699348] i915 0000:00:02.0: Port A asks to use VBT vswing/preemph tables
[    2.699357] WARNING: CPU: 0 PID: 322 at /var/lib/dkms/intel-i915-dkms/1.23.3.19.230122.18.5.17.0.1020/build/drivers/gpu/drm/i915/display/intel_bios.c:2661 intel_bios_init+0x1ab6/0x2b50 [i915]
[    2.699436] Modules linked in: i915(OE+) intel_vsec(OE) compat(OE) ast(+) drm_display_helper i2c_algo_bit drm_vram_helper cec drm_ttm_helper ttm rc_core drm_kms_helper crct10dif_pclmul syscopyarea crc32_pclmul sysfillrect ghash_clmulni_intel aesni_intel sysimgblt raid1 crypto_simd fb_sys_fops cryptd spi_intel_pci mpt3sas e1000e i40e(+) igc nvme intel_lpss_pci i2c_i801 ahci spi_intel xhci_pci raid_class intel_lpss i2c_smbus drm nvme_core libahci idma64 xhci_pci_renesas scsi_transport_sas wmi video pinctrl_alderlake
[    2.699460] RIP: 0010:intel_bios_init+0x1ab6/0x2b50 [i915]
[    2.699554]  intel_modeset_init_noirq+0x3a/0x270 [i915]
[    2.699630]  i915_driver_probe+0x969/0x1ae0 [i915]
[    2.699693]  i915_pci_probe+0xc3/0x4a0 [i915]
[    2.699786]  i915_pci_register_driver+0x23/0x30 [i915]
[    2.699841]  __init_backport+0x4c/0x103 [i915]
[    2.700429] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    2.700921] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
[    2.704972] i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.6.4.bin version 70.6.4
[    2.704974] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.9.3.bin version 7.9.3
[    2.719629] i915 0000:00:02.0: [drm] HuC authenticated
[    2.719633] i915 0000:00:02.0: [drm] GuC submission disabled
[    2.719636] i915 0000:00:02.0: [drm] GuC SLPC disabled
[    2.722123] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    2.722747] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[    2.780112] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    2.844668] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[   16.962506] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[   16.967171] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[   16.969761] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[65426.599038] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65426.599107] i915 0000:00:02.0: [drm] ffmpeg[1963716] context reset due to GPU hang
[65426.751730] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1963716]
[65433.158859] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65433.158928] i915 0000:00:02.0: [drm] ffmpeg[1963716] context reset due to GPU hang
[65433.311510] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1963716]
[65439.302766] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65439.302834] i915 0000:00:02.0: [drm] ffmpeg[1963716] context reset due to GPU hang
[65439.460244] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1963716]
[65440.582755] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65440.582824] i915 0000:00:02.0: [drm] ffmpeg[1967453] context reset due to GPU hang
[65440.737366] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1967453]
[65446.214658] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65446.214727] i915 0000:00:02.0: [drm] ffmpeg[1967453] context reset due to GPU hang
[65446.367542] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1967453]
[65452.358571] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65452.358640] i915 0000:00:02.0: [drm] ffmpeg[1967453] context reset due to GPU hang
[65452.509765] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1967453]
[65453.510676] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65453.510745] i915 0000:00:02.0: [drm] ffmpeg[1971535] context reset due to GPU hang
[65453.663892] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1971535]
[65459.270456] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65459.270525] i915 0000:00:02.0: [drm] ffmpeg[1971535] context reset due to GPU hang
[65459.422280] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1971535]
[65465.414372] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65465.414441] i915 0000:00:02.0: [drm] ffmpeg[1971535] context reset due to GPU hang
[65465.566963] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [1971535]
[66209.090464] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66209.090535] i915 0000:00:02.0: [drm] ffmpeg[2092258] context reset due to GPU hang
[66209.402851] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2092258]
[66212.162419] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66212.162488] i915 0000:00:02.0: [drm] ffmpeg[2092258] context reset due to GPU hang
[66212.480107] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2092258]
[66215.234401] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66215.234473] i915 0000:00:02.0: [drm] ffmpeg[2092258] context reset due to GPU hang
[66215.566504] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2092258]
[66308.161472] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66308.161540] i915 0000:00:02.0: [drm] ffmpeg[2095531] context reset due to GPU hang
[66308.471978] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2095531]
[66313.697419] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66313.697487] i915 0000:00:02.0: [drm] ffmpeg[2095531] context reset due to GPU hang
[66314.016163] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2095531]
[66318.817385] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66318.817453] i915 0000:00:02.0: [drm] ffmpeg[2095531] context reset due to GPU hang
[66319.148771] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2095531]
[66399.296672] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66399.296741] i915 0000:00:02.0: [drm] ffmpeg[2100568] context reset due to GPU hang
[66399.608491] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2100568]
[66400.928650] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66400.928718] i915 0000:00:02.0: [drm] ffmpeg[2100568] context reset due to GPU hang
[66401.247261] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2100568]
[66405.184531] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[66405.184600] i915 0000:00:02.0: [drm] ffmpeg[2100568] context reset due to GPU hang
[66405.516383] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2100568]
[74749.141156] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74749.141224] i915 0000:00:02.0: [drm] ffmpeg[2444610] context reset due to GPU hang
[74749.480677] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2444610]
[74751.957122] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74751.957190] i915 0000:00:02.0: [drm] ffmpeg[2444610] context reset due to GPU hang
[74752.301215] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2444610]
[74755.029167] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74755.029236] i915 0000:00:02.0: [drm] ffmpeg[2444610] context reset due to GPU hang
[74755.386961] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2444610]
[74763.220982] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74763.221051] i915 0000:00:02.0: [drm] ffmpeg[2445206] context reset due to GPU hang
[74763.560214] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2445206]
[74764.532391] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74769.108904] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74769.108973] i915 0000:00:02.0: [drm] ffmpeg[2445797] context reset due to GPU hang
[74769.448916] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2445797]
[74774.580288] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74774.811432] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2445797]
[74774.812477] i915 0000:00:02.0: [drm] Resetting vecs0 for stopped heartbeat on vecs0
[74774.812543] i915 0000:00:02.0: [drm] ffmpeg[2446389] context reset due to GPU hang
[74782.164739] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74782.164808] i915 0000:00:02.0: [drm] ffmpeg[2446389] context reset due to GPU hang
[74782.508100] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2446389]
[74788.052664] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[74788.052732] i915 0000:00:02.0: [drm] ffmpeg[2446389] context reset due to GPU hang
[74788.410355] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2446389]
[75291.086299] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75291.086371] i915 0000:00:02.0: [drm] ffmpeg[2487049] context reset due to GPU hang
[75291.290596] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2487049]
[75294.158259] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75294.158330] i915 0000:00:02.0: [drm] ffmpeg[2487049] context reset due to GPU hang
[75294.336982] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2487049]
[75296.974242] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75296.974313] i915 0000:00:02.0: [drm] ffmpeg[2487049] context reset due to GPU hang
[75297.152972] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2487049]
[75301.070116] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75301.070185] i915 0000:00:02.0: [drm] ffmpeg[2487596] context reset due to GPU hang
[75301.248669] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2487596]
[75304.142132] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75304.142204] i915 0000:00:02.0: [drm] ffmpeg[2487596] context reset due to GPU hang
[75304.322031] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2487596]
[75307.214089] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75307.214157] i915 0000:00:02.0: [drm] ffmpeg[2487596] context reset due to GPU hang
[75307.392803] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2487596]
[75312.078066] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75312.078134] i915 0000:00:02.0: [drm] ffmpeg[2488051] context reset due to GPU hang
[75312.257146] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2488051]
[75315.150031] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75315.150104] i915 0000:00:02.0: [drm] ffmpeg[2488051] context reset due to GPU hang
[75315.328979] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2488051]
[75321.037858] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75321.037926] i915 0000:00:02.0: [drm] ffmpeg[2488051] context reset due to GPU hang
[75321.218255] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2488051]
[75360.973394] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75360.973465] i915 0000:00:02.0: [drm] ffmpeg[2489933] context reset due to GPU hang
[75361.152478] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2489933]
[75364.045378] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75364.045448] i915 0000:00:02.0: [drm] ffmpeg[2489933] context reset due to GPU hang
[75364.224705] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2489933]
[75367.117329] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75367.117401] i915 0000:00:02.0: [drm] ffmpeg[2489933] context reset due to GPU hang
[75367.297052] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2489933]
[75400.140899] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75400.140967] i915 0000:00:02.0: [drm] ffmpeg[2491263] context reset due to GPU hang
[75400.319506] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2491263]
[75403.212871] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75403.212942] i915 0000:00:02.0: [drm] ffmpeg[2491263] context reset due to GPU hang
[75403.392534] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2491263]
[75409.100706] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75409.100774] i915 0000:00:02.0: [drm] ffmpeg[2491263] context reset due to GPU hang
[75409.279555] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2491263]
[75469.004018] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75469.004086] i915 0000:00:02.0: [drm] ffmpeg[2493549] context reset due to GPU hang
[75469.156566] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2493549]
[75472.075898] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75472.075966] i915 0000:00:02.0: [drm] ffmpeg[2493549] context reset due to GPU hang
[75472.227371] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2493549]
[75476.171843] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75476.171912] i915 0000:00:02.0: [drm] ffmpeg[2493549] context reset due to GPU hang
[75476.324278] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2493549]
[75525.067288] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75525.067359] i915 0000:00:02.0: [drm] ffmpeg[2495446] context reset due to GPU hang
[75525.218989] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2495446]
[75528.139248] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75528.139320] i915 0000:00:02.0: [drm] ffmpeg[2495446] context reset due to GPU hang
[75528.290658] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2495446]
[75531.211212] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[75531.211284] i915 0000:00:02.0: [drm] ffmpeg[2495446] context reset due to GPU hang
[75531.363587] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2495446]
[77789.099604] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[77789.099675] i915 0000:00:02.0: [drm] ffmpeg[2634746] context reset due to GPU hang
[77789.250660] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2634746]
[77791.915557] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[77791.915625] i915 0000:00:02.0: [drm] ffmpeg[2634746] context reset due to GPU hang
[77792.067319] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2634746]
[77798.059399] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[77798.059468] i915 0000:00:02.0: [drm] ffmpeg[2634746] context reset due to GPU hang
[77798.211689] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [2634746]

I looked at logs and when I run this with media-driver 23.2.2 vs the included one in jellyfin-ffmpeg, I am actually getting an ffmpeg error:

sudo -u jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -canvas_size 1920x802 -i file:"/path/to/video.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 h264_qsv -low_power 1 -preset veryfast -look_ahead 0 -b:v 5616000 -maxrate 5616000 -bufsize 11232000 -g:v:0 72 -keyint_min:v:0 72 -filter_complex "[0:3]scale=flags=fast_bilinear,format=bgra,hwupload=derive_device=qsv:extra_hw_frames=64[sub];[0:0]setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709:extra_hw_frames=32,hwmap=derive_device=qsv,format=qsv[main];[main][sub]overlay_qsv=eof_action=endall:shortest=1:repeatlast=0:w=1920:h=802" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/mnt/ramdisk/jellyfin/transcodes/25ecaf0b52d0e4389921627d2959e5c2%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/mnt/ramdisk/jellyfin/transcodes/25ecaf0b52d0e4389921627d2959e5c2.m3u8"
ffmpeg version 5.1.3-Jellyfin Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.3.0-1ubuntu1~22.04)
  configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
  libavutil      57. 28.100 / 57. 28.100
  libavcodec     59. 37.100 / 59. 37.100
  libavformat    59. 27.100 / 59. 27.100
  libavdevice    59.  7.100 / 59.  7.100
  libavfilter     8. 44.100 /  8. 44.100
  libswscale      6.  7.100 /  6.  7.100
  libswresample   4.  7.100 /  4.  7.100
  libpostproc    56.  6.100 / 56.  6.100
[matroska,webm @ 0x55c934a13b80] Could not find codec parameters for stream 4 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (200000000) and 'probesize' (5000000) options
[matroska,webm @ 0x55c934a13b80] Could not find codec parameters for stream 6 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (200000000) and 'probesize' (5000000) options
[matroska,webm @ 0x55c934a13b80] Could not find codec parameters for stream 7 (Subtitle: hdmv_pgs_subtitle (pgssub)): unspecified size
Consider increasing the value for the 'analyzeduration' (200000000) and 'probesize' (5000000) options
Input #0, matroska,webm, from 'file://path/to/video.mkv':
  Metadata:
    title           : Movie
    encoder         : libebml v1.4.4 + libmatroska v1.7.1
    creation_time   : 2023-05-16T20:30:07.000000Z
  Duration: 01:56:16.41, start: 0.000000, bitrate: 42458 kb/s
  Chapters:
    Chapter #0:0: start 0.000000, end 430.972000
      Metadata:
        title           : Chapter 01
    Chapter #0:1: start 430.972000, end 999.498000
      Metadata:
        title           : Chapter 02
    Chapter #0:2: start 999.498000, end 1519.309000
      Metadata:
        title           : Chapter 03
    Chapter #0:3: start 1519.309000, end 1962.126000
      Metadata:
        title           : Chapter 04
    Chapter #0:4: start 1962.126000, end 2414.370000
      Metadata:
        title           : Chapter 05
    Chapter #0:5: start 2414.370000, end 2939.144000
      Metadata:
        title           : Chapter 06
    Chapter #0:6: start 2939.144000, end 3522.393000
      Metadata:
        title           : Chapter 07
    Chapter #0:7: start 3522.393000, end 4077.323000
      Metadata:
        title           : Chapter 08
    Chapter #0:8: start 4077.323000, end 4515.928000
      Metadata:
        title           : Chapter 09
    Chapter #0:9: start 4515.928000, end 4892.804000
      Metadata:
        title           : Chapter 10
    Chapter #0:10: start 4892.804000, end 5490.943000
      Metadata:
        title           : Chapter 11
    Chapter #0:11: start 5490.943000, end 6007.292000
      Metadata:
        title           : Chapter 12
    Chapter #0:12: start 6007.292000, end 6564.516000
      Metadata:
        title           : Chapter 13
    Chapter #0:13: start 6564.516000, end 6976.386000
      Metadata:
        title           : Chapter 14
    Chapter #0:14: start 6976.386000, end 6977.408000
      Metadata:
        title           : Chapter 15
  Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x1604, SAR 1:1 DAR 960:401, 23.98 fps, 23.98 tbr, 1k tbn (default)
    Metadata:
      BPS             : 38706554
      DURATION        : 01:56:17.387000000
      NUMBER_OF_FRAMES: 167290
      NUMBER_OF_BYTES : 33758826212
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-16 20:30:07
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
    Side data:
      DOVI configuration record: version: 1.0, profile: 8, level: 6, rpu flag: 1, el flag: 0, bl flag: 1, compatibility id: 1
  Stream #0:1(eng): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit) (default)
    Metadata:
      BPS             : 3160936
      DURATION        : 01:56:16.387000000
      NUMBER_OF_FRAMES: 8372864
      NUMBER_OF_BYTES : 2756884292
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-16 20:30:07
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s
    Metadata:
      BPS             : 448000
      DURATION        : 01:56:16.408000000
      NUMBER_OF_FRAMES: 218044
      NUMBER_OF_BYTES : 390734848
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-16 20:30:07
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:3(eng): Subtitle: hdmv_pgs_subtitle, 1920x802
    Metadata:
      title           : English (SDH)
      BPS             : 41735
      DURATION        : 01:50:48.160000000
      NUMBER_OF_FRAMES: 3648
      NUMBER_OF_BYTES : 34996346
      _STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2023-05-17 21:40:07
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
  Stream #0:0 (hevc) -> setparams:default (graph 0)
  Stream #0:3 (pgssub) -> scale:default (graph 0)
  overlay_qsv:default (graph 0) -> Stream #0:0 (h264_qsv)
  Stream #0:1 -> #0:1 (truehd (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[matroska,webm @ 0x55c934a13b80] sub2video: using 3840x1604 canvas
Output #0, hls, to '/mnt/ramdisk/jellyfin/transcodes/25ecaf0b52d0e4389921627d2959e5c2.m3u8':
  Metadata:
    encoder         : Lavf59.27.100
  Stream #0:0: Video: h264, qsv(tv, bt709, progressive), 1920x802 [SAR 1:1 DAR 960:401], q=2-31, 5616 kb/s, 23.98 fps, 90k tbn
    Metadata:
      encoder         : Lavc59.37.100 h264_qsv
    Side data:
      cpb: bitrate max/min/avg: 5616000/0/5616000 buffer size: 11232000 vbv_delay: N/A
  Stream #0:1: Audio: aac, 48000 Hz, stereo, s16, 384 kb/s (default)
    Metadata:
      encoder         : Lavc59.37.100 libfdk_aac
[Parsed_tonemap_vaapi_6 @ 0x55c935354980] Failed to start picture processing: 1 (operation failed).
Error while filtering: Input/output error
Failed to inject frame into filter network: Input/output error
Error while processing the decoded data for stream #0:0
[libfdk_aac @ 0x55c9352db480] 2 frames left in the queue on closing
Conversion failed!

@nyanmisaka
Copy link
Member Author

[65426.599038] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65426.599107] i915 0000:00:02.0: [drm] ffmpeg[1963716] context reset due to GPU hang

It seems you are having a different issue - GPU hang, instead of the very slow FPS in VPP tonemap. Can you update the kernel to the latest 6.2 and try again?

@almightiest
Copy link

[65426.599038] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[65426.599107] i915 0000:00:02.0: [drm] ffmpeg[1963716] context reset due to GPU hang

It seems you are having a different issue - GPU hang, instead of the very slow FPS in VPP tonemap. Can you update the kernel to the latest 6.2 and try again?

I am getting the GPU hang with both the 22.1.6 media-driver and the newly built 23.2.2 - but I did just upgrade from kernel 5.19.0-38 to 5.19.0-42 which may have introduced this GPU hang issue. Although, no issues with Plex transcoding the same file.

media-driver 22.1.6 at least transcodes (albeit very slow), but 23.2.2 just outright fails.

It is gonna be pretty challenging upgrading ubuntu 22.04.2 with ZFS on root to 6.2, especially given 6.2 is EOL (no more security updates) and 6.3 introduced some zfs compat issues that aren't in an official ZFS release yet...

@nyanmisaka
Copy link
Member Author

plex doesn’t support VPP tonemap so no surprises it will not hang. In Jellyfin you can also use OpenCL tonemap instead. I’m sure the GPU hang issue is caused by i915 kernel driver. 13th Gen is too new for the 5.19 kernel.

@almightiest
Copy link

plex doesn’t support VPP tonemap so no surprises it will not hang. In Jellyfin you can also use OpenCL tonemap instead. I’m sure the GPU hang issue is caused by i915 kernel driver. 13th Gen is too new for the 5.19 kernel.

Makes sense. I'll disable VPP until I can get onto 6.3 or 6.4 kernel and try again!

@nyanmisaka nyanmisaka force-pushed the next branch 3 times, most recently from 4e8d7cc to fdb6368 Compare May 24, 2023 15:28
@almightiest
Copy link

plex doesn’t support VPP tonemap so no surprises it will not hang. In Jellyfin you can also use OpenCL tonemap instead. I’m sure the GPU hang issue is caused by i915 kernel driver. 13th Gen is too new for the 5.19 kernel.

Upgraded to Ubuntu 23.04 with kernel 6.2 and built the new media driver... same exact issue with the GPU hang and ffmpeg fails. Upgraded to jellyfin-ffmpeg6-6.0-2 and have the same issue.

root@lunar:/usr/lib/jellyfin-ffmpeg/lib/dri# uname -a
Linux media 6.2.0-20-generic #20-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr 6 07:48:48 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

root@lunar:/usr/lib/jellyfin-ffmpeg/lib/dri# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 23.04
Release: 23.04
Codename: lunar

root@lunar:/usr/lib/jellyfin-ffmpeg/lib/dri# sudo -u jellyfin /usr/lib/jellyfin-ffmpeg/vainfo
Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.2.2 ()

@nyanmisaka
Copy link
Member Author

@almightiest Can you test these commands and let me know if they works?

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -codec:v:0 h264_qsv -low_power 1 -preset veryfast -b:v 8M -maxrate 8M -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -

@almightiest
Copy link

Can you test these commands and let me know if they works?

iHD 23.1.6 (default jellyfin-ffmpeg)

  1. GPU hang
  2. slow fps
  3. slow fps
  4. slow fps

The GPU hang is:

[h264_qsv @ 0x555e801579c0] Unknown FrameType, set pict_type to AV_PICTURE_TYPE_NONE.
[h264_qsv @ 0x555e801579c0] Error during encoding: GPU Hang (-21)
[vost#0:0/h264_qsv @ 0x555e809aeb00] Error submitting video frame to the encoder

iHD 23.2.2 (custom built)

  1. slow fps, then throws an input/output error
  2. input/output error
  3. input/output error
  4. input/output error

The input/output error is:

[Parsed_tonemap_vaapi_1 @ 0x563aea4ff700] Failed to start picture processing: 1 (operation failed).
Error while filtering: Input/output error
Failed to inject frame into filter network: Input/output error
Error while processing the decoded data for stream #0:0

@nyanmisaka
Copy link
Member Author

nyanmisaka commented May 24, 2023

@almightiest How slow is the fps?

If you disable VPP tonemap, does everything work with transcoding? (Includes subtitle burn-in and OpenCL tonemap)

@almightiest
Copy link

almightiest commented May 24, 2023

@almightiest How slow is the fps?

If you disable VPP tonemap, does everything work with transcoding? (Includes subtitle burn-in and OpenCL tonemap)

media-driver 23.1.6:

  • VPP tonemap: <1fps
  • OpenCL: transcoding is all good

media-driver 23.2.2 and master:

  • VPP tonemap: input/output error with GPU hangs
    -- (tried disabling low power mode as well but still got GPU hangs) - maybe it's the way i'm building the iHD.so?
  • OpenCL: transcoding is all good

command run for VPP tonemap:
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -canvas_size 1920x802 -i file:"/path/to/file.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 h264_qsv -low_power 1 -preset veryfast -look_ahead 0 -b:v 5616000 -maxrate 5616000 -bufsize 11232000 -g:v:0 72 -keyint_min:v:0 72 -filter_complex "[0:3]scale=flags=fast_bilinear,format=bgra,hwupload=derive_device=qsv:extra_hw_frames=64[sub];[0:0]setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709:extra_hw_frames=32,hwmap=derive_device=qsv,format=qsv[main];[main][sub]overlay_qsv=eof_action=endall:shortest=1:repeatlast=0:w=1920:h=802" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/mnt/ramdisk/jellyfin/transcodes/95b40f4ff138c8ccccb2a0e48327b26f%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/mnt/ramdisk/jellyfin/transcodes/95b40f4ff138c8ccccb2a0e48327b26f.m3u8"

vainfo:

root@lunar:/usr/lib/jellyfin-ffmpeg/lib/dri# ../../vainfo
Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.2.3 (1b3828226)

i915 module params:

root@lunar:/usr/lib/jellyfin-ffmpeg/lib/dri# cat /sys/module/i915/parameters/enable_psr
-1
root@lunar:/usr/lib/jellyfin-ffmpeg/lib/dri# cat /sys/module/i915/parameters/enable_guc
2

@nyanmisaka
Copy link
Member Author

@almightiest Can you retry with the GuC submission enabled? i915.enable_guc=3

And please share the output of sudo dmesg | grep i915 with kernel 6.2.

@almightiest
Copy link

almightiest commented May 25, 2023

@almightiest Can you retry with the GuC submission enabled? i915.enable_guc=3

And please share the output of sudo dmesg | grep i915 with kernel 6.2.

Will need to reboot to try a in a bit. For now, here's the dmesg for i915/drm:

$ sudo dmesg | grep -iE '(i915|drm)'
[ 1.793142] ACPI: bus type drm_connector registered
[ 4.303292] ast 0000:0b:00.0: [drm] P2A bridge disabled, using default configuration
[ 4.303297] ast 0000:0b:00.0: [drm] AST 2600 detected
[ 4.411937] ast 0000:0b:00.0: [drm] Using analog VGA
[ 4.411954] ast 0000:0b:00.0: [drm] dram MCLK=396 Mhz type=1 bus_width=16
[ 4.412412] [drm] Initialized ast 0.1.0 20120228 for 0000:0b:00.0 on minor 0
[ 4.533600] fbcon: astdrmfb (fb0) is primary device
[ 4.549144] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[ 4.549503] i915 0000:00:02.0: Port A asks to use VBT vswing/preemph tables
[ 4.549525] WARNING: CPU: 8 PID: 314 at drivers/gpu/drm/i915/display/intel_bios.c:2700 print_ddi_port+0x262/0x290 [i915]
[ 4.549675] Modules linked in: i915(+) drm_buddy ttm raid1 drm_display_helper ast(+) crct10dif_pclmul cec crc32_pclmul i2c_algo_bit polyval_clmulni rc_core rndis_host drm_shmem_helper polyval_generic cdc_ether ses ghash_clmulni_intel drm_kms_helper sha512_ssse3 syscopyarea enclosure usbnet uas hid_generic nvme aesni_intel sysfillrect usbhid mii hid usb_storage sysimgblt spi_intel_pci crypto_simd i40e e1000e mpt3sas igc cryptd drm nvme_core ahci i2c_i801 intel_lpss_pci raid_class xhci_pci spi_intel i2c_smbus intel_lpss libahci scsi_transport_sas xhci_pci_renesas nvme_common idma64 video wmi pinctrl_alderlake
[ 4.549713] RIP: 0010:print_ddi_port+0x262/0x290 [i915]
[ 4.549824] parse_ddi_ports+0x11d/0x820 [i915]
[ 4.549914] ? parse_sdvo_device_mapping+0x2be/0x340 [i915]
[ 4.550023] intel_bios_init+0x257/0x3b0 [i915]
[ 4.550110] ? drm_vblank_init+0x6d/0x130 [drm]
[ 4.550147] intel_modeset_init_noirq+0x3b/0x260 [i915]
[ 4.550244] i915_driver_probe+0x105/0x420 [i915]
[ 4.550310] ? drm_privacy_screen_get+0x16d/0x190 [drm]
[ 4.550335] i915_pci_probe+0xac/0x1b0 [i915]
[ 4.550428] i915_pci_register_driver+0x23/0x30 [i915]
[ 4.550492] i915_init+0x34/0x120 [i915]
[ 4.550556] ? __pfx_init_module+0x10/0x10 [i915]
[ 4.551758] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[ 4.561146] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
[ 4.561972] i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.bin version 70.5.1
[ 4.561974] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3
[ 4.577807] i915 0000:00:02.0: [drm] HuC authenticated
[ 4.577811] i915 0000:00:02.0: [drm] GuC submission disabled
[ 4.577814] i915 0000:00:02.0: [drm] GuC SLPC disabled
[ 4.580817] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[ 4.587395] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[ 4.588212] ast 0000:0b:00.0: [drm] fb0: astdrmfb frame buffer device
[ 4.611566] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[ 4.612438] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[ 46.067795] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
[ 46.094800] systemd[1]: modprobe@drm.service: Deactivated successfully.
[ 46.095502] systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm.
[ 46.467505] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[ 46.513093] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[ 46.538663] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[10519.893169] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10519.893251] i915 0000:00:02.0: [drm] ffmpeg[503820] context reset due to GPU hang
[10520.078759] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [503820]
[10522.965167] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10522.965240] i915 0000:00:02.0: [drm] ffmpeg[503820] context reset due to GPU hang
[10523.155231] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [503820]
[10526.037132] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10526.037205] i915 0000:00:02.0: [drm] ffmpeg[503820] context reset due to GPU hang
[10526.231409] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [503820]
[10530.901110] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10530.901189] i915 0000:00:02.0: [drm] ffmpeg[504199] context reset due to GPU hang
[10531.087604] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [504199]
[10533.973092] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10533.973171] i915 0000:00:02.0: [drm] ffmpeg[504199] context reset due to GPU hang
[10534.157623] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [504199]
[10538.069057] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10538.069130] i915 0000:00:02.0: [drm] ffmpeg[504199] context reset due to GPU hang
[10538.253071] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [504199]
[10542.933011] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10542.933085] i915 0000:00:02.0: [drm] ffmpeg[504625] context reset due to GPU hang
[10543.122683] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [504625]
[10546.005018] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10546.005097] i915 0000:00:02.0: [drm] ffmpeg[504625] context reset due to GPU hang
[10546.193165] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [504625]
[10549.076991] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10549.077070] i915 0000:00:02.0: [drm] ffmpeg[504625] context reset due to GPU hang
[10549.261525] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [504625]
[10575.956786] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10575.956860] i915 0000:00:02.0: [drm] ffmpeg[505780] context reset due to GPU hang
[10576.145894] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [505780]
[10579.028753] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10579.028826] i915 0000:00:02.0: [drm] ffmpeg[505780] context reset due to GPU hang
[10579.224277] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [505780]
[10582.868730] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10582.868803] i915 0000:00:02.0: [drm] ffmpeg[505780] context reset due to GPU hang
[10583.056230] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [505780]
[10586.964719] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10586.964799] i915 0000:00:02.0: [drm] ffmpeg[506190] context reset due to GPU hang
[10587.148563] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [506190]
[10590.036686] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10590.036765] i915 0000:00:02.0: [drm] ffmpeg[506190] context reset due to GPU hang
[10590.226727] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [506190]
[10593.876558] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10593.876628] i915 0000:00:02.0: [drm] ffmpeg[506190] context reset due to GPU hang
[10594.062619] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [506190]
[10601.044510] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10601.044579] i915 0000:00:02.0: [drm] ffmpeg[506624] context reset due to GPU hang
[10601.224222] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [506624]
[10604.116514] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10604.116587] i915 0000:00:02.0: [drm] ffmpeg[506624] context reset due to GPU hang
[10604.298222] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [506624]
[10607.956571] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10607.956650] i915 0000:00:02.0: [drm] ffmpeg[506624] context reset due to GPU hang
[10608.137318] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [506624]
[10888.017743] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10888.017822] i915 0000:00:02.0: [drm] ffmpeg[535236] context reset due to GPU hang
[10888.172804] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [535236]
[10891.089638] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10891.089718] i915 0000:00:02.0: [drm] ffmpeg[535236] context reset due to GPU hang
[10891.246726] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [535236]
[10898.001430] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[10898.001510] i915 0000:00:02.0: [drm] ffmpeg[535236] context reset due to GPU hang
[10898.162046] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [535236]
[11533.889848] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11533.889921] i915 0000:00:02.0: [drm] ffmpeg[581269] context reset due to GPU hang
[11534.080172] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [581269]
[11536.961797] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11536.961875] i915 0000:00:02.0: [drm] ffmpeg[581269] context reset due to GPU hang
[11537.149919] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [581269]
[11541.057721] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11541.057795] i915 0000:00:02.0: [drm] ffmpeg[581269] context reset due to GPU hang
[11541.246107] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [581269]
[11545.921619] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11545.921698] i915 0000:00:02.0: [drm] ffmpeg[581829] context reset due to GPU hang
[11546.109817] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [581829]
[11548.993606] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11548.993679] i915 0000:00:02.0: [drm] ffmpeg[581829] context reset due to GPU hang
[11549.183017] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [581829]
[11555.905457] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11555.905531] i915 0000:00:02.0: [drm] ffmpeg[581829] context reset due to GPU hang
[11556.085831] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [581829]
[11560.001390] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11560.001470] i915 0000:00:02.0: [drm] ffmpeg[582311] context reset due to GPU hang
[11560.188943] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [582311]
[11562.817333] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11562.817407] i915 0000:00:02.0: [drm] ffmpeg[582311] context reset due to GPU hang
[11563.004929] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [582311]
[11568.961232] i915 0000:00:02.0: [drm] Resetting vecs0 for preemption time out
[11568.961312] i915 0000:00:02.0: [drm] ffmpeg[582311] context reset due to GPU hang
[11569.155163] i915 0000:00:02.0: [drm] GPU HANG: ecode 12:8:2cffbffd, in ffmpeg [582311]

@almightiest
Copy link

almightiest commented May 25, 2023

@almightiest Can you retry with the GuC submission enabled? i915.enable_guc=3

And please share the output of sudo dmesg | grep i915 with kernel 6.2.

with enable_guc=3 I don't get any more GPU HANG dmesg errors, but I still get an Input/Output error (although it seems to not happen immediately as it did with enable_guc=2:

$ ../../vainfo
Trying display: drm
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.2.3 (1b3828226)

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -canvas_size 1920x802 -i file:"/path/to/file.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:0 -codec:v:0 h264_qsv -low_power 1 -preset veryfast -look_ahead 0 -b:v 5616000 -maxrate 5616000 -bufsize 11232000 -g:v:0 72 -keyint_min:v:0 72 -filter_complex "[0:3]scale=flags=fast_bilinear,format=bgra,hwupload=derive_device=qsv:extra_hw_frames=64[sub];[0:0]setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709:extra_hw_frames=32,hwmap=derive_device=qsv,format=qsv[main];[main][sub]overlay_qsv=eof_action=endall:shortest=1:repeatlast=0:w=1920:h=802" -start_at_zero -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/mnt/ramdisk/jellyfin/transcodes/b30a53cbab7ab145862668b3fc0d0941%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/mnt/ramdisk/jellyfin/transcodes/b30a53cbab7ab145862668b3fc0d0941.m3u8"

[matroska,webm @ 0x557580274c80] sub2video: using 3840x1604 canvas
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
Output #0, hls, to '/mnt/ramdisk/jellyfin/transcodes/b30a53cbab7ab145862668b3fc0d0941.m3u8':
...
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 0 fps=0.0 q=11.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 2 fps=0.6 q=25.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 4 fps=1.0 q=25.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 6 fps=1.2 q=25.0 size=N/A time=00:00:00.25 bitrate=N/A speed=0.0504x
frame= 8 fps=1.3 q=25.0 size=N/A time=00:00:00.25 bitrate=N/A speed=0.0423x
frame= 10 fps=1.4 q=25.0 size=N/A time=00:00:00.25 bitrate=N/A speed=0.0365x
frame= 11 fps=1.5 q=25.0 size=N/A time=00:00:00.64 bitrate=N/A speed=0.085x
[Parsed_tonemap_vaapi_6 @ 0x557580bb0440] Failed to start picture processing: 1 (operation failed).
Error while filtering: Input/output error
Failed to inject frame into filter network: Input/output error
Error while processing the decoded data for stream #0:0
[libfdk_aac @ 0x557580b48000] 2 frames left in the queue on closing

@nyanmisaka
Copy link
Member Author

nyanmisaka commented May 25, 2023

@almightiest As per torvalds/linux@c9ee950, i915.enable_guc=3 is the default value for RPL-S. Disabling GuC submission causes the GPU hang. So you don't need to add any parameter to the i915.

[Parsed_tonemap_vaapi_6 @ 0x557580bb0440] Failed to start picture processing: 1 (operation failed).
That's a different issue in tonemap_vaapi and you should file a new issue to the media-driver. I don't have a 13th Gen platform to test with.

@almightiest
Copy link

almightiest commented May 25, 2023

@almightiest As per torvalds/linux@c9ee950, i915.enable_guc=3 is the default value for RPL-S. Disabling GuC submission causes the GPU hang. So you don't need to add any parameter to the i915.

[Parsed_tonemap_vaapi_6 @ 0x557580bb0440] Failed to start picture processing: 1 (operation failed). That's a different issue in tonemap_vaapi and you should file a new issue to the media-driver. I don't have a 13th Gen platform to test with.

I don't run into this issue with another HDR10 mkv I grabbed as a sample from https://www.demolandia.net/downloads.html?id=654828652 ...

/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -init_hw_device opencl=ocl@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video-21-hdr10-sony-bravia-oled.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_qsv -low_power 1 -preset veryfast -look_ahead 0 -b:v 5808000 -maxrate 5808000 -bufsize 11616000 -g:v:0 180 -keyint_min:v:0 180 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=1080:extra_hw_frames=24,procamp_vaapi=b=0:c=1.2,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709:extra_hw_frames=32,hwmap=derive_device=qsv,format=qsv" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/mnt/ramdisk/jellyfin/transcodes/ed574663f32b5b250e76c8e787bfdd0f%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/mnt/ramdisk/jellyfin/transcodes/ed574663f32b5b250e76c8e787bfdd0f.m3u8"

ffmpeg version 6.0-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Ubuntu 12.2.0-17ubuntu1)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libsvtav1 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
Input #0, matroska,webm, from 'file:/mnt/storage/movies-recordings/Video Bitrate Tests/video-21-hdr10-sony-bravia-oled.mkv':
Metadata:
encoder : libebml v1.4.4 + libmatroska v1.7.1
creation_time : 2023-05-25T15:07:15.000000Z
Duration: 00:01:23.11, start: 0.000000, bitrate: 73096 kb/s
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 1k tbn (default)
Metadata:
BPS : 72916990
DURATION : 00:01:23.084000000
NUMBER_OF_FRAMES: 4980
NUMBER_OF_BYTES : 757279403
_STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2023-05-25 15:07:15
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS : 192000
DURATION : 00:01:23.093000000
NUMBER_OF_FRAMES: 3895
NUMBER_OF_BYTES : 1994240
_STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2023-05-25 15:07:15
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_qsv))
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
libva info: VA-API version 1.18.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
Output #0, hls, to '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb2.m3u8':
Metadata:
encoder : Lavf60.3.100
Stream #0:0: Video: h264, qsv(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 5808 kb/s, 59.94 fps, 90k tbn (default)
Metadata:
BPS : 72916990
DURATION : 00:01:23.084000000
NUMBER_OF_FRAMES: 4980
NUMBER_OF_BYTES : 757279403
_STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2023-05-25 15:07:15
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
encoder : Lavc60.3.100 h264_qsv
Side data:
cpb: bitrate max/min/avg: 5808000/0/5808000 buffer size: 11616000 vbv_delay: N/A
Stream #0:1(eng): Audio: aac (LC), 48000 Hz, stereo, fltp (default)
Metadata:
BPS : 192000
DURATION : 00:01:23.093000000
NUMBER_OF_FRAMES: 3895
NUMBER_OF_BYTES : 1994240
_STATISTICS_WRITING_APP: mkvmerge v76.0 ('Celebration') 64-bit
_STATISTICS_WRITING_DATE_UTC: 2023-05-25 15:07:15
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
frame= 0 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x
frame= 101 fps=0.0 q=19.0 size=N/A time=00:00:01.68 bitrate=N/A speed=2.66x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb20.ts' for writing
frame= 243 fps=214 q=22.0 size=N/A time=00:00:04.09 bitrate=N/A speed=3.61x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb21.ts' for writing
frame= 389 fps=238 q=26.0 size=N/A time=00:00:06.61 bitrate=N/A speed=4.04x
frame= 540 fps=253 q=26.0 size=N/A time=00:00:09.04 bitrate=N/A speed=4.23x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb22.ts' for writing
frame= 671 fps=254 q=45.0 size=N/A time=00:00:11.24 bitrate=N/A speed=4.26x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb23.ts' for writing
frame= 779 fps=248 q=29.0 size=N/A time=00:00:13.03 bitrate=N/A speed=4.15x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb24.ts' for writing
frame= 904 fps=248 q=38.0 size=N/A time=00:00:15.10 bitrate=N/A speed=4.15x
frame= 1035 fps=250 q=28.0 size=N/A time=00:00:17.34 bitrate=N/A speed=4.19x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb25.ts' for writing
frame= 1181 fps=254 q=31.0 size=N/A time=00:00:19.75 bitrate=N/A speed=4.26x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb26.ts' for writing
frame= 1331 fps=259 q=30.0 size=N/A time=00:00:22.33 bitrate=N/A speed=4.34x
[hls @ 0x55b22c256540] Opening '/mnt/ramdisk/jellyfin/transcodes/2e2505f940e44cb40e96801130f32eb27.ts' for writing
...

@nyanmisaka
Copy link
Member Author

nyanmisaka commented May 25, 2023

@almightiest Can you try these two commands with those videos?

  1. 1920x802
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -
  1. 1920x1080
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=1080:extra_hw_frames=24,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -

@almightiest
Copy link

almightiest commented May 25, 2023

@almightiest Can you try these two commands with those videos?

  1. 1920x802
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=802:extra_hw_frames=24,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -
  1. 1920x1080
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:,driver=iHD,kernel_driver=i915 -init_hw_device qsv=qs@va -filter_hw_device qs -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/path/to/video.mkv" -autoscale 0 -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale_vaapi=w=1920:h=1080:extra_hw_frames=24,tonemap_vaapi=format=nv12:p=bt709:t=bt709:m=bt709" -f null -
  1. fails with input/output error
  2. over 200 fps!

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants