Thanks for the VOL header tip. I printed out the first 64 bytes of each encoded frame and found the VOL header in the first frame after creating the videnc algorithm. 28 bytes up until the 0-0-1-B6 start of frame code.
I could not find any way to force it to add a header to a frame.
The headers are all the same so I copied one, as you mention, from the first frame encoded and add to the first frame recorded to an avi file, and it works.
However, since I also need to start the file with an I-frame, I first send the
SET_PARAMS with forceFrame to I-Frame and then add the header. This keeps
failing though. It does not like some setting in the dynamic params, even
though I keep it the same as when I create the algorithm.
It seems that once I start executing process commands, I can no longer do a set
params, even if I keep the dynamic params and params exactly how they were at
the last creation or process.
So for now, I am just deleting and re-creating the algorithm and keeping the
manageinbufscache to false. This re-creates the header and forces an I-frame.
-mat
what you are missing is a VOL header, not every I-frame caries the information
needed to decode the stream, it's in the VOL object. you might be able to
force the coded to generate a VOL header, check the codec specs.
(you might also scan for and save the VOL header on the 1st encoded frame
and re-use it later...)
------------------------------
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source