![]() It's bad enough that there are also non-natively packed structs in the default IL headers (the nTimeStamp field in OMX_BUFFERHEADERTYPE being the most annoying), so you'd need to repack that struct between 64bit and the IPC. All that is open source in (VideoCore IL Component Service) and the other counterpart files, but it's not the easiest code to follow. It's far from straightforward though as for a start you have 6 userspace pointers stored in OMX_BUFFERHEADERTYPE to start with, each of which need to be picked apart, stored, and looked back up again on buffer return. If you felt like picking IL apart to do the same, then a PR would be welcome. OS: macOS Ventura -Virtualization: none -Clients: Web -Browser: Firefox -FFmpeg Version: 5.1.2 -Playback Method: Web app -Hardware Acceleration: Attempted, Jellyfin set. The MMAL userspace library did have the same done ( raspberrypi/userland#586), but it has currently been reverted due to observed issues. NVENC h264 (Nvidias h264 encoder using gpu). Where the client needs to pass a 64bit pointer through a 32bit IPC field, it goes through an allocation and lookup table. For all entries with a value of VAEntrypointEncSlice hardware encoding can be used and I’m using VAProfileHEVCMain (which is HEVC/H.265 Main profile).As you can see also Main 10 profile is supported if you want to use that one and of course H.264.To give you an impression about encoding speed (H.264 vs H. Note that hardware accelerated encoding, unlike hardware accelerated rendering, doesnt give the same result. The MMAL framework code within the kernel has been adapted to handle 64bit kernels. MMAL and IL provide two different routes down to the RIL level, with MMAL being the more recent, and tries to get rid of a load of the bits of IL that caused grief (particularly all the asynchronous callback for completing state transitions and the like). ![]() Without hardware acceleration, a typical command would be ffmpeg -i input.mkv -pixfmt yuv420p10le -c:v libx265 -crf 21 -x265-params profilemain10 out.mkv. That was termed internally as Reduced-IL (or RIL) as it removes all the common state machine stuff from the individual components to give a reduced API. I am trying to encode a 10-bit H.265 video from a 8-bit H.264 source using ffmpeg with CUDA hardware acceleration. MMAL and OpenMAX IL both share the components at the lowest level. H264_v4l2m2m uses the V4L2 stateful decoder API to then access the hardware codec (encode and decode) via the MMAL framework.
0 Comments
Leave a Reply. |