| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright 2015 The WebRTC project authors. All Rights Reserved. |    2  *  Copyright 2015 The WebRTC project authors. All Rights Reserved. | 
|    3  * |    3  * | 
|    4  *  Use of this source code is governed by a BSD-style license |    4  *  Use of this source code is governed by a BSD-style license | 
|    5  *  that can be found in the LICENSE file in the root of the source |    5  *  that can be found in the LICENSE file in the root of the source | 
|    6  *  tree. An additional intellectual property rights grant can be found |    6  *  tree. An additional intellectual property rights grant can be found | 
|    7  *  in the file PATENTS.  All contributing project authors may |    7  *  in the file PATENTS.  All contributing project authors may | 
|    8  *  be found in the AUTHORS file in the root of the source tree. |    8  *  be found in the AUTHORS file in the root of the source tree. | 
|    9  */ |    9  */ | 
|   10  |   10  | 
| (...skipping 776 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  787       RTC_CHECK_EQ(0, stride % 2); |  787       RTC_CHECK_EQ(0, stride % 2); | 
|  788       RTC_CHECK_EQ(0, slice_height % 2); |  788       RTC_CHECK_EQ(0, slice_height % 2); | 
|  789       const int uv_stride = stride / 2; |  789       const int uv_stride = stride / 2; | 
|  790       const int u_slice_height = slice_height / 2; |  790       const int u_slice_height = slice_height / 2; | 
|  791       const uint8_t* y_ptr = payload; |  791       const uint8_t* y_ptr = payload; | 
|  792       const uint8_t* u_ptr = y_ptr + stride * slice_height; |  792       const uint8_t* u_ptr = y_ptr + stride * slice_height; | 
|  793       const uint8_t* v_ptr = u_ptr + uv_stride * u_slice_height; |  793       const uint8_t* v_ptr = u_ptr + uv_stride * u_slice_height; | 
|  794       libyuv::I420Copy(y_ptr, stride, |  794       libyuv::I420Copy(y_ptr, stride, | 
|  795                        u_ptr, uv_stride, |  795                        u_ptr, uv_stride, | 
|  796                        v_ptr, uv_stride, |  796                        v_ptr, uv_stride, | 
|  797                        frame_buffer->MutableDataY(), |  797                        frame_buffer->MutableData(webrtc::kYPlane), | 
|  798                        frame_buffer->StrideY(), |  798                        frame_buffer->stride(webrtc::kYPlane), | 
|  799                        frame_buffer->MutableDataU(), |  799                        frame_buffer->MutableData(webrtc::kUPlane), | 
|  800                        frame_buffer->StrideU(), |  800                        frame_buffer->stride(webrtc::kUPlane), | 
|  801                        frame_buffer->MutableDataV(), |  801                        frame_buffer->MutableData(webrtc::kVPlane), | 
|  802                        frame_buffer->StrideV(), |  802                        frame_buffer->stride(webrtc::kVPlane), | 
|  803                        width, height); |  803                        width, height); | 
|  804     } else { |  804     } else { | 
|  805       // All other supported formats are nv12. |  805       // All other supported formats are nv12. | 
|  806       const uint8_t* y_ptr = payload; |  806       const uint8_t* y_ptr = payload; | 
|  807       const uint8_t* uv_ptr = y_ptr + stride * slice_height; |  807       const uint8_t* uv_ptr = y_ptr + stride * slice_height; | 
|  808       libyuv::NV12ToI420( |  808       libyuv::NV12ToI420( | 
|  809           y_ptr, stride, |  809           y_ptr, stride, | 
|  810           uv_ptr, stride, |  810           uv_ptr, stride, | 
|  811           frame_buffer->MutableDataY(), |  811           frame_buffer->MutableData(webrtc::kYPlane), | 
|  812           frame_buffer->StrideY(), |  812           frame_buffer->stride(webrtc::kYPlane), | 
|  813           frame_buffer->MutableDataU(), |  813           frame_buffer->MutableData(webrtc::kUPlane), | 
|  814           frame_buffer->StrideU(), |  814           frame_buffer->stride(webrtc::kUPlane), | 
|  815           frame_buffer->MutableDataV(), |  815           frame_buffer->MutableData(webrtc::kVPlane), | 
|  816           frame_buffer->StrideV(), |  816           frame_buffer->stride(webrtc::kVPlane), | 
|  817           width, height); |  817           width, height); | 
|  818     } |  818     } | 
|  819     // Return output byte buffer back to codec. |  819     // Return output byte buffer back to codec. | 
|  820     jni->CallVoidMethod( |  820     jni->CallVoidMethod( | 
|  821         *j_media_codec_video_decoder_, |  821         *j_media_codec_video_decoder_, | 
|  822         j_return_decoded_byte_buffer_method_, |  822         j_return_decoded_byte_buffer_method_, | 
|  823         output_buffer_index); |  823         output_buffer_index); | 
|  824     if (CheckException(jni)) { |  824     if (CheckException(jni)) { | 
|  825       ALOGE << "returnDecodedOutputBuffer error"; |  825       ALOGE << "returnDecodedOutputBuffer error"; | 
|  826       return false; |  826       return false; | 
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  986     webrtc::VideoDecoder* decoder) { |  986     webrtc::VideoDecoder* decoder) { | 
|  987   ALOGD << "Destroy video decoder."; |  987   ALOGD << "Destroy video decoder."; | 
|  988   delete decoder; |  988   delete decoder; | 
|  989 } |  989 } | 
|  990  |  990  | 
|  991 const char* MediaCodecVideoDecoder::ImplementationName() const { |  991 const char* MediaCodecVideoDecoder::ImplementationName() const { | 
|  992   return "MediaCodec"; |  992   return "MediaCodec"; | 
|  993 } |  993 } | 
|  994  |  994  | 
|  995 }  // namespace webrtc_jni |  995 }  // namespace webrtc_jni | 
| OLD | NEW |