Jump to content

Black Frames while watching Movies in Quicklook


primalair
 Share

16 posts in this topic

Recommended Posts

Hi there

I'm usually over at tony. But now I've a annoying problem while watching movies, for example 720p mp4, in Quicklook (VTDecoderXPCService) and till now nobody could help... Randomly I see some "black frames" and I've absolutely no idea why. I had this problem before with my Hack as I ran with iMac12.2 SysDev. Activating my HD4000 in addition to my GTX670 fixed that Problem for me. But at this moment I'm running on Mac pro 3.1 because of the popping audio and other energy-management problems i had with iMac12.2.

 

Opening the same movie in Quicktime or iTunes does not show the black frames. I also didn't found any hint in the logfiles.

 

Any ideas?

Thanks and greets from Switzerland

Marcel

Link to comment
Share on other sites

MacPro 3,1 has no graphics power management. try MacPro 5,1 at least. If you get KP at boot from AppleTyMVEDDriver.kext, then delete it.

 

But iMac12.2 had AGPM and i had the issue there as well. Additionally there were a lot of other probems with AGPM because of the missing device properties in the info.plist of the AppleGraphicsPowerManagement.kext... on the other Hand why does it work in QT? I can give it a try with Mac pro 5.1...

Link to comment
Share on other sites

Now i tried multiple configs. The only one which gave me seamless playback in Quicklook was imac12,2 with parallel activated HD4000. Monitor attached to my GTX670.

 

missing / black frames playing movies in Quicklook on all these configs:

mac pro 3,1 GTX 670 only

mac pro 3,1 GTX 670 and HD4000

mac pro 5,1 GTX 670 only

mac pro 5,1 GTX 670 and HD4000

imac 12,2 GTX 670 only

 

Nobody here who has the same setup as I and can check if he has the same behavior?

Link to comment
Share on other sites

Issue is only using quicklook? I've never in my life used quicklook to actually watch a movie :) It really is intended for quickly looking at a file to know what it's contents are, and if it's the file your looking for, then open it using an actual application. It's also very likely then, that it does not provide the same level of hardware acceleration or have the same access to system resources as a stand alone player like Quick Time (launched), VLC, Mplayer, Plex, etc. would provide. All my 1080p content is mkv, so as a alternate example, on my older MacBook, 720p MP4 playing via Quicklook, stutters to the point where, it serves is function of seeing what movie it is, but not watchable. Launched in VLC, plays smooth as butter. Launched and played in Quicktime, still stutters pretty bad, but much less than Quicklook. If you want to test difference in performance using different smbios, run Cinebench or Unigine Heaven 3.0 benchmarks, my guess would iMac 12,1 wins, but by how much?You'll likely see differences in other system benchmarks as well. You could always work instead on fixing popping audio with 12,2 and all the rest becomes a mute point.

Link to comment
Share on other sites

Yes. I've this issue only in Quicklook. I use QL very often. Most time to check if a converted movie is okay after the process is done. It makes no sense to me that it works when i enable the onboard graphics even if i don't use it... There must be a configuration issue... i also tryed it without the "agpm".kext but that has no impact.

Link to comment
Share on other sites

Try this, edited MacPro 5,1 section so you'll need to use that smbios, has gtx670 and HD4000 both, not positive how well that will go down on a MacPro definition for the Intel, but should help out the 670. Make sure you got newest driver too http://www.nvidia.co...f02-driver.html

AppleGraphicsPowerManagement.kext.zip

Link to comment
Share on other sites

