0

I am trying to understand how the default Windows 10 player (called "Films and TV") is able to play FHD (1920 x 1080 x 60fps) videos (shot with GoPro 4) and utilize only around 10% of the CPU, while other players namely VLC and GOM will utilize around 60-70% CPU.

I tried looking at GPU utilization, but even there while using the default Windows 10 player utilization is around 15% vs around 30% when using VLC and GOM.

Right now this looks like magic to me as FHD playback is taxing on the hardware and I can't figure out what is going on. I am thinking the difference will be in the decoder used, but can't find more information.

The CPU / GPU used are Core i5 5200U / Intel HD Graphics 5500

VLC Player CPU utilization: VLC Player CPU utilization

Films and TV CPU utilization Films and TV CPU utilization

This is the info for a sample video file.

General
Format                                   : MPEG-4
Format profile                           : Base Media / Version 1
Codec ID                                 : mp41
File size                                : 2.61 GiB
Duration                                 : 12mn 23s
Overall bit rate mode                    : Variable
Overall bit rate                         : 30.1 Mbps

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.2
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 1 frame
Format settings, GOP                     : M=1, N=30
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 12mn 23s
Bit rate mode                            : Variable
Bit rate                                 : 30.0 Mbps
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.241
Stream size                              : 2.60 GiB (99%)
Title                                    : GoPro AVC
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AAC
Format/Info                              : Advanced Audio Codec
Format profile                           : LC
Codec ID                                 : 40
Duration                                 : 12mn 23s
Bit rate mode                            : Constant
Bit rate                                 : 128 Kbps
Channel(s)                               : 2 channels
Channel positions                        : Front: L R
Sampling rate                            : 48.0 KHz
Compression mode                         : Lossy
Stream size                              : 11.4 MiB (0%)
Title                                    : GoPro AAC

VLC reports the following video output in: Tools -> Messages -> Module Tree -> playlist -> video output

window "qt4" (0x5a738fc)
vout display "direct3d" (0x5a57a34)

subpicture (0xf456b4)
spu text "freetype" (0x5a24264)
scale "yuvp" (0x5a70c1c)
scale "swscale" (0x55a1eac)
  • Probably different renderer and/or filters used with VLC/GOM. In VLC, what does Tools -> Messages -> Module Tree -> playlist -> video output say? – Gyan Mar 2 '16 at 7:29
  • @Mulvya Added the requested info in the body of the post/question. – Filip Nikolov Mar 2 '16 at 18:30
  • Do both players played 1080p? In other words, is your display 1080p and you played the movie full-screen on both tests? If you just play in a small window it is possible that F&TV runs a partial rendering. – avnr Mar 7 '16 at 14:49
  • @avnr My display is 1600 x 900 and player are running maximized, though not in full screen. – Filip Nikolov Mar 9 '16 at 15:24
0

Quite possible that the Windows player can make use of some HW acceleration the others can not / are not using.

Check this how to enable HW video decoding on VLC:

If you are using VLC 2.2.2 check this https://forum.videolan.org/viewtopic.php?t=130590

UPDATE from the author of the question: Adding screenshot from VLC v. 2.2.1 to compliment this answer.

VLC 2.2.1 with Hardware Acceleration enabled. enter image description here

  • Unlikely. Even if so, H/W accel uses GPU and FTV shows half the GPU use as well. – Gyan Mar 3 '16 at 6:22
  • If your gpu does HW video decoding, I don't think it would even register as high GPU usage since it is Hardware Decoding. – Hans Meiser Mar 3 '16 at 7:12
  • The hardware decoder is part of the GPU die, so I'm not sure how that affects my point. – Gyan Mar 3 '16 at 7:21
  • Your point is that HW decoder utilization should register on the GPU graph. Which It not necessarily does if there is a DSP actually doing the processing and not a piece of software that "runs" it's code on the GPU. – Hans Meiser Mar 3 '16 at 7:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.