Deinterlace:
We are using tvp5151. Driver is based on driver 5150 (you can download it from internet).
A friend of mine found out (by accident) that if you provide procedure like in the previous post:
*************************
int fd, status;
fd = open("/dev/video0", O_RDWR);
if(fd == -1)
exit(1);
status = 1;
if (ioctl(fd, VIDIOC_S_INPUT, &status) < 0) {
printf("ioctl failed: %s\n", strerror(errno));
exit(1);
}
*************************
for some reason it deinterlaces video. I have no idea why and how it works. I went throught documentation and forums - no information about it.
The whole .c file is attached. I have compiled it on my host machine with command:
- "arm-none-linux-gnueabi-gcc tvp5151_ctl.c -o tvp5151_ctl"
And run the program on target machine with command:
- "./tvp5151_ctl -i 1"
Streaming rescaled video:
I was using fsl-plugins version 1.9.5. On the freescale webpage there are no files with newer codecs for IMX51· Seems it is not being developed anymore (at least software). So I took fsl-plugins from IMX53 (version 2.0.3), compiled it with spec file form imx53 and it started working.
I have noticed that you can rescale video with mfw_ipucsc plugin but it is not able to handle all resolution. It works fine if I want to rescale my 720x576 video to 320x240, but if for example I want to have 480x560 it gives errors like this:
mxc_ipu mxc_ipu: IPU Error - IPU_INT_STAT_10 = 0x00000001
mxc_ipu mxc_ipu: IPU Error - IPU_INT_STAT_5 = 0x00000001
Answer if you will find out how to rescale video with mfw_ipucsc without errors.
If my post is not clear tell me I will write detailed, long and boring one with instructions step by step how we had made it to work.