| 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/v4l2_video_decode_accelerator.h" | 5 #include "media/gpu/v4l2_video_decode_accelerator.h" | 
| 6 | 6 | 
| 7 #include <dlfcn.h> | 7 #include <dlfcn.h> | 
| 8 #include <errno.h> | 8 #include <errno.h> | 
| 9 #include <fcntl.h> | 9 #include <fcntl.h> | 
| 10 #include <linux/videodev2.h> | 10 #include <linux/videodev2.h> | 
| (...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 370 | 370 | 
| 371   for (size_t i = 0; i < output_buffer_map_.size(); ++i) { | 371   for (size_t i = 0; i < output_buffer_map_.size(); ++i) { | 
| 372     DCHECK(buffers[i].size() == egl_image_size_); | 372     DCHECK(buffers[i].size() == egl_image_size_); | 
| 373 | 373 | 
| 374     OutputRecord& output_record = output_buffer_map_[i]; | 374     OutputRecord& output_record = output_buffer_map_[i]; | 
| 375     DCHECK_EQ(output_record.state, kFree); | 375     DCHECK_EQ(output_record.state, kFree); | 
| 376     DCHECK_EQ(output_record.egl_image, EGL_NO_IMAGE_KHR); | 376     DCHECK_EQ(output_record.egl_image, EGL_NO_IMAGE_KHR); | 
| 377     DCHECK_EQ(output_record.egl_sync, EGL_NO_SYNC_KHR); | 377     DCHECK_EQ(output_record.egl_sync, EGL_NO_SYNC_KHR); | 
| 378     DCHECK_EQ(output_record.picture_id, -1); | 378     DCHECK_EQ(output_record.picture_id, -1); | 
| 379     DCHECK_EQ(output_record.cleared, false); | 379     DCHECK_EQ(output_record.cleared, false); | 
| 380     DCHECK_EQ(1u, buffers[i].texture_ids().size()); | 380     DCHECK_EQ(1u, buffers[i].service_texture_ids().size()); | 
| 381     DCHECK(output_record.processor_input_fds.empty()); | 381     DCHECK(output_record.processor_input_fds.empty()); | 
| 382 | 382 | 
| 383     output_record.picture_id = buffers[i].id(); | 383     output_record.picture_id = buffers[i].id(); | 
| 384     output_record.texture_id = buffers[i].texture_ids()[0]; | 384     output_record.texture_id = buffers[i].service_texture_ids()[0]; | 
| 385     // This will remain kAtClient until ImportBufferForPicture is called, either | 385     // This will remain kAtClient until ImportBufferForPicture is called, either | 
| 386     // by the client, or by ourselves, if we are allocating. | 386     // by the client, or by ourselves, if we are allocating. | 
| 387     output_record.state = kAtClient; | 387     output_record.state = kAtClient; | 
| 388 | 388 | 
| 389     if (image_processor_device_) { | 389     if (image_processor_device_) { | 
| 390       std::vector<base::ScopedFD> dmabuf_fds = device_->GetDmabufsForV4L2Buffer( | 390       std::vector<base::ScopedFD> dmabuf_fds = device_->GetDmabufsForV4L2Buffer( | 
| 391           i, output_planes_count_, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); | 391           i, output_planes_count_, V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); | 
| 392       if (dmabuf_fds.empty()) { | 392       if (dmabuf_fds.empty()) { | 
| 393         LOGF(ERROR) << "Failed to get DMABUFs of decoder."; | 393         LOGF(ERROR) << "Failed to get DMABUFs of decoder."; | 
| 394         NOTIFY_ERROR(PLATFORM_FAILURE); | 394         NOTIFY_ERROR(PLATFORM_FAILURE); | 
| (...skipping 2109 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2504       StartResolutionChange(); | 2504       StartResolutionChange(); | 
| 2505   } | 2505   } | 
| 2506 } | 2506 } | 
| 2507 | 2507 | 
| 2508 void V4L2VideoDecodeAccelerator::ImageProcessorError() { | 2508 void V4L2VideoDecodeAccelerator::ImageProcessorError() { | 
| 2509   LOGF(ERROR) << "Image processor error"; | 2509   LOGF(ERROR) << "Image processor error"; | 
| 2510   NOTIFY_ERROR(PLATFORM_FAILURE); | 2510   NOTIFY_ERROR(PLATFORM_FAILURE); | 
| 2511 } | 2511 } | 
| 2512 | 2512 | 
| 2513 }  // namespace media | 2513 }  // namespace media | 
| OLD | NEW | 
|---|