OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 // The bulk of this file is support code; sorry about that. Here's an overview | 5 // The bulk of this file is support code; sorry about that. Here's an overview |
6 // to hopefully help readers of this code: | 6 // to hopefully help readers of this code: |
7 // - RenderingHelper is charged with interacting with X11, EGL, and GLES2. | 7 // - RenderingHelper is charged with interacting with X11, EGL, and GLES2. |
8 // - ClientState is an enum for the state of the decode client used by the test. | 8 // - ClientState is an enum for the state of the decode client used by the test. |
9 // - ClientStateNotification is a barrier abstraction that allows the test code | 9 // - ClientStateNotification is a barrier abstraction that allows the test code |
10 // to be written sequentially and wait for the decode client to see certain | 10 // to be written sequentially and wait for the decode client to see certain |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 std::set<int> outstanding_texture_ids_; | 251 std::set<int> outstanding_texture_ids_; |
252 int remaining_play_throughs_; | 252 int remaining_play_throughs_; |
253 int reset_after_frame_num_; | 253 int reset_after_frame_num_; |
254 int delete_decoder_state_; | 254 int delete_decoder_state_; |
255 ClientState state_; | 255 ClientState state_; |
256 int num_decoded_frames_; | 256 int num_decoded_frames_; |
257 int num_done_bitstream_buffers_; | 257 int num_done_bitstream_buffers_; |
258 PictureBufferById picture_buffers_by_id_; | 258 PictureBufferById picture_buffers_by_id_; |
259 base::TimeTicks initialize_done_ticks_; | 259 base::TimeTicks initialize_done_ticks_; |
260 base::TimeTicks last_frame_delivered_ticks_; | 260 base::TimeTicks last_frame_delivered_ticks_; |
261 int frame_width_; | |
262 int frame_height_; | |
263 int profile_; | 261 int profile_; |
264 }; | 262 }; |
265 | 263 |
266 EglRenderingVDAClient::EglRenderingVDAClient( | 264 EglRenderingVDAClient::EglRenderingVDAClient( |
267 RenderingHelper* rendering_helper, | 265 RenderingHelper* rendering_helper, |
268 int rendering_window_id, | 266 int rendering_window_id, |
269 ClientStateNotification* note, | 267 ClientStateNotification* note, |
270 const std::string& encoded_data, | 268 const std::string& encoded_data, |
271 int num_NALUs_per_decode, | 269 int num_NALUs_per_decode, |
272 int num_in_flight_decodes, | 270 int num_in_flight_decodes, |
273 int num_play_throughs, | 271 int num_play_throughs, |
274 int reset_after_frame_num, | 272 int reset_after_frame_num, |
275 int delete_decoder_state, | 273 int delete_decoder_state, |
276 int frame_width, | 274 int frame_width, |
277 int frame_height, | 275 int frame_height, |
278 int profile) | 276 int profile) |
279 : rendering_helper_(rendering_helper), | 277 : rendering_helper_(rendering_helper), |
280 rendering_window_id_(rendering_window_id), | 278 rendering_window_id_(rendering_window_id), |
281 encoded_data_(encoded_data), num_NALUs_per_decode_(num_NALUs_per_decode), | 279 encoded_data_(encoded_data), num_NALUs_per_decode_(num_NALUs_per_decode), |
282 num_in_flight_decodes_(num_in_flight_decodes), outstanding_decodes_(0), | 280 num_in_flight_decodes_(num_in_flight_decodes), outstanding_decodes_(0), |
283 encoded_data_next_pos_to_decode_(0), next_bitstream_buffer_id_(0), | 281 encoded_data_next_pos_to_decode_(0), next_bitstream_buffer_id_(0), |
284 note_(note), | 282 note_(note), |
285 remaining_play_throughs_(num_play_throughs), | 283 remaining_play_throughs_(num_play_throughs), |
286 reset_after_frame_num_(reset_after_frame_num), | 284 reset_after_frame_num_(reset_after_frame_num), |
287 delete_decoder_state_(delete_decoder_state), | 285 delete_decoder_state_(delete_decoder_state), |
288 state_(CS_CREATED), | 286 state_(CS_CREATED), |
289 num_decoded_frames_(0), num_done_bitstream_buffers_(0), | 287 num_decoded_frames_(0), num_done_bitstream_buffers_(0), |
290 frame_width_(frame_width), | |
291 frame_height_(frame_height), | |
292 profile_(profile) { | 288 profile_(profile) { |
293 CHECK_GT(num_NALUs_per_decode, 0); | 289 CHECK_GT(num_NALUs_per_decode, 0); |
294 CHECK_GT(num_in_flight_decodes, 0); | 290 CHECK_GT(num_in_flight_decodes, 0); |
295 CHECK_GT(num_play_throughs, 0); | 291 CHECK_GT(num_play_throughs, 0); |
296 } | 292 } |
297 | 293 |
298 EglRenderingVDAClient::~EglRenderingVDAClient() { | 294 EglRenderingVDAClient::~EglRenderingVDAClient() { |
299 DeleteDecoder(); // Clean up in case of expected error. | 295 DeleteDecoder(); // Clean up in case of expected error. |
300 CHECK(decoder_deleted()); | 296 CHECK(decoder_deleted()); |
301 STLDeleteValues(&picture_buffers_by_id_); | 297 STLDeleteValues(&picture_buffers_by_id_); |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
816 | 812 |
817 base::ShadowingAtExitManager at_exit_manager; | 813 base::ShadowingAtExitManager at_exit_manager; |
818 RenderingHelper::InitializePlatform(); | 814 RenderingHelper::InitializePlatform(); |
819 | 815 |
820 #if defined(OS_WIN) | 816 #if defined(OS_WIN) |
821 DXVAVideoDecodeAccelerator::PreSandboxInitialization(); | 817 DXVAVideoDecodeAccelerator::PreSandboxInitialization(); |
822 #endif | 818 #endif |
823 | 819 |
824 return RUN_ALL_TESTS(); | 820 return RUN_ALL_TESTS(); |
825 } | 821 } |
OLD | NEW |