-
-
Notifications
You must be signed in to change notification settings - Fork 38
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
optimized I420 to RGB in mrayGstreamerUnity plugin? #31
Comments
IIRC the reason is that the Operating on RBG or other formats is different from I420 and requires a different approach because of the layout. There is no technical limitation to supporting RBG or other formats here (and providing a fast path if you don't need cropping), so the "reason" is probably just that @mrayy did not need anything but I420 at the time he built this plugin (I420 is very commonly used as camera image format, so also in streaming video from cameras). To summarize: if you need a different format than I420, you'll probably need to add support for it in the C++ plugin, after which you can remove the I420 conversion from the pipeline string (I did something similar to support NV12 for my company to avoid conversions and optimize streaming from a camera that natively doesn't support I420). |
I420 is much lighter format for passing the data between gstreamer to unity. Using this format would reduce the rendering latency significantly compared to RGB format. |
hey @mrayy why you convert height of I420 images to "height/1.5"? i found that the image quality decreased by this. |
Hi, mrayy
I would like to raise a question. Why in the C# we append "videoconvert ! video/x-raw,format=I420 " to gstreamer pipeline strings, and later converted from I420 to RBG in the C++ plugin.
We found the efficiency of the I420 to RBG conversion in C++ is very low. We'd like to convert to RBG directly with gstreamer plugin since we are playing high resolution video which means a lot of pixels.
Is there any reason doing that?
The text was updated successfully, but these errors were encountered: