Thanks for the feedback. I'll ask Fluendo for support about the mkv issue.
I made a structured series of tests today. Here are the findings:
Base hardware: MacMini4,1 with Kubuntu 10.10, fully updated. I had desktop effects switched off.
1. I tested with GSVideo-0.7 Stable. + Fluendo
-- color swap was present when I play a .wmv video with GSMovie
-- with GSMovie was unable to play my 1080p.mkv test file
-- with GSMovie playing 1080p.m4a test file it opened a new window and I get hardware accelerated playback. The colors were correctly displayed.
-- The results for this test are actually identical with test #2, but with the color swap issue manifesting with videos shown in Processing window.
2. Test with Fluendo + GSVideo 20110116
-- when playing 1080p & 720p.mp4's a new window opens on top of Processing. The window title is "GSVideo" so I guess that's good news: can get smooth 1080p h264 playback with GSVideo. The CPU was running at <30% most of the time. There were some decompression artifacts.
-- not able to play 1080p.mkv, but was able to play 720p.mkv but it also it opens a new window. However, after that my program stopped responding.
-- when I close these windows, the last frame remains on my desktop and I have to restart X to clear it.
-- made an additional test with a 720p.wmv file . Interestingly, GSMovie played as normal (no windows opened). I can't tell if this is the fluwmvcodec being used though... playbin2 autoselects this.
3. I removed the Fluendo codecs and tested with GSVideo-20110116
-- with GSMovie was able to play 1080p.mkv (~20fps), 1080p.mp4, 720p.mkv, 720p.mp4, 720.wmv
-- it didn't open a new window on top of processing when playing with mp4
4. Test with Fluendo codes + GSVideo-20110111
-- can play all files mentioned
-- 1080p h264 playback is around 18-25fps (Full CPU)
-- 720p h264 playback is about 50fps (CPU at about 80%)
-- I am assuming that the fluendo codecs are being used automatically but can't be sure: see test #5
5. I set up an identical hardware & config and tested side by side with Setup #4 but without Fluendo codecs
-- I assume the decoder being used was ffdec_h264
-- Setup #4 use slightly more CPU and memory than #5 when playing back any h264 video
-- There is no significant difference of performance and perceived quality of the videos being played back. Both setups look equally not-so-great, actually.
6. Used gst-launch pipe to test between ffdec_h264 and fluh264dec shows that the fluendo codec is superior
7. Removed gstreamer0.10-ffmpeg so it's more likely that the Fluendo codecs are used and ran test #4 again. Got same results.
-----------------------------------------------------------
Questions
1. I'm quite baffled why Setup #4 works without the video window opening up, when Setup #1 didn't.
And why there is no improvement between tests #4 thru #7.
-- Not knowing exactly what GSVideo is doing, To test the assumptions, How can I find out which decoder GSVideo is using when I load a file with GSMovie, during or after runtime?
2. I suspect that the new window opens because Fluendo uses its own fluvasink when performing hardware accelerated h264 decoding. Is it possible to fix this issue?
Thanks for your time.
Regards,
zaros