Other Parts Discussed in Thread: THS8200, THS7303
I have a custom DM6467/DM6467T board running. Unlike the DM6467T EVM upon which it is substantially based, my board doesn't have any of the hi-def video chips. Instead, it's all NTSC std-def.
I've rebuilt the kernel to include TVP514X (for TVP5147M1PFP ntsc video in) and ADV7170 (for ADV7171 ntsc video out).
I have a test program called splash that I was running on the EVM. It is a highly pruned version of the encodedecode demo. All it does is display a fixed color screen to the video output. It doesn't use the video input. This works on EVM going to the hi-def THS8200, that doesn't exist on my board.
When I reconfigure my script to run splash in an attempt to send ntsc/composite/std-def output to my ADV7170, I get errors. I've been trying to track those down. It is the call to the DMAI function Display_create that's failing. Here's info on what I'm passing, by way of a trace output that details the "attrs" parameter:
DBG: DSP: Call Display_create(0005b360, 40bd5dc0)
numBufs=3
displayStd=0 (Display_Std_V4L2)
videoStd=5 (VideoStd_D1_NTSC)
videoOutput=1 (Display_Output_COMPOSITE)
displayDevice=(/dev/video2)
rotation=0
colorSpace=1 (ColorSpace_YUV422PSEMI)
Now, /dev/video2 doesn't seem to exist in my file system. I assume that relates to my removing some drivers in the kernel config and adding others. How do I figure out WHICH device I should be using? When I do an "ls" on the /dev directory, I only have /dev/video0 and /dev/video1.
I've tentatively modified the DMAI source for Display_v4l2.c, that defines the Display_create() workhorse function with name Display_v4l2_create(). I've added additional trace statements, as well as turning on trace via "export DMAI_DEBUG=1" in my script. After tentatively changing displayDevice to /dev/video1 (just a guess, between this and /dev/video0), I get up to the Display_detectVideoStd() function call. This fails with trace error message "Composite Output not found" (note this is a DMAI trace output, not one of mine). Between the videoOutput choices (SVIDEO, COMPOSITE, COMPONENT, LCD, DVI, SYSTEM), I believe Display_Output_COMPOSITE is the proper one. I can go modifying DMAI code to trace deeper, but it would be nice if someone already knew the answer. Please suggest a solution!
At least *looking* further, I see inside Display_detectVideoStd() that ioctl() is called in a loop. One parameter is VIDIOC_ENUMOUTPUT. This ioctl must be returning nonzero, to give me the error "%s Output not found".
Is this even "V4L2" video at this point?
Thanks very much,
Helmut