-
Notifications
You must be signed in to change notification settings - Fork 54
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
SVT-HEVC broken with yuv444p10le #288
Comments
In addition, if I don't force --param lavc-use-codec=yuv444p10le, UG will chose yuv422p10le which is a less color accurate pixfmt.
|
Thanks for the report, my remarks follow.
If you look into the output, UltraGrid actually selects correctly yuv444p10le, but since its initialization fails, it tries next pixfmt in order (which doesn't take place if you enforce the pixfmt). yuv444p10le is second best. Returning back to the main problem - I tested a version from 7th Jan '23 that should predate the version you use. But it behaved similarly to current version for me – with your parameters it worked on a machine with 128 GB ram + 465 GB swap. But not one with 16+4 GB - it did started when added 64 GB swap file, but it exhausted it relatively quickly (which is weird, because even on the 128 GB machine, the process takes "only" some 8 GB of resident memory). Anyways, the two UG versions didn't seem to differ in SVT-HEVC behavior, the newer has just slightly different behavior - it doesn't use fallback pixfmt if one is enforced and if not, it selects better 2nd pixfmt. Also, lower resolution works so I believe that this is rather problem of SVT-HEVC allocating excessive amount of memory. Could you try to run it on same machine? If we confirm that this is the root of the problem, we can look if there is any possibility to reduce the amount of allocated memory. Just FYI, the line on which the allocation in initialization fails is just a plain calloc(). |
Wierd... because although the machine that SVT-HEVC works was different machine, AMD Ryzen 9 3950X, it too also only has 16GB of RAM. I'll dig up some more RAM for NUC12 and try again. |
I was thinking if the library doesn't have also some heuristics how much to allocate determined from eg. core count or something... But then it is weird that on a a machine with 128 GB RAM and 40 logical cores it consumes 8 GB of memory and on 16-core one 16 GB is not enough. |
I will try most recent continuous on known good machine, to make sure that it is not code, but wierdly NUC specific. |
I've upgraded memory in NUC12 to be 32GB. Something weird happens. It tries to run and then kills itself.
|
I've done some more tests and it is certainly SVT-HEVC bug, It is reproducible also without UltraGrid:
Runs until killed by OOM, consuming memory very quickly. |
I can also confirm that 32 GB RAM was sufficient on a different machine. I've already filled a bug report to library upstream and I'd conclude for now that it is not an UltraGrid bug. |
Agreed.. Funny thing is the 2 machines that are having issues are Intel. The AMD ones work fine. |
Hello,
In master, trying to use pixfmt yuv444p10le with SVT-HEVC is now broken. It does work in builds just a few weeks ago. See below:
BROKEN:
WORKING:
The text was updated successfully, but these errors were encountered: