Jump to content

Video Decode Acceleration on Fermi/... GPUs ?

vda nvidia Video Decode Acceleration Reverse Engineering disassembly development

  • Please log in to reply
12 replies to this topic

#1
iLeopod

iLeopod

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 435 posts
  • Gender:Male
  • Location:Germany
  • Interests:ileopod.wordpress.com
Video Decode Acceleration is not working for me an many others with Nvidia GPUS. I wonder if its possible to get it working with some binpatching.

Things I noticed so far:
  • AppleVAFramework request an higher/other GPU Power state
    AVF error: AVAHDGPURendererVP2VP3BoostVP3: AGPMSetBoost code = 0 returned 0xe00002c2 (ig)
    this error can be hidden by using MacPro 3,1 SMBIOS (completley disables AGPM/VDA)or adding BoostPState to AGPM info.plistbut this is causing safri to crash often
  • when using VDADecodeCheck
    AVF info: Successfully connected to the Intel plugin, offline Gen6
    intel quick sync enables AirPlay Mirroring but VDA is not possible together with a dedicated GPU for me (with HD4000 this is may different)
  • when disabling iGPU in bios and using iMac12,2 SMBIOS and unloading all INTELHD kexts and efi/dsdt info
    AVF info: Successfully connected to the Intel plugin, offline Gen6
    is still present.
The question is what enables VDA: device-id, subsystem-id, GPU name, Architectureand can we patch it like OpenCL?

#2
rvxtm

rvxtm

    InsanelyMac Protégé

  • Members
  • PipPip
  • 95 posts
  • Gender:Male
  • Location:Timisoara, Romania
  • Interests:Tech, Science, Biology, OSX86 stuff
I'm curious about this too, what enables the VDA ? Since 10.7.4 i can't get it to work...

#3
iLeopod

iLeopod

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 435 posts
  • Gender:Male
  • Location:Germany
  • Interests:ileopod.wordpress.com
interesting ... no sure if it was also working with 10.7.4 for me.

The file we should look at are:

/System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
/System/Library/Extensions/GeForceVADriver.bundle/Contents/MacOS/GeForceVADriver

i had a look with otool but no idea where to start.
So skilled Devs in Reverse Engineering are welcome.

#4
rvxtm

rvxtm

    InsanelyMac Protégé

  • Members
  • PipPip
  • 95 posts
  • Gender:Male
  • Location:Timisoara, Romania
  • Interests:Tech, Science, Biology, OSX86 stuff
I needed to use imac 12,1 smbios with powerstates in the graphics power management kext to be able to have vda in 10.7.4 , in 10.7.5, something changed and since then i could not get it to work again... it would be noce if someone could point us in the right direction...

#5
iLeopod

iLeopod

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 435 posts
  • Gender:Male
  • Location:Germany
  • Interests:ileopod.wordpress.com
I've searched for nvidia vendor-ids in files used (ActivityMonitor) by quick time related to VDA:

assuming byte-flipped 10de --> de10


/System/Library/PrivateFrameworks/AppleGVA.framework/Versions/A/AppleGVA
FFCBDE10F381
FAF4DE10F00C
33DDDE10E4DF
0F0000DE100000
8118DE1081E2

/System/Library/Extensions/GeForceVADriver.bundle/Contents/MacOS/GeForceVADriver
C0E2DE10E907


/System/Library/Frameworks/VideoDecodeAcceleration.framework/Versions/A/VideoDecodeAcceleration
none


#6
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 1,956 posts
  • Gender:Male
Link?

#7
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,826 posts
  • Gender:Male
On my nVidia GeForce 9800GT - which is not, of course, a Fermi card - Video Decode Acceleration works without any issues:

Attached File  Screen Shot 2013-04-18 at 12.28.05 AM.png   82.38KB   71 downloads

All the best!

#8
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,826 posts
  • Gender:Male
P.S.: but apparently it's not supported with my Radeon HD 5450 Silent:

Attached File  Screen Shot 2013-04-18 at 1.52.29 AM.png   43.63KB   49 downloads

#9
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,826 posts
  • Gender:Male
Stefe, with me it's quite the opposite: GeForce works fine, my HD5450 refuses to do it.

All the best!

#10
iLeopod

iLeopod

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 435 posts
  • Gender:Male
  • Location:Germany
  • Interests:ileopod.wordpress.com
@ Stefe Hobs how?

@ theconnactic it looks for me that the intel ivy dose the decoding. With intel sandy bridge i have the problem that it will only enable air play mirroring. But at the other hand slow down the system performance.

#11
beta992

beta992

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 338 posts
  • Gender:Male
Any update on this?

21-04-13 19:34:57,669 VDCAssistant[720]: AVF encoder error: fail to create accelerator instance 
21-04-13 19:52:43,390 VDCAssistant[444]: AVF encoder error: fail to create accelerator instance 
21-04-13 19:57:42,421 VDCAssistant[385]: AVF encoder error: fail to create accelerator instance


#12
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,826 posts
  • Gender:Male

@ theconnactic it looks for me that the intel ivy dose the decoding. With intel sandy bridge i have the problem that it will only enable air play mirroring. But at the other hand slow down the system performance.


It works with my Atom netbook, so i think the discrete card also does the decode. Only my HD 5450 refused to support it.

#13
iLeopod

iLeopod

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 435 posts
  • Gender:Male
  • Location:Germany
  • Interests:ileopod.wordpress.com
My Atom Netbook with ION aka 9400m is fully supported too. But the 9800gt was not working for me(broken so cannot test again).





Also tagged with one or more of these keywords: vda, nvidia, Video Decode Acceleration, Reverse Engineering, disassembly, development


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy