Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(497)

Side by Side Diff: content/common/gpu/media/vaapi_video_encode_accelerator.h

Issue 813693006: Add accelerated video decoder interface, VP8 and H.264 implementations and hook up to V4L2SVDA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ 5 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_
6 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ 6 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_
7 7
8 #include <list> 8 #include <list>
9 #include <queue> 9 #include <queue>
10 10
11 #include "base/memory/linked_ptr.h" 11 #include "base/memory/linked_ptr.h"
12 #include "base/threading/thread.h" 12 #include "base/threading/thread.h"
13 #include "content/common/content_export.h" 13 #include "content/common/content_export.h"
14 #include "content/common/gpu/media/h264_dpb.h"
15 #include "content/common/gpu/media/va_surface.h" 14 #include "content/common/gpu/media/va_surface.h"
15 #include "content/common/gpu/media/vaapi_h264_dpb.h"
16 #include "content/common/gpu/media/vaapi_wrapper.h" 16 #include "content/common/gpu/media/vaapi_wrapper.h"
17 #include "media/filters/h264_bitstream_buffer.h" 17 #include "media/filters/h264_bitstream_buffer.h"
18 #include "media/video/video_encode_accelerator.h" 18 #include "media/video/video_encode_accelerator.h"
19 19
20 namespace content { 20 namespace content {
21 21
22 // A VideoEncodeAccelerator implementation that uses VA-API 22 // A VideoEncodeAccelerator implementation that uses VA-API
23 // (http://www.freedesktop.org/wiki/Software/vaapi) for HW-accelerated 23 // (http://www.freedesktop.org/wiki/Software/vaapi) for HW-accelerated
24 // video encode. 24 // video encode.
25 class CONTENT_EXPORT VaapiVideoEncodeAccelerator 25 class CONTENT_EXPORT VaapiVideoEncodeAccelerator
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 204
205 // Current SPS, PPS and their packed versions. Packed versions are their NALUs 205 // Current SPS, PPS and their packed versions. Packed versions are their NALUs
206 // in AnnexB format *without* emulation prevention three-byte sequences 206 // in AnnexB format *without* emulation prevention three-byte sequences
207 // (those will be added by the driver). 207 // (those will be added by the driver).
208 media::H264SPS current_sps_; 208 media::H264SPS current_sps_;
209 media::H264BitstreamBuffer packed_sps_; 209 media::H264BitstreamBuffer packed_sps_;
210 media::H264PPS current_pps_; 210 media::H264PPS current_pps_;
211 media::H264BitstreamBuffer packed_pps_; 211 media::H264BitstreamBuffer packed_pps_;
212 212
213 // Picture currently being prepared for encode. 213 // Picture currently being prepared for encode.
214 H264Picture current_pic_; 214 VaapiH264Picture current_pic_;
215 215
216 // VA surfaces available for reuse. 216 // VA surfaces available for reuse.
217 std::vector<VASurfaceID> available_va_surface_ids_; 217 std::vector<VASurfaceID> available_va_surface_ids_;
218 218
219 // VA buffers for coded frames. 219 // VA buffers for coded frames.
220 std::vector<VABufferID> available_va_buffer_ids_; 220 std::vector<VABufferID> available_va_buffer_ids_;
221 221
222 // Currently active reference surfaces. 222 // Currently active reference surfaces.
223 RefPicList ref_pic_list0_; 223 RefPicList ref_pic_list0_;
224 224
(...skipping 27 matching lines...) Expand all
252 // thread (it's a member of this class). 252 // thread (it's a member of this class).
253 base::WeakPtr<VaapiVideoEncodeAccelerator> weak_this_; 253 base::WeakPtr<VaapiVideoEncodeAccelerator> weak_this_;
254 base::WeakPtrFactory<VaapiVideoEncodeAccelerator> weak_this_ptr_factory_; 254 base::WeakPtrFactory<VaapiVideoEncodeAccelerator> weak_this_ptr_factory_;
255 255
256 DISALLOW_COPY_AND_ASSIGN(VaapiVideoEncodeAccelerator); 256 DISALLOW_COPY_AND_ASSIGN(VaapiVideoEncodeAccelerator);
257 }; 257 };
258 258
259 } // namespace content 259 } // namespace content
260 260
261 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ 261 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_
OLDNEW
« no previous file with comments | « content/common/gpu/media/vaapi_h264_dpb.cc ('k') | content/common/gpu/media/video_decode_accelerator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698