| 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 |