| 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 // This file contains an implementation of VideoDecodeAccelerator | 5 // This file contains an implementation of VideoDecodeAccelerator |
| 6 // that utilizes hardware video decoders, which expose Video4Linux 2 API | 6 // that utilizes hardware video decoders, which expose Video4Linux 2 API |
| 7 // (http://linuxtv.org/downloads/v4l-dvb-apis/). | 7 // (http://linuxtv.org/downloads/v4l-dvb-apis/). |
| 8 | 8 |
| 9 #ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DECODE_ACCELERATOR_H_ | 9 #ifndef CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DECODE_ACCELERATOR_H_ |
| 10 #define CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DECODE_ACCELERATOR_H_ | 10 #define CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DECODE_ACCELERATOR_H_ |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 // | 268 // |
| 269 // Other utility functions. Called on decoder_thread_, unless | 269 // Other utility functions. Called on decoder_thread_, unless |
| 270 // decoder_thread_ is not yet started, in which case the child thread can call | 270 // decoder_thread_ is not yet started, in which case the child thread can call |
| 271 // these (e.g. in Initialize() or Destroy()). | 271 // these (e.g. in Initialize() or Destroy()). |
| 272 // | 272 // |
| 273 | 273 |
| 274 // Create the buffers we need. | 274 // Create the buffers we need. |
| 275 bool CreateInputBuffers(); | 275 bool CreateInputBuffers(); |
| 276 bool CreateOutputBuffers(); | 276 bool CreateOutputBuffers(); |
| 277 | 277 |
| 278 // Query the hardware for a suitable format that we can use for | 278 // Set input and output formats before starting decode. |
| 279 // importing into EGLImages for output, and set it. | 279 bool SetupFormats(); |
| 280 bool SetupOutputFormat(); | |
| 281 | 280 |
| 282 // | 281 // |
| 283 // Methods run on child thread. | 282 // Methods run on child thread. |
| 284 // | 283 // |
| 285 | 284 |
| 286 // Destroy buffers. | 285 // Destroy buffers. |
| 287 void DestroyInputBuffers(); | 286 void DestroyInputBuffers(); |
| 288 // In contrast to DestroyInputBuffers, which is called only from destructor, | 287 // In contrast to DestroyInputBuffers, which is called only from destructor, |
| 289 // we call DestroyOutputBuffers also during playback, on resolution change. | 288 // we call DestroyOutputBuffers also during playback, on resolution change. |
| 290 // Even if anything fails along the way, we still want to go on and clean | 289 // Even if anything fails along the way, we still want to go on and clean |
| (...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 | 443 |
| 445 // The WeakPtrFactory for |weak_this_|. | 444 // The WeakPtrFactory for |weak_this_|. |
| 446 base::WeakPtrFactory<V4L2VideoDecodeAccelerator> weak_this_factory_; | 445 base::WeakPtrFactory<V4L2VideoDecodeAccelerator> weak_this_factory_; |
| 447 | 446 |
| 448 DISALLOW_COPY_AND_ASSIGN(V4L2VideoDecodeAccelerator); | 447 DISALLOW_COPY_AND_ASSIGN(V4L2VideoDecodeAccelerator); |
| 449 }; | 448 }; |
| 450 | 449 |
| 451 } // namespace content | 450 } // namespace content |
| 452 | 451 |
| 453 #endif // CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DECODE_ACCELERATOR_H_ | 452 #endif // CONTENT_COMMON_GPU_MEDIA_V4L2_VIDEO_DECODE_ACCELERATOR_H_ |
| OLD | NEW |