Closed FarisR99 closed 1 year ago
You need to add "-DPL_STATIC" to libplacebo CFLAGS, or to FFMpeg (--extra-cflags="-DPL_STATIC"), for whatever reason.
You need to add "-DPL_STATIC" to libplacebo CFLAGS, or to FFMpeg (--extra-cflags="-DPL_STATIC"), for whatever reason.
@Chipcraft ffmpeg and mpv compile when I add CFLAGS="-DPL_STATIC"
to libplacebo build, thanks
Actually for shared linking you shouldn't define PL_STATIC
, the proper fix for this issue was committed here https://github.com/FFmpeg/FFmpeg/commit/1aeefc4c06de5408c24bc3f5db4d10fdfd9c27c0
Actually for shared linking you shouldn't define
PL_STATIC
, the proper fix for this issue was committed here FFmpeg/FFmpeg@1aeefc4
The issue is just that all of the newer commits of libplacebo, than the one specified here fail. Likewise, newer commits of FFMpeg than the one specified fail at least with tone mapping. The specified libplacebo commit can be used with the most recent commit of FFMpeg however, it appears to have a massive memory leak. All of the dedicated VRAM is being reserved from the get-go, and as soon as it spills over, it crashes.
[libplacebo @ 000001bc28406f40] Allocation of size 256M failed: VK_ERROR_OUT_OF_DEVICE_MEMORY!
[libplacebo @ 000001bc28406f40] Memory heaps supported by device:
[libplacebo @ 000001bc28406f40] 0: flags 0x1 size 11G
[libplacebo @ 000001bc28406f40] 1: flags 0x0 size 15G
[libplacebo @ 000001bc28406f40] Memory pool 0:
[libplacebo @ 000001bc28406f40] Compatible types: 0x3
[libplacebo @ 000001bc28406f40] Optimal flags: 0x1
[libplacebo @ 000001bc28406f40] Slab 0: 0 x 14M: 35M used 56M res 56M alloc from heap 0, efficiency 63.33% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 1: 0 x 3840K: 30M used 30M res 30M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 2: fffffffffffffff0 x 4096: 16K used 16K res 256K alloc from heap 0, efficiency 100.00% [../src/shaders/lut.c:500]
[libplacebo @ 000001bc28406f40] Slab 3: fffffffe x 8192: 8192 used 8192 res 256K alloc from heap 0, efficiency 100.00% [../src/shaders/lut.c:500]
[libplacebo @ 000001bc28406f40] Slab 4: e x 864K: 864K used 864K res 3456K alloc from heap 0, efficiency 100.00% [../src/shaders/lut.c:500]
[libplacebo @ 000001bc28406f40] Slab 5: fffe x 16K: 16K used 16K res 256K alloc from heap 0, efficiency 100.00% [../src/shaders/lut.c:500]
[libplacebo @ 000001bc28406f40] Slab 6: 0 x 14M: 81M used 112M res 112M alloc from heap 0, efficiency 72.50% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 7: 0 x 3840K: 120M used 120M res 120M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 8: 0 x 14M: 225M used 225M res 225M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 9: 0 x 3840K: 240M used 240M res 240M alloc from heap 0, efficiency 100.00% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 10: 0 x 14M: 253M used 256M res 256M alloc from heap 0, efficiency 98.88% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 11: 0 x 14M: 222M used 256M res 256M alloc from heap 0, efficiency 86.79% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 12: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 13: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 14: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 15: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 16: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 17: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 18: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 19: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 20: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 21: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 22: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 23: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 24: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 25: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 26: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 27: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 28: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 29: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 30: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 31: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 32: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 33: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 34: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 35: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 36: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 37: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 38: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 39: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 40: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 41: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 42: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 43: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 44: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 45: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 46: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 47: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 48: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 49: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 50: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Slab 51: 0 x 14M: 129M used 256M res 256M alloc from heap 0, efficiency 50.54% [../src/utils/upload.c:245]
[libplacebo @ 000001bc28406f40] Pool summary: 6383M used 11G res 11G alloc, efficiency 55.33%, utilization 99.97%
[libplacebo @ 000001bc28406f40] Memory pool 1:
[libplacebo @ 000001bc28406f40] Compatible types: 0xffffffff
[libplacebo @ 000001bc28406f40] Required flags: 0x1
[libplacebo @ 000001bc28406f40] Optimal flags: 0x2
[libplacebo @ 000001bc28406f40] Buffer flags: 0xc3
[libplacebo @ 000001bc28406f40] Slab 0: 3ffffffffff x 6144: 0 used 4096 res 256K alloc from heap 0, efficiency 0.00% [../src/gpu/utils.c:1093]
[libplacebo @ 000001bc28406f40] Pool summary: 0 used 4096 res 256K alloc, efficiency 0.00%, utilization 1.56%
[libplacebo @ 000001bc28406f40] Memory pool 2:
[libplacebo @ 000001bc28406f40] Compatible types: 0xffffffff
[libplacebo @ 000001bc28406f40] Optimal flags: 0x3
[libplacebo @ 000001bc28406f40] Buffer flags: 0x3
[libplacebo @ 000001bc28406f40] Slab 0: 3ffffffffff x 6144: 0 used 4096 res 256K alloc from heap 0, efficiency 0.00% [../src/gpu/utils.c:471]
[libplacebo @ 000001bc28406f40] Slab 1: f x 585K: 0 used 0 res 2340K alloc from heap 0, efficiency 100.00% [../src/gpu/utils.c:471]
[libplacebo @ 000001bc28406f40] Slab 2: 3fff x 18K: 0 used 4096 res 256K alloc from heap 0, efficiency 0.00% [../src/gpu/utils.c:471]
[libplacebo @ 000001bc28406f40] Pool summary: 0 used 8192 res 2852K alloc, efficiency 0.00%, utilization 0.28%
[libplacebo @ 000001bc28406f40] Memory pool 3:
[libplacebo @ 000001bc28406f40] Compatible types: 0xffffffff
[libplacebo @ 000001bc28406f40] Required flags: 0x3
[libplacebo @ 000001bc28406f40] Optimal flags: 0x2
[libplacebo @ 000001bc28406f40] Buffer flags: 0x23
[libplacebo @ 000001bc28406f40] Slab 0: 3ffffffffff x 6144: 0 used 4096 res 256K alloc from heap 0, efficiency 0.00% [../src/shaders/colorspace.c:1197]
[libplacebo @ 000001bc28406f40] Pool summary: 0 used 4096 res 256K alloc, efficiency 0.00%, utilization 1.56%
[libplacebo @ 000001bc28406f40] Memory pool 4:
[libplacebo @ 000001bc28406f40] Compatible types: 0xffffffff
[libplacebo @ 000001bc28406f40] Required flags: 0x1
[libplacebo @ 000001bc28406f40] Optimal flags: 0x2
[libplacebo @ 000001bc28406f40] Buffer flags: 0x13
[libplacebo @ 000001bc28406f40] Slab 0: 3fffffffffe x 6144: 3072 used 10K res 256K alloc from heap 0, efficiency 30.00% [../src/dispatch.c:954]
[libplacebo @ 000001bc28406f40] Pool summary: 3072 used 10K res 256K alloc, efficiency 30.00%, utilization 3.91%
[libplacebo @ 000001bc28406f40] Memory summary: 6383M used 11G res 11G alloc, efficiency 55.33%, utilization 99.94%, max page: 750M
[libplacebo @ 000001bc28406f40] Backtrace:
[libplacebo @ 000001bc28406f40] #0 0x7fffc7422a73 in vk_malloc_print_stats+0x1983 (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x92a73) (0x1d6202a73)
[libplacebo @ 000001bc28406f40] #1 0x7fffc7424045 in vk_malloc_slice+0x6c5 (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x94045) (0x1d6204045)
[libplacebo @ 000001bc28406f40] #2 0x7fffc741b8ec in vk_tex_create+0x7dc (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x8b8ec) (0x1d61fb8ec)
[libplacebo @ 000001bc28406f40] #3 0x7fffc73ac2f0 in pl_tex_recreate+0x200 (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x1c2f0) (0x1d618c2f0)
[libplacebo @ 000001bc28406f40] #4 0x7fffc73eb973 in pl_upload_plane+0xb3 (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x5b973) (0x1d61cb973)
[libplacebo @ 000001bc28406f40] #5 0x7ff62f46156c (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x13156c) (0x14013156c)
[libplacebo @ 000001bc28406f40] #6 0x7ff62f46172d (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x13172d) (0x14013172d)
[libplacebo @ 000001bc28406f40] #7 0x7fffc73e83cc in pl_hdr_metadata_from_dovi_rpu+0x112c (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x583cc) (0x1d61c83cc)
[libplacebo @ 000001bc28406f40] #8 0x7fffc73ea423 in pl_queue_update+0xdb3 (C:\Users\Username\Desktop\FFMpeg_Test\libplacebo-271.dll+0x5a423) (0x1d61ca423)
[libplacebo @ 000001bc28406f40] #9 0x7ff62f46307b (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x13307b) (0x14013307b)
[libplacebo @ 000001bc28406f40] #10 0x7ff62f38a0f9 (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x5a0f9) (0x14005a0f9)
[libplacebo @ 000001bc28406f40] #11 0x7ff62f38dbcd (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x5dbcd) (0x14005dbcd)
[libplacebo @ 000001bc28406f40] #12 0x7ff62f38d0a6 (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x5d0a6) (0x14005d0a6)
[libplacebo @ 000001bc28406f40] #13 0x7ff62f33f8ea (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0xf8ea) (0x14000f8ea)
[libplacebo @ 000001bc28406f40] #14 0x7ff6302c7307 (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0xf97307) (0x140f97307)
[libplacebo @ 000001bc28406f40] #15 0x7ff62f3312ed (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x12ed) (0x1400012ed)
[libplacebo @ 000001bc28406f40] #16 0x7ff62f331405 (C:\Users\Username\Desktop\FFMpeg_Test\ffmpeg.exe+0x1405) (0x140001405)
[libplacebo @ 000001bc28406f40] #17 0x7ff8108e7613 in BaseThreadInitThunk+0x13 (C:\Windows\System32\KERNEL32.DLL+0x17613) (0x180017613)
[libplacebo @ 000001bc28406f40] #18 0x7ff811a426a0 in RtlUserThreadStart+0x20 (C:\Windows\SYSTEM32\ntdll.dll+0x526a0) (0x1800526a0)
[libplacebo @ 000001bc28406f40] for malloc: ../src/utils/upload.c:245
[libplacebo @ 000001bc28406f40] No slab to serve request for 14M bytes (with alignment 0x400) in pool 0!
[libplacebo @ 000001bc28406f40] Failed initializing plane texture!
[libplacebo @ 000001bc28406f40] Failed mapping frame id 4175 with PTS 174.132004
Error while filtering: Generic error in an external library
Last message repeated 1 times
Failed to inject frame into filter network: Generic error in an external library
Error while processing the decoded data for stream #0:0
Please create new issue for this. Currently libplacebo and ffmpeg both on master branch should work.
I compile libplacebo and ffmpeg from source every so often with MINGW64 for Windows binaries.
My build script for libplacebo:
My build script for ffmpeg:
Since the introduction of this commit: https://github.com/haasn/libplacebo/commit/4cd2f111034cef81962c095885815b230cf5d0f4 I have been unable to compile using these commands, receiving the following error:
Reverting this commit from the latest master allows me to build again.