I have built and tested on my hardware using Dora, still with no VUI parameter data. My version number output is now:
IPU_CSC_CORE_LIBRARY_VERSION_INFOR_01.00.
MFW_GST_IPU_CSC_PLUGIN 3.0.9 build on Apr 10 2014 15:46:09.
[ 2880.479949] No such IOCTL, cmd is 22032
[ 2880.483981] No such IOCTL, cmd is 22032
Setting pipeline to PAUSED ...
[INFO] Product Info: i.MX6Q/D/S
vpuenc versions :smileyhappy:
plugin: 3.0.9
wrapper: 1.0.40(VPUWRAPPER_ARM_LINUX Build on Apr 10 2014 15:35:17)
vpulib: 5.4.18
firmware: 2.3.10.40778
As you can see, we've improved our vpuenc plugin, wrapper, vpulib and firmware version. Looking at the code, the VPUENC gstreamer plugin receives the SPS and PPS data directly from the VPU encoder hardware, and this data does not include VUI parameters.
There is also a message regarding IOCTLs, which stems from my using an older Linux kernel than the Dora release. This was done to test faster, since it's unlikely that the kernel version directly affects action at the H.264 SPS VUI data level.
I have slightly modified my gstreamer launch script and pipeline like so:
#!/bin/bash
HOST=$1
PORT=$2
if [[ -z $HOST ]]; then
echo No host provided
echo Usage: \n\tgstreamer-pipelines.sh HOST PORT
exit 1
fi
if [[ -z $PORT ]]; then
echo No port provided
echo Usage: \n\tgstreamer-pipelines.sh HOST PORT
exit 1
fi
gst-launch-0.10 -v \
videotestsrc pattern="smpte" horizontal-speed="1" !\
video/x-raw-rgb,bpp=16,depth=16,endianness=1234,red_mask=63488,green_mask=2016,blue_mask=31,width=1280,height=720,framerate=30/1 !\
queue !\
mfw_ipucsc !\
queue !\
vpuenc codec=avc bitrate=4000000 seqheader-method=3 framerate-nu=30000 framerate-de=1000 !\
queue !\
mpegtsmux !\
udpsink host=$HOST port=$PORT