MATLAB: Do I get a “Movie cdata must be of type uint8 array” error when I use the MOVIE command with a 16-bit grayscale AVI in MATLAB R14

addframeMATLAB

I have a 16-bit grayscale AVI, filename.avi, as verified with the AVIINFO function, which returns the following info:
ImageType: 'grayscale'
I then enter the following commands:
move=aviread('filename.avi');
movie(mov)
and I obtain the following error:
??? Error using ==> movie
Movie cdata must be of type uint8 array.

Best Answer

This bug has been fixed in Release 2007b (R2007b). For previous product releases, read below for any possible workarounds:
The MOVIE function does not accept movie objects that have the CDATA field of type UINT16.
As a workaround on a Windows machine, use the following command to view a movie, in the default AVI player:
winopen('filename.avi')