HIi,everybody
May you help me ? I have a question:
I code a camer driver based on mainstion3/intel pxa270/windows
mboile 5 ppc.I use the uyvy422 package format for the input and output
format.In adapters.h, i change some settings:
#define DEFAULT_VIDEO_WIDTH 320//176
#define DEFAULT_VIDEO_HEIGHT 240//144
#define DEFAULT_STILL_WIDTH 1280
#define DEFAULT_STILL_HEIGHT 1024
#define DEFAULT_CAPTURE_WIDTH 320//176
#define DEFAULT_CAPTURE_HEIGHT 240//144
#define DEFAULT_CAMERA_INPUT_FORMAT
(XLLP_CAMERA_IMAGE_FORMAT_YCBCR422_PACKED )
//#define DEFAULT_CAMERA_OUTPUT_FORMAT
(XLLP_CAMERA_IMAGE_FORMAT_YCBCR422_PLANAR )
#define DEFAULT_CAMERA_OUTPUT_FORMAT
(XLLP_CAMERA_IMAGE_FORMAT_YCBCR422_PACKED )
about still,i have 5 resolutions:qqvga/qvga/vga/xga/sxga.vidoe has 2
resolutions:qqvga/qvga.I always use qvga as the preview resolution.And
the still pin and capture pin both use the same resolution about qqvga/
qvga.
Now, i use pimg.exe(include wm5) to test camera driver,The still and
preview functions are ok.However,when chang from preview to
video(clieck the mode menu),it always pop a dialogbox and prompt
"unable complete the requested action. Out of memory".Look out the
debug informations, I find that the video format negotiation fail. The
client(directshow) useCSPROPERTY_PIN_DATARANGES to get resolutions
and then use CSPROPERTY_PIN_DATAINTERSECTION to send driver format
list to match. Driver find the matched format and send back .But the
direct show always repeat these steps.
Can you help me ? thansk