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 #include <dlfcn.h> | 5 #include <dlfcn.h> |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
472 GLX_BIND_TO_TEXTURE_TARGETS_EXT, GLX_TEXTURE_2D_BIT_EXT, | 472 GLX_BIND_TO_TEXTURE_TARGETS_EXT, GLX_TEXTURE_2D_BIT_EXT, |
473 GLX_BIND_TO_TEXTURE_RGB_EXT, GL_TRUE, | 473 GLX_BIND_TO_TEXTURE_RGB_EXT, GL_TRUE, |
474 GLX_Y_INVERTED_EXT, GL_TRUE, | 474 GLX_Y_INVERTED_EXT, GL_TRUE, |
475 GL_NONE, | 475 GL_NONE, |
476 }; | 476 }; |
477 | 477 |
478 int num_fbconfigs; | 478 int num_fbconfigs; |
479 scoped_ptr_malloc<GLXFBConfig, ScopedPtrXFree> glx_fb_configs( | 479 scoped_ptr_malloc<GLXFBConfig, ScopedPtrXFree> glx_fb_configs( |
480 glXChooseFBConfig(x_display_, DefaultScreen(x_display_), fbconfig_attr, | 480 glXChooseFBConfig(x_display_, DefaultScreen(x_display_), fbconfig_attr, |
481 &num_fbconfigs)); | 481 &num_fbconfigs)); |
482 if (!glx_fb_configs.get()) | 482 if (!glx_fb_configs) |
483 return false; | 483 return false; |
484 if (!num_fbconfigs) | 484 if (!num_fbconfigs) |
485 return false; | 485 return false; |
486 | 486 |
487 fb_config_ = glx_fb_configs.get()[0]; | 487 fb_config_ = glx_fb_configs.get()[0]; |
488 return true; | 488 return true; |
489 } | 489 } |
490 | 490 |
491 bool VaapiH264Decoder::Initialize( | 491 bool VaapiH264Decoder::Initialize( |
492 media::VideoCodecProfile profile, | 492 media::VideoCodecProfile profile, |
(...skipping 1518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2011 for (; output_candidate != not_outputted.end() && | 2011 for (; output_candidate != not_outputted.end() && |
2012 (*output_candidate)->pic_order_cnt <= last_output_poc_ + 2; | 2012 (*output_candidate)->pic_order_cnt <= last_output_poc_ + 2; |
2013 ++output_candidate) { | 2013 ++output_candidate) { |
2014 DCHECK_GE((*output_candidate)->pic_order_cnt, last_output_poc_); | 2014 DCHECK_GE((*output_candidate)->pic_order_cnt, last_output_poc_); |
2015 if (!OutputPic(*output_candidate)) | 2015 if (!OutputPic(*output_candidate)) |
2016 return false; | 2016 return false; |
2017 | 2017 |
2018 if (!(*output_candidate)->ref) { | 2018 if (!(*output_candidate)->ref) { |
2019 // Current picture hasn't been inserted into DPB yet, so don't remove it | 2019 // Current picture hasn't been inserted into DPB yet, so don't remove it |
2020 // if we managed to output it immediately. | 2020 // if we managed to output it immediately. |
2021 if (*output_candidate != pic.get()) | 2021 if (*output_candidate != pic) |
2022 dpb_.RemoveByPOC((*output_candidate)->pic_order_cnt); | 2022 dpb_.RemoveByPOC((*output_candidate)->pic_order_cnt); |
2023 // Mark as unused. | 2023 // Mark as unused. |
2024 UnassignSurfaceFromPoC((*output_candidate)->pic_order_cnt); | 2024 UnassignSurfaceFromPoC((*output_candidate)->pic_order_cnt); |
2025 } | 2025 } |
2026 } | 2026 } |
2027 | 2027 |
2028 // If we haven't managed to output the picture that we just decoded, or if | 2028 // If we haven't managed to output the picture that we just decoded, or if |
2029 // it's a reference picture, we have to store it in DPB. | 2029 // it's a reference picture, we have to store it in DPB. |
2030 if (!pic->outputted || pic->ref) { | 2030 if (!pic->outputted || pic->ref) { |
2031 if (dpb_.IsFull()) { | 2031 if (dpb_.IsFull()) { |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2406 VAAPI_SyncSurface && | 2406 VAAPI_SyncSurface && |
2407 VAAPI_BeginPicture && | 2407 VAAPI_BeginPicture && |
2408 VAAPI_RenderPicture && | 2408 VAAPI_RenderPicture && |
2409 VAAPI_EndPicture && | 2409 VAAPI_EndPicture && |
2410 VAAPI_CreateBuffer && | 2410 VAAPI_CreateBuffer && |
2411 VAAPI_DestroyBuffer && | 2411 VAAPI_DestroyBuffer && |
2412 VAAPI_ErrorStr; | 2412 VAAPI_ErrorStr; |
2413 } | 2413 } |
2414 | 2414 |
2415 } // namespace content | 2415 } // namespace content |
OLD | NEW |