Hmmmm if I do so there would be no big difference to a imac 12,2 sys def with edited AGPM... I described how to edit the AGPM for HD4000 and GTX670 on imac12,2 here but i have absolutely no idea what exactly these values are for. :( I only can say that there are no more Console errors after this patch. If i need to edit the AGPM anyway I would prefer to do that on a iMac definition. Do you know about these definitions? The structure seems to be different for a imac or a mac pro. Unfortunately I could not find any documentation about what the values I use exactly do.

 

Here is what i set:

<key>iMac12,2</key>
   <dict>
 <key>Vendor10deDevice1189</key>
 <dict>
  <key>BoostPState</key>
  <array>
   <integer>1</integer>
   <integer>9</integer>
   <integer>9</integer>
   <integer>1</integer>
  </array>
  <key>BoostTime</key>
  <array>
   <integer>1</integer>
   <integer>1</integer>
   <integer>1</integer>
   <integer>1</integer>
  </array>
  <key>Heuristic</key>
  <dict>
   <key>ID</key>
   <integer>4</integer>
   <key>MinP0P1</key>
   <integer>4</integer>
   <key>MinP5</key>
   <integer>11</integer>
   <key>MinP8</key>
   <integer>13</integer>
   <key>MinVP0</key>
   <integer>0</integer>
   <key>MinVP1</key>
   <integer>4</integer>
   <key>MinVP5</key>
   <integer>11</integer>
   <key>MinVP8</key>
   <integer>13</integer>
   <key>NumOfPstates</key>
   <integer>14</integer>
   <key>P0Table</key>
   <array>
    <integer>0</integer>
    <integer>1</integer>
    <integer>2</integer>
    <integer>3</integer>
    <integer>4</integer>
    <integer>5</integer>
    <integer>6</integer>
    <integer>7</integer>
    <integer>8</integer>
    <integer>9</integer>
    <integer>10</integer>
    <integer>11</integer>
    <integer>12</integer>
    <integer>13</integer>
   </array>
   <key>P1Table</key>
   <array>
    <integer>0</integer>
    <integer>1</integer>
    <integer>2</integer>
    <integer>3</integer>
    <integer>4</integer>
    <integer>5</integer>
    <integer>6</integer>
    <integer>7</integer>
    <integer>8</integer>
    <integer>9</integer>
    <integer>10</integer>
    <integer>11</integer>
    <integer>12</integer>
    <integer>13</integer>
   </array>
   <key>SingleTable</key>
   <integer>1</integer>
   <key>VideoPstate</key>
   <integer>9</integer>
  </dict>
  <key>control-id</key>
  <integer>17</integer>
 </dict>
 <key>Vendor8086Device0162</key>
 <dict>
  <key>Heuristic</key>
  <dict>
   <key>EnableOverride</key>
   <integer>0</integer>
   <key>ID</key>
   <integer>2</integer>
  </dict>
  <key>control-id</key>
  <integer>16</integer>
  <key>max-power-state</key>
  <integer>18</integer>
  <key>min-power-state</key>
  <integer>0</integer>
 </dict>

 

Seems to be much more complex than only giving the trash-holds for de PStates. :(

Link to comment
Share on other sites

Also if sound popping is only issue using iMac12,2, and since built-in audio is problematic for that board, USB audio solution may be the way to go. M Audio products usually have OSX support and any brand with C-Media chipsets should also work otb. For cheap analog this one works otb http://www.amazon.com/Syba-SD-CM-UAUD-Adapter-C-Media-Chipset/dp/B001MSS6CS/ref=pd_cp_e_2. I have a M Audio transit 5.1 USB audio that has optical in and out for 5.1 digital recording and/or playback along with analog in/out, it too works otb and although it's 10 years old, M Audio offers a up to date OSX firmware updater driver for it even though it's not really needed, it offers higher bit rates and sample rate than ALC892 so I use it for 24bit/96khz flac audio, but is no longer available new, however comparable affordable options are.

Link to comment
Share on other sites

There is also the antipop solution for fixing this annoying noise. I checked the performance on different sys defs but i didn't wrote it down as Alfa did here. I can confirm that i had the best performance with the imac 12,2 def but the difference was small. My main doubts about using imac sys def is the AGPM tweak because I am absolutely clueless what these settings are doing... I spent hours on the Internet to find more Information but without success...

Link to comment
Share on other sites

optical always FTW! afaik they will effect fan speed more than anything, along with how the card behaves when system is sleeping/waking from sleep. You can see the different power profiles in IOreg

Link to comment
Share on other sites

Well but these are only guesses. I would like to understand what these parameters exactly do. I look forward to the new iMac and the new AGPM profiles that will come along with the new GTX 675MX and GTX 680MX. I'm tensely how they will differ from the current GT 650M profile.

Link to comment
Share on other sites

New iMac AGPM

<key>Mac-FC02E91DDD3FA6A4</key>
   <dict>
 <key>GFX0</key>
 <dict>
  <key>Heuristic</key>
  <dict>
   <key>ID</key>
   <integer>4</integer>
  </dict>
  <key>control-id</key>
  <integer>17</integer>
 </dict>
 <key>IGPU</key>
 <dict>
  <key>Heuristic</key>
  <dict>
   <key>EnableOverride</key>
   <integer>0</integer>
   <key>ID</key>
   <integer>2</integer>
  </dict>
  <key>control-id</key>
  <integer>16</integer>
 </dict>
 <key>Vendor10deDevice0fe0</key>
 <dict>
  <key>BoostPState</key>
  <array>
   <integer>14</integer>
   <integer>14</integer>
   <integer>14</integer>
   <integer>14</integer>
  </array>
  <key>BoostTime</key>
  <array>
   <integer>1</integer>
   <integer>1</integer>
   <integer>1</integer>
   <integer>1</integer>
  </array>
  <key>Heuristic</key>
  <dict>
   <key>EnableEnergyPstate</key>
   <integer>1</integer>
   <key>EnergyDOWNThreshold</key>
   <integer>60</integer>
   <key>EnergyPstate</key>
   <integer>5</integer>
   <key>EnergyUPThreshold</key>
   <integer>80</integer>
   <key>EngineDOWNThreshold</key>
   <integer>15</integer>
   <key>EngineUPThreshold</key>
   <integer>30</integer>
   <key>ID</key>
   <integer>4</integer>
   <key>MemDOWNThreshold</key>
   <integer>30</integer>
   <key>MemUPThreshold</key>
   <integer>50</integer>
   <key>MinP0P1</key>
   <integer>13</integer>
   <key>MinP5</key>
   <integer>14</integer>
   <key>MinP8</key>
   <integer>15</integer>
   <key>MinVP0</key>
   <integer>13</integer>
   <key>MinVP1</key>
   <integer>28</integer>
   <key>MinVP5</key>
   <integer>33</integer>
   <key>MinVP8</key>
   <integer>35</integer>
   <key>NumOfPstates</key>
   <integer>16</integer>
   <key>NumOfVPstates</key>
   <integer>36</integer>
   <key>P0Table</key>
   <array>
    <integer>0</integer>
    <integer>1</integer>
    <integer>2</integer>
    <integer>3</integer>
    <integer>4</integer>
    <integer>5</integer>
    <integer>6</integer>
    <integer>7</integer>
    <integer>8</integer>
    <integer>9</integer>
    <integer>10</integer>
    <integer>11</integer>
    <integer>12</integer>
    <integer>13</integer>
    <integer>33</integer>
    <integer>35</integer>
   </array>
   <key>P1Table</key>
   <array>
    <integer>15</integer>
    <integer>16</integer>
    <integer>17</integer>
    <integer>18</integer>
    <integer>19</integer>
    <integer>20</integer>
    <integer>21</integer>
    <integer>22</integer>
    <integer>23</integer>
    <integer>24</integer>
    <integer>25</integer>
    <integer>26</integer>
    <integer>27</integer>
    <integer>28</integer>
    <integer>33</integer>
    <integer>35</integer>
   </array>
  </dict>
  <key>control-id</key>
  <integer>17</integer>
 </dict>
 <key>Vendor10deDevice11a2</key>
 <dict>
  <key>BoostPState</key>
  <array>
   <integer>12</integer>
   <integer>12</integer>
   <integer>12</integer>
   <integer>12</integer>
  </array>
  <key>BoostTime</key>
  <array>
   <integer>1</integer>
   <integer>1</integer>
   <integer>1</integer>
   <integer>1</integer>
  </array>
  <key>Heuristic</key>
  <dict>
   <key>EnableEnergyPstate</key>
   <integer>1</integer>
   <key>EnergyDOWNThreshold</key>
   <integer>60</integer>
   <key>EnergyPstate</key>
   <integer>5</integer>
   <key>EnergyUPThreshold</key>
   <integer>80</integer>
   <key>EngineDOWNThreshold</key>
   <integer>15</integer>
   <key>EngineUPThreshold</key>
   <integer>30</integer>
   <key>ID</key>
   <integer>4</integer>
   <key>MemDOWNThreshold</key>
   <integer>30</integer>
   <key>MemUPThreshold</key>
   <integer>50</integer>
   <key>MinP0P1</key>
   <integer>11</integer>
   <key>MinP5</key>
   <integer>12</integer>
   <key>MinP8</key>
   <integer>13</integer>
   <key>MinVP0</key>
   <integer>11</integer>
   <key>MinVP1</key>
   <integer>23</integer>
   <key>MinVP5</key>
   <integer>34</integer>
   <key>MinVP8</key>
   <integer>36</integer>
   <key>NumOfPstates</key>
   <integer>14</integer>
   <key>NumOfVPstates</key>
   <integer>37</integer>
   <key>P0Table</key>
   <array>
    <integer>0</integer>
    <integer>1</integer>
    <integer>2</integer>
    <integer>3</integer>
    <integer>4</integer>
    <integer>5</integer>
    <integer>6</integer>
    <integer>7</integer>
    <integer>8</integer>
    <integer>9</integer>
    <integer>10</integer>
    <integer>11</integer>
    <integer>34</integer>
    <integer>36</integer>
   </array>
   <key>P1Table</key>
   <array>
    <integer>12</integer>
    <integer>13</integer>
    <integer>14</integer>
    <integer>15</integer>
    <integer>16</integer>
    <integer>17</integer>
    <integer>18</integer>
    <integer>19</integer>
    <integer>20</integer>
    <integer>21</integer>
    <integer>22</integer>
    <integer>23</integer>
    <integer>34</integer>
    <integer>36</integer>
   </array>
  </dict>
  <key>control-id</key>
  <integer>17</integer>
 </dict>
 <key>Vendor10deDevice11a3</key>
 <dict>
  <key>Heuristic</key>
  <dict>
   <key>EnableEnergyPstate</key>
   <integer>1</integer>
   <key>EnergyDOWNThreshold</key>
   <integer>60</integer>
   <key>EnergyPstate</key>
   <integer>8</integer>
   <key>EnergyUPThreshold</key>
   <integer>80</integer>
   <key>EngineDOWNThreshold</key>
   <integer>15</integer>
   <key>EngineUPThreshold</key>
   <integer>30</integer>
   <key>ID</key>
   <integer>4</integer>
   <key>MemDOWNThreshold</key>
   <integer>30</integer>
   <key>MemUPThreshold</key>
   <integer>50</integer>
   <key>MinP0P1</key>
   <integer>11</integer>
   <key>MinP5</key>
   <integer>12</integer>
   <key>MinP8</key>
   <integer>13</integer>
   <key>MinVP0</key>
   <integer>11</integer>
   <key>MinVP1</key>
   <integer>23</integer>
   <key>MinVP5</key>
   <integer>34</integer>
   <key>MinVP8</key>
   <integer>36</integer>
   <key>NumOfPstates</key>
   <integer>14</integer>
   <key>NumOfVPstates</key>
   <integer>37</integer>
   <key>P0Table</key>
   <array>
    <integer>0</integer>
    <integer>1</integer>
    <integer>2</integer>
    <integer>3</integer>
    <integer>4</integer>
    <integer>5</integer>
    <integer>6</integer>
    <integer>7</integer>
    <integer>8</integer>
    <integer>9</integer>
    <integer>10</integer>
    <integer>11</integer>
    <integer>34</integer>
    <integer>36</integer>
   </array>
   <key>P1Table</key>
   <array>
    <integer>12</integer>
    <integer>13</integer>
    <integer>14</integer>
    <integer>15</integer>
    <integer>16</integer>
    <integer>17</integer>
    <integer>18</integer>
    <integer>19</integer>
    <integer>20</integer>
    <integer>21</integer>
    <integer>22</integer>
    <integer>23</integer>
    <integer>34</integer>
    <integer>36</integer>
   </array>
  </dict>
  <key>control-id</key>
  <integer>17</integer>
 </dict>
   </dict>

 

They differ :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...