Hi all,
I has been doing some tests in order to find out the maximum capacity of OMX Deiscaler component. For example, the following pipeline works without any problem:
gst-launch videotestsrc num-buffers=10 ! 'video/x-raw-yuv,format=(fourcc)NV12,width=1920,height=2042,framerate=(fraction)60/1' ! omx_hdeiscaler output-buffers=4 name=d d.src_01 ! 'video/x-raw-yuv,width=1920,height=1080' ! gstperf ! fakesink
But if I feed omx_hdeiscaler input with 1920x2043 frames instead of 1920x2042 frames, I get the following error:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
unrecoverable error: There were insufficient resources to perform the requested operation (0x80001000)
ERROR: from element /GstPipeline:pipeline0/GstOmxHDeiScaler:d: GStreamer encountered a general stream error.
Additional debug info:
../../src/omx/gstomx_base_filter2.c(719): pad_chain (): /GstPipeline:pipeline0/GstOmxHDeiScaler:d:
Error from OpenMAX component
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
This pipeline generates the error:
gst-launch videotestsrc num-buffers=10 ! 'video/x-raw-yuv,format=(fourcc)NV12,width=1920,height=2043,framerate=(fraction)60/1' ! omx_hdeiscaler output-buffers=4 name=d d.src_01 ! 'video/x-raw-yuv,width=1920,height=1080' ! gstperf ! fakesink
It seems that while creating the OMX component, there is an internal memory allocation that is failing because of insufficient resources. I think that if there's a way to just increase the memory segment that deiscaler component uses for its internal buffers we can get this error solved and get deiscaler working with bigger resolutions than 1920x2042.
Is there anyone that has done something similar that can help me with this issue?
Thanks,
CarlosG