- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
mediasdk-man.pdf says:
Header.BufferId- Must be MFX_EXTBUFF_VPP_AUXDATA
SpatialComplexity- Spatial complexity that resulted from scene change detection
TemporalComplexity- Temporal complexity that resulted from scene change detection
SceneChangeRate- Scene change detection rate (0-255) that indicates the likelihood of scene change
RepeatedFrame- If true, indicates that the current frame repeated the previous one
I'm tring to attach this buffer to mfxVideoParam::ExtParam and put it to MFXVideoVPP_Init but I have
MFX_ERR_INVALID_VIDEO_PARAM result after call.
My question is How to use mfxExtVppAuxData structure?
Can somebody help me to understand this feature?
Header.BufferId- Must be MFX_EXTBUFF_VPP_AUXDATA
SpatialComplexity- Spatial complexity that resulted from scene change detection
TemporalComplexity- Temporal complexity that resulted from scene change detection
SceneChangeRate- Scene change detection rate (0-255) that indicates the likelihood of scene change
RepeatedFrame- If true, indicates that the current frame repeated the previous one
I'm tring to attach this buffer to mfxVideoParam::ExtParam and put it to MFXVideoVPP_Init but I have
MFX_ERR_INVALID_VIDEO_PARAM result after call.
My question is How to use mfxExtVppAuxData structure?
Can somebody help me to understand this feature?
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Peter,
mfxExtVppAuxData contains per-frame information.RunFrameVPPAsync will fill this structure if it is passed as an argument. Then user can additionally attach the structure to mfxEncodeCtrl structure so that encoder makes use of this information.
At VPP initialization stage you need to enableMFX_EXTBUFF_VPP_SCENE_ANALYSIS by using DOUSE option, you may also change parameters of scene change alogrithm by attaching anMFX_EXTBUFF_VPP_SCENE_ANALYSIS extended buffer.
Sample_vpp under \samples of Media SDK package shows how to perform these steps.
I hope this helps to understand the feature.
Regards,
Nina
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Peter,
mfxExtVppAuxData contains per-frame information.RunFrameVPPAsync will fill this structure if it is passed as an argument. Then user can additionally attach the structure to mfxEncodeCtrl structure so that encoder makes use of this information.
At VPP initialization stage you need to enableMFX_EXTBUFF_VPP_SCENE_ANALYSIS by using DOUSE option, you may also change parameters of scene change alogrithm by attaching anMFX_EXTBUFF_VPP_SCENE_ANALYSIS extended buffer.
Sample_vpp under \samples of Media SDK package shows how to perform these steps.
I hope this helps to understand the feature.
Regards,
Nina
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Nina,
My code still doesn't work. The aux always get zero value, Can you help to check my code?
Thanks
Paul
mfxExtVPPFrameRateConversion conversion;
memset(&conversion, 0, sizeof(conversion));
conversion.Header.BufferId = MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION;
conversion.Header.BufferSz = sizeof(conversion);
conversion.Algorithm = MFX_FRCALGM_DISTRIBUTED_TIMESTAMP;
mfxU32 vppDoUses[2] = {MFX_EXTBUFF_VPP_SCENE_ANALYSIS, MFX_EXTBUFF_VPP_DENOISE};
mfxExtVPPDoUse doUse;
memset(&doUse, 0, sizeof(doUse));
doUse.Header.BufferId = MFX_EXTBUFF_VPP_DOUSE;
doUse.Header.BufferSz = sizeof(doUse);
doUse.NumAlg = 2;
doUse.AlgList = vppDoUses;
mfxExtBuffer* extBuffers[2];
extBuffers[0] = &doUse.Header;
extBuffers[1] = &conversion.Header;
mVppParam.NumExtParam = 2;
mVppParam.ExtParam = extBuffers;
sts = mVpp->Init(&mVppParam);
mfxExtVppAuxData aux;
memset(&aux, 0, sizeof(aux));
aux.Header.BufferId = MFX_EXTBUFF_VPP_AUXDATA;
aux.Header.BufferSz = sizeof(aux);
sts = mVpp->RunFrameVPPAsync(surface, vppSync.surface, &aux, &vppSync.sync);
My code still doesn't work. The aux always get zero value, Can you help to check my code?
Thanks
Paul
mfxExtVPPFrameRateConversion conversion;
memset(&conversion, 0, sizeof(conversion));
conversion.Header.BufferId = MFX_EXTBUFF_VPP_FRAME_RATE_CONVERSION;
conversion.Header.BufferSz = sizeof(conversion);
conversion.Algorithm = MFX_FRCALGM_DISTRIBUTED_TIMESTAMP;
mfxU32 vppDoUses[2] = {MFX_EXTBUFF_VPP_SCENE_ANALYSIS, MFX_EXTBUFF_VPP_DENOISE};
mfxExtVPPDoUse doUse;
memset(&doUse, 0, sizeof(doUse));
doUse.Header.BufferId = MFX_EXTBUFF_VPP_DOUSE;
doUse.Header.BufferSz = sizeof(doUse);
doUse.NumAlg = 2;
doUse.AlgList = vppDoUses;
mfxExtBuffer* extBuffers[2];
extBuffers[0] = &doUse.Header;
extBuffers[1] = &conversion.Header;
mVppParam.NumExtParam = 2;
mVppParam.ExtParam = extBuffers;
sts = mVpp->Init(&mVppParam);
mfxExtVppAuxData aux;
memset(&aux, 0, sizeof(aux));
aux.Header.BufferId = MFX_EXTBUFF_VPP_AUXDATA;
aux.Header.BufferSz = sizeof(aux);
sts = mVpp->RunFrameVPPAsync(surface, vppSync.surface, &aux, &vppSync.sync);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One more comment, this aux doesn't work on the Hardware version, but do work on the software version.
My laptop is Thinkpad X220 win7 with HD3000 display card.
Is anyway I can upgrade the display card driver?
My laptop is Thinkpad X220 win7 with HD3000 display card.
Is anyway I can upgrade the display card driver?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Paul,
We have confirmed the behavior you describe. It looks like this may be a bug in our HW implementation of this feature. We are currently investigating how to resolve this. I will update this forum thread as soon as I know more about the resolution.
Can you tell me the version of the graphics driver you have installed on your machine?
Thanks for reporting the issue and helping us improve the Media SDK product.
Regards,
We have confirmed the behavior you describe. It looks like this may be a bug in our HW implementation of this feature. We are currently investigating how to resolve this. I will update this forum thread as soon as I know more about the resolution.
Can you tell me the version of the graphics driver you have installed on your machine?
Thanks for reporting the issue and helping us improve the Media SDK product.
Regards,
Petter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Intel HD3000
8.15.10.2538
8.15.10.2538
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Paul,
I have an update on this topic. The Scene Change Detection feature does not work on current or previous generation Intel platforms. We have no plans on resolving the issue. Also, we will likely deprecate the feature on both SW and HW in upcoming Media SDK API release.
So, I'm sorry to say, but I would discourage you from using this feature in your application.
Regards,
I have an update on this topic. The Scene Change Detection feature does not work on current or previous generation Intel platforms. We have no plans on resolving the issue. Also, we will likely deprecate the feature on both SW and HW in upcoming Media SDK API release.
So, I'm sorry to say, but I would discourage you from using this feature in your application.
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