Hardware decode doesn't work on all macOS hardware. |
||||
Issue descriptionChrome Version: 64.0.3282.119 (Official Build) beta (64-bit) OS: Mac OS X 10.11.6 (15G18013) GPU: NVIDIA GeForce GTX 950 What steps will reproduce the problem? (1) Browse to https://vimeo.com/134530201 (2) Click "play" then the gear to select 4K stream (3) Go fullscreen What is the expected result? Smooth playback, enjoy the beautiful scenery What happens instead? Video freezes every ~10 seconds with audio dropping out. It's not regular, sometimes the freezes are 5 seconds apart, sometimes they are closer to 15. The freezes last 1 second or so. Note: I was able to watch all the way through with Safari 11.0.3 without any freezes on the same hardware Part of chrome://gpu (can paste all if interested): Graphics Feature Status Canvas: Hardware accelerated CheckerImaging: Enabled Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Hardware accelerated Rasterization: Software only, hardware acceleration unavailable Video Decode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated
,
Jan 29 2018
Looks like Safari is allowing hardware decode for 8K content, but we're not getting it in Chrome. Might just need to increase these values: https://cs.chromium.org/chromium/src/media/gpu/vt_video_decode_accelerator_mac.c?l=1349 I don't have a Mac to test with today, but will try on Wednesday and land an update to these values if it works. Generally the risks with updating these values are if they trigger some bad OS path, so +ccameron in case he's aware of any worries here.
,
Jan 29 2018
https://chromium-review.googlesource.com/#/c/chromium/src/+/891667 updates the limits.
,
Jan 29 2018
To clarify: The video in question was *shot* in 8K. The bitstream is 4K. Here is a grab from chrome://media-internals. render_id: 212 player_id: 0 origin_url: https://vimeo.com/ frame_url: https://vimeo.com/134530201 frame_title: PATAGONIA 8K on Vimeo url: blob:https://vimeo.com/b6fc44c5-689c-4327-a592-fc3a67ff35f4 info: video decoder config changed midstream, new config: codec: h264 format: 2 profile: h264 high coded size: [3840,2160] visible rect: [0,0,3840,2160] natural size: [3840,2160] has extra data? false encrypted? false rotation: 0° pipeline_state: kPlaying found_video_stream: true video_codec_name: h264 found_audio_stream: true audio_codec_name: aac audio_dds: false audio_decoder: FFmpegAudioDecoder debug: (Log limit reached. Further similar entries may be suppressed): Parsed video frame has DTS 734066us, which is after the frame's PTS 667333us video_dds: false video_decoder: FFmpegVideoDecoder duration: 271.96 video_buffering_state: BUFFERING_HAVE_ENOUGH height: 2160 width: 3840 audio_buffering_state: BUFFERING_HAVE_ENOUGH pipeline_buffering_state: BUFFERING_HAVE_ENOUGH event: PAUSE
,
Jan 29 2018
Ah, thanks; that would mean macOS is rejecting our attempt to create a 4K hardware decoder then for some reason. It's possible something is wrong with your computer. I'll check what happens on my mac on Wednesday.
,
Jan 29 2018
tguilbert@ just tested and it's working on his macbook pro. What mac device do you have that has a GTX 950 in it?
,
Jan 29 2018
The GTX 950 is my own build. Maybe this is a bug with the NVidia drivers for it. However I saw similar symptoms with my corp Mac Pro (AMD FirePro D500 3072 MB). Here is what chrome://gpu has to say about it. Video Acceleration Information Decode h264 baseline up to 4096x2160 pixels Decode h264 extended up to 4096x2160 pixels Decode h264 main up to 4096x2160 pixels Decode h264 high up to 4096x2160 pixels Log Messages [34363:775:0129/095122.976724:WARNING:ipc_message_attachment_set.cc(49)] : MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [34363:775:0129/095155.827418:WARNING:ipc_message_attachment_set.cc(49)] : MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [34363:775:0129/095454.769028:WARNING:ipc_message_attachment_set.cc(49)] : MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [34363:775:0129/110649.239516:ERROR:gpu_video_decode_accelerator.cc(367)] : HW video decode not available for profile h264 baseline [34363:775:0129/113325.632034:WARNING:ipc_message_attachment_set.cc(49)] : MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [34363:775:0129/114211.029082:WARNING:ipc_message_attachment_set.cc(49)] : MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [34363:775:0129/115232.194103:WARNING:ipc_message_attachment_set.cc(49)] : MessageAttachmentSet destroyed with unconsumed attachments: 0/1 [34363:775:0129/125024.448092:ERROR:gpu_video_decode_accelerator.cc(367)] : HW video decode not available for profile h264 high
,
Jan 29 2018
If you are testing, make sure you click the gear icon and manually pick the 4K stream. Vimeo will choose a lower resolution stream by default.
,
Jan 29 2018
Another data point: The full 8K stream at https://www.youtube.com/watch?v=ChOhcHD8fBA plays fine (fullscreen at 2560 x 1600) on the corp Mac pro. So software decode of VP9 seems to not be a bottleneck. render_id: 537 player_id: 38 origin_url: https://www.youtube.com/ frame_url: https://www.youtube.com/watch?v=ChOhcHD8fBA frame_title: PATAGONIA 8K - YouTube url: blob:https://www.youtube.com/70e99365-8285-4d24-a374-cd9cfb707c4b info: Selected video track: [] pipeline_state: kSuspended found_video_stream: true video_codec_name: vp9 found_audio_stream: true audio_codec_name: opus audio_dds: false audio_decoder: FFmpegAudioDecoder video_dds: false video_decoder: VpxVideoDecoder height: 4320 width: 7680 video_buffering_state: BUFFERING_HAVE_ENOUGH audio_buffering_state: BUFFERING_HAVE_ENOUGH pipeline_buffering_state: BUFFERING_HAVE_ENOUGH event: PAUSE duration: 271.901 seek_target: 5.773504
,
Jan 29 2018
Yes we manually selected the 4K stream. That's definitely unusual that the same machine can play 2160p30 VP9 but has trouble with equivalent H264 content. Vimeo does tend to use higher bitrate material though, so it may be that the 4K stream there is higher in overall complexity. You might check http://xorax.sea/short/star2160p.mp4 to see if you get GpuVideoDecoder/smooth playback on the corp machine.
,
Feb 1 2018
Checked my macbook today and had the same results as Thomas. Does your corp Mac Pro actually have hardware decode in Safari? ISTR something about the Mac Pros not getting hardware decode at all for some reason.
,
Feb 1 2018
I've abandoned the 8K H264 CL above, trying it on a Macbook results in worse performance than the ffmpeg software decoder, so it seems likely macOS is also trying a software decoder under the hood.
,
Feb 1 2018
Updating title to reflect what seems to be going on.
,
Feb 13 2018
#11: The exact condition is that hardware accelerated video decode on OS X is performed by Intel GPUs only. Hybrid graphics are supported. Apple does ship some Mac Pros that are AMD-only, and consequently do not support hardware decode. I am not aware of any NVidia-only configurations, but perhaps this one is unusual. mfoltz@: Can you provide the full chrome://gpu information?
,
Mar 8 2018
,
Mar 9 2018
Thank you so much
,
Mar 9 2018
Thank you so much |
||||
►
Sign in to add a comment |
||||
Comment 1 by mfo...@chromium.org
, Jan 27 2018