- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi!
I've got an interesting issue about MediaSDK H.264 Encoder.
Several tasks are put to encode untill pool capacity is reached (it equails 4).
Now I have 4 frames, and call m_pmfxSession->SyncOperation on the very first task. The return is MFX_ERR_ABORTED, but DependentVppTasks is empty.
Afterwards I've decided to delete this task from task list, and switch to the next one. The second SyncOperation also returns MFX_ERR_ABORTED. And finally the third task's sync operation succedes.
After it succeded, I tryed switching back to the first task, but still got MFX_ERR_ABORTED.
What are possible reasons of such behavior? Win 7 x64, 32-bit DirectShow filter.
Closed GOP size 25, 1 B frame, 2 ref frames.
If I switch B-frames count to 0, SyncOperation call on the very first task returns MFX_ERR_NONE.
I've got an interesting issue about MediaSDK H.264 Encoder.
Several tasks are put to encode untill pool capacity is reached (it equails 4).
Now I have 4 frames, and call m_pmfxSession->SyncOperation on the very first task. The return is MFX_ERR_ABORTED, but DependentVppTasks is empty.
Afterwards I've decided to delete this task from task list, and switch to the next one. The second SyncOperation also returns MFX_ERR_ABORTED. And finally the third task's sync operation succedes.
After it succeded, I tryed switching back to the first task, but still got MFX_ERR_ABORTED.
What are possible reasons of such behavior? Win 7 x64, 32-bit DirectShow filter.
Closed GOP size 25, 1 B frame, 2 ref frames.
If I switch B-frames count to 0, SyncOperation call on the very first task returns MFX_ERR_NONE.
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Maxim,
It's difficult to say without looking at the code you have got.
Directly what I can say, actually ask you: do you use the same onem_pmfxSession->SyncOperation for all tasks? If yes, there must be the problem: each task have to get own SyncOperation. You've got pool of 4 frames, so you have to assign 4 different SyncOperations tothe tasks, and reuse them after they are done.
Kind regards,
Vassili
It's difficult to say without looking at the code you have got.
Directly what I can say, actually ask you: do you use the same onem_pmfxSession->SyncOperation for all tasks? If yes, there must be the problem: each task have to get own SyncOperation. You've got pool of 4 frames, so you have to assign 4 different SyncOperations tothe tasks, and reuse them after they are done.
Kind regards,
Vassili
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, the same m_pmfxSession->SyncOperation function call, but each task has it's own syncopid.
After two frames everything works.
The first frame doesn't get to task list, because MFXEncode returns result code, that the frame needs to be cached when coding with 1 B frame.
After two frames everything works.
The first frame doesn't get to task list, because MFXEncode returns result code, that the frame needs to be cached when coding with 1 B frame.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Could you please provide some info so that we can better understand what may be going on here.
Are you using HW acceleration?
Could you please provide some info so that we can better understand what may be going on here.
Are you using HW acceleration?
What version of Media SDK are you using?
Could you also please capture a log using the Media SDK tracer tool (turn on pre frame logging) and share the log with us.
Regards,
Could you also please capture a log using the Media SDK tracer tool (turn on pre frame logging) and share the log with us.
Regards,
Petter
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page