1

I have an Intel(R) Core(TM) i7-4980HQ CPU @ 2.80GHz, which I know supports Intel's Quick Sync.

I'm running the following command in the macOS Terminal to get all the CPU features:

sysctl -n machdep.cpu.features

I get this list of feature codes:

FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX SMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C

What code (if any) in the above list identifies the Quick Sync feature?

Thanks

4
  • 1
    I don't think you'll find one because Quick Sync isn't really part of the x86 CPU. It's more related to the (integrated) GPU (technically, it's separate, but I think it's usually exposed by the graphics driver).
    – Bob
    Apr 15, 2018 at 13:42
  • Thanks Bob. Looking at the macOS GPU info, I don't think its being explicitly listed there either. Hmm.Maybe the system lists videotoolbox encode ability somewhere else. I'm trying to get it via the Terminal to help a script I have which calls different ffmpeg encoders based on the systems ability to use videotoolbox.
    – mwjb
    Apr 15, 2018 at 16:08
  • For now I'm using a command which I found here: jamf.com/jamf-nation/discussions/17512/… system_profiler SPDisplaysDataType | awk -F': ' '/Chipset Model/ {print $2}' | tail -1 Then if it returns anything with "Intel", its currently assumed VideoToolBox (Quick Sync) encoding is available.
    – mwjb
    Apr 15, 2018 at 21:42
  • You should add that as a self-answer (scroll to the bottom of the page).
    – Bob
    Apr 16, 2018 at 2:25

3 Answers 3

1

you should check the lisf of this link: https://ark.intel.com/Search/FeatureFilter?productType=processors&QuickSyncVideo=true if your cpu in this list, you have Quick Synx feartures on your cpu

Also intell defined cpu features code's meaning here below

  1. vme: Virtual 8086 mode enhancements
  2. de: Debugging Extensions (CR4.DE)
  3. pse: Page Size Extensions (4MB memory pages)
  4. tsc: Time Stamp Counter (RDTSC)
  5. msr: Model-Specific Registers (RDMSR, WRMSR)
  6. pae: Physical Address Extensions (support for more than 4GB of RAM)
  7. mce: Machine Check Exception
  8. cx8: CMPXCHG8 instruction (64-bit compare-and-swap)
  9. apic: Onboard APIC
  10. sep: SYSENTER/SYSEXIT
  11. mtrr: Memory Type Range Registers
  12. pge: Page Global Enable (global bit in PDEs and PTEs)
  13. mca: Machine Check Architecture
  14. cmov: CMOV instructions (conditional move) (also FCMOV)
  15. pat: Page Attribute Table
  16. pse36: 36-bit PSEs (huge pages)
  17. pn: Processor serial number
  18. clflush: Cache Line Flush instruction
  19. dts: Debug Store (buffer for debugging and profiling instructions)
  20. acpi: ACPI via MSR (temperature monitoring and clock speed modulation)
  21. mmx: Multimedia Extensions
  22. fxsr: FXSAVE/FXRSTOR, CR4.OSFXSR
  23. sse: Intel SSE vector instructions
  24. sse2: SSE2
  25. ss: CPU self snoop
  26. ht: Hyper-Threading
  27. tm: Automatic clock control (Thermal Monitor)
  28. ia64: Intel Itanium Architecture 64-bit (not to be confused with Intel's 64-30. bit x86 architecture with flag x86-64 or "AMD64" bit indicated by flag lm)
  29. pbe: Pending Break Enable (PBE# pin) wakeup support
  30. fpu: Onboard FPU (floating point support)

you can check following link to get more info from answers https://unix.stackexchange.com/questions/43539/what-do-the-flags-in-proc-cpuinfo-mean

regards

1
  • Brilliant list, thanks so much Faruk. It doesn't look like Quick Sync is exposed by any of those flags, but thats a super useful list. I do know that my CPU has the ability, but (I should have written in the opening question), I want the ability to determine whether a system has the ability to use Quick Sync (videotoolbox) via a Terminal command to set a variable in a script I have.
    – mwjb
    Apr 15, 2018 at 16:10
2

For now I'm using a command which I found here to check for an Intel GPU:

system_profiler SPDisplaysDataType | awk -F': ' '/Chipset Model/ {print $2}' | tail -1

If it returns anything with the text "Intel", its currently assumed VideoToolBox (Quick Sync) encoding is available.

0

I now have a different method which uses the ffmpeg cli. It tests the h264_videotoolbox hardware accelerated encoder. If the test returns 'success' then I know the system supports the hardware accelerated h264 encoding:

ffmpeg -v fatal -y -t 1 -f lavfi -i color=black:1920x1080 -c:v h264_videotoolbox -f null - && echo "success"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .