I have been trying to create an OpenGL video decoder from scratch for the last month but have been having issue after issue with OpenVideo Decode.
I originally tried to decode the H264 bisttream uinsg the h264bitstream library, but that proved too difficult (the H264 spec is *really* hard to understand).
So I started again using FFmpeg which already has DXVA support code, and as OpenVideo Decode's data structures seems suspiciosuly similar to DXVA's it was a simple copy and paste job.
Tonight I also found for the first time the OpenVideo Decode sample on the Stream SDK sample page. (It must have been added only in the last few days as I checked not too long ago for an OVD sample). I suggest you add a note about the sample to the OpenVideo Decode documentation PDF in case people miss it.
Now I am trying to get it running in my test app.
However I am getting a failure back from OVDecodePicture which prints this error to the console:
clCreateVideoSessionAMD returned error -1102
-1102 is not a standard OpenCL error message, and I can't find any error codes documented in the PDF or headers so I don't have a clue what this means!
Could someone from the ATI Stream SDK team please tell me what this means and what I have done wrong?
Also where do I send bug reports about the OpenVideo Decode documentation, header files, libraries, etc. I have a long list that I have compiled so far...
Thanks for the email address.
Any word on what the error code means?
I am pulling my hair out now as I can't find anything wrong...
Next thing I am going to try is dumping the bitstream into .bit files and give it to the AMD OVD sample program...
If I can't get this to work I will have to try the other APIs on Windows like DXVA or NVIDIA's CUVID...
OVD crashes or hangs indefinitely when using two independent sessions. Specifically, passing the event returned by OVDecodePicture to clWaitForEvents crashes deep inside an AMD CAL DLL. Everything works great with a single session, but just calling OVDecodeCreateSession causes the other session to go toxic. Is this a know issue at AMD?
The OVD documentation mentions multiple sessions can be created just fine but the provided sample application does not test that use case. Adding an extra session to the sample code causes an access violation in the same way.