The IEEE 1394 Digital Camera standard specifies six modes that provide data in YUV422 format:
Format0_Mode1: "320x240_yuv422"
Format0_Mode3: "640x480_yuv422"
Format1_Mode0: "800x600_yuv422"
Format1_Mode3: "1024x768_yuv422"
Format2_Mode0: "1280x960_yuv422"
Format2_Mode3: "1600x1200_yuv422"
The question is whether your camera supports any of them. Try seting the video_mode
parameter to the corresponding strings, from "320x240_yuv422" to "1600x1200_yuv422". If the device supports the corresponding mode, that parameter will be accepted, otherwise the device will reject it.
If the device does not support any of those modes, the camera1394 driver will not provide YUV422 data. It does not do conversions in software. You would need to write your own nodelet to provide that conversion.
UPDATE: The encoding should be: sensor_msgs::image_encodings::YUV422.
I don't know where you got that other link from, but that is the actual source. You can verify the encoding being published while the driver is running like this:
$ rostopic echo /camera/image_raw/encoding
It should print "yuv422" at the current frame rate, when you are in the correct mode.
The Camera1394 nodelet and camera1394_node both wrap the same driver. It is very unlikely that they would publish different encodings for the same video_mode
.