| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/gpu/vt_video_decode_accelerator_mac.h" | 5 #include "media/gpu/vt_video_decode_accelerator_mac.h" |
| 6 | 6 |
| 7 #include <CoreVideo/CoreVideo.h> | 7 #include <CoreVideo/CoreVideo.h> |
| 8 #include <OpenGL/CGLIOSurface.h> | 8 #include <OpenGL/CGLIOSurface.h> |
| 9 #include <OpenGL/gl.h> | 9 #include <OpenGL/gl.h> |
| 10 #include <stddef.h> | 10 #include <stddef.h> |
| (...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 &data_size, // &sample_size_array | 743 &data_size, // &sample_size_array |
| 744 sample.InitializeInto()); | 744 sample.InitializeInto()); |
| 745 if (status) { | 745 if (status) { |
| 746 NOTIFY_STATUS("CMSampleBufferCreate()", status, SFT_PLATFORM_ERROR); | 746 NOTIFY_STATUS("CMSampleBufferCreate()", status, SFT_PLATFORM_ERROR); |
| 747 return; | 747 return; |
| 748 } | 748 } |
| 749 | 749 |
| 750 // Send the frame for decoding. | 750 // Send the frame for decoding. |
| 751 // Asynchronous Decompression allows for parallel submission of frames | 751 // Asynchronous Decompression allows for parallel submission of frames |
| 752 // (without it, DecodeFrame() does not return until the frame has been | 752 // (without it, DecodeFrame() does not return until the frame has been |
| 753 // decoded). We don't enable Temporal Processing so that frames are always | 753 // decoded). We don't enable Temporal Processing because we are not passing |
| 754 // returned in decode order; this makes it easier to avoid deadlock. | 754 // timestamps anyway. |
| 755 VTDecodeFrameFlags decode_flags = | 755 VTDecodeFrameFlags decode_flags = |
| 756 kVTDecodeFrame_EnableAsynchronousDecompression; | 756 kVTDecodeFrame_EnableAsynchronousDecompression; |
| 757 status = VTDecompressionSessionDecodeFrame( | 757 status = VTDecompressionSessionDecodeFrame( |
| 758 session_, | 758 session_, |
| 759 sample, // sample_buffer | 759 sample, // sample_buffer |
| 760 decode_flags, // decode_flags | 760 decode_flags, // decode_flags |
| 761 reinterpret_cast<void*>(frame), // source_frame_refcon | 761 reinterpret_cast<void*>(frame), // source_frame_refcon |
| 762 nullptr); // &info_flags_out | 762 nullptr); // &info_flags_out |
| 763 if (status) { | 763 if (status) { |
| 764 NOTIFY_STATUS("VTDecompressionSessionDecodeFrame()", status, | 764 NOTIFY_STATUS("VTDecompressionSessionDecodeFrame()", status, |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1141 SupportedProfile profile; | 1141 SupportedProfile profile; |
| 1142 profile.profile = supported_profile; | 1142 profile.profile = supported_profile; |
| 1143 profile.min_resolution.SetSize(16, 16); | 1143 profile.min_resolution.SetSize(16, 16); |
| 1144 profile.max_resolution.SetSize(4096, 2160); | 1144 profile.max_resolution.SetSize(4096, 2160); |
| 1145 profiles.push_back(profile); | 1145 profiles.push_back(profile); |
| 1146 } | 1146 } |
| 1147 return profiles; | 1147 return profiles; |
| 1148 } | 1148 } |
| 1149 | 1149 |
| 1150 } // namespace media | 1150 } // namespace media |
| OLD | NEW |