Hello,
I am trying to decode h.264 frames in my application using the Microsoft H.264 Video Decoder on Win7 by providing it input from a file containing the encoded H.264 bitstream. I created this input file by running the x264 encoder on a sample .yuv file to generate a .264 file.
The decoder provides the output media types IYUV, NV12, YUY2, YV12 after I set the input media type to MFMediaType_Video & MFVideoFormat_H264. I setYV12 as the output type. After this I started providing it chunks of data usingProcessInput. However even after feeding it the entire file (> 250 frames),GetInputStatus still returns MFT_INPUT_STATUS_ACCEPT_DATA, and ProcessOutput too indicates that the decoder needs more input.
Any ideas on what might be going wrong? I have tried setting more attributes of the input media type, like frame rate, resolution, interlace mode etc. as suggested here: - http://msdn.microsoft.com/en-us/library/windows/desktop/dd797815(v=vs.85).aspx
To rule out problems with the input, I encoded the same source .yuv file into .mp4 format using x264 encoder, and when I tried to play that using graphedit, I saw it was accepted by the Microsoft decoder and was played properly.
I also tried using the decoder with one of the h264 files from here:- ftp://ftp.ldv.ei.tum.de/videolab/public/TUM_1080p25_Data_Set/LC/ but I got the same behaviour as before.
Please let me know if you had suggestions...Thanks