- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
we are developing a video playback and recording system using the Intel Media SDK. Experiments are conducted on two platforms:
A) The test system based on i5 4590T + Windows 7
B) The target hardware using an i5 6600 + Windows 8.1 Embedded.
Both systems use the same SDK version. System B has the latest graphics drivers, while system A uses some close to up-to-date drivers (since the latest versions support only 6th generation CPUs for now).
The software we developed so far runs smoothly on system A but has an issue on system B. The issue is observed when using MFXVideoENCODE and having it process (at least) one frame. If done, deleting the MFXVideoENCODE object does something to the mfxSession, which causes a heap corruption when deleting the respective MFXVideoSession later on.
The issue can easily be reproduced using the older (but very convenient) simple_3_encode provided with the package mediasdk-tutorials-0.0.3. We did the following modifications:
1st) We added
#define _CRTDBG_MAP_ALLOC
#include "crtdbg.h"
for getting a better overview of memory related issues
2nd) We added { } braces so that the variable "session" (constructed after the sink initialization) goes out of scope after mfxENC.Close() is called and surfaces are freed.
Running the code in debug mode breaks to MFXVideoSession::Close with the message "HEAP: Free Heap block xxxxx modified at yyyyy after it was freed" showing on the output.
Playing around, we declared MFXVideoSession::m_session as a public member and set it to NULL before "session" goes out of scope. This kind of "solves" the problem in terms of crashing. However, it causes some memory to leak, which isn't really acceptable either.
Is this a known issue with current drivers or the current SDK? As said, none of this can be observed on our hardware configuration A. Also, MFXVideoDECODE works fine on our hardware configuration B.
Thanks for any advice,
Peter
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
PS:
Yes, it's a very long story...
:)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Peter
Problem still exists. We tested the applications on the latest beta drivers 20.19.15.4474. The problem is also observed when using your samples provided with the SDK.
"Free Heap block XX modified at YY after it was freed" (comment #11) occurs during a call
mfxStatus MFX_DISP_HANDLE::UnLoadSelectedDLL(void) { ... mfxRes = (*(mfxStatus (MFX_CDECL *) (mfxSession)) pFunc) (session); ... }
p.s At the moment, we had to turn off hardware encoding and decoding on the 6th generation processors. In this situation, we use the nvenc sdk for the transmission of 1080p/4K content...
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »