Moving video type convert functionality to libyuv. deleting vplibConversions as it is no longer needed.
Review URL: http://webrtc-codereview.appspot.com/338002 git-svn-id: http://webrtc.googlecode.com/svn/trunk@1298 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
9b377aa1da
commit
e39de16fa5
@ -15,6 +15,7 @@
|
|||||||
#ifndef WEBRTC_COMMON_VIDEO_LIBYUV_INCLUDE_LIBYUV_H_
|
#ifndef WEBRTC_COMMON_VIDEO_LIBYUV_INCLUDE_LIBYUV_H_
|
||||||
#define WEBRTC_COMMON_VIDEO_LIBYUV_INCLUDE_LIBYUV_H_
|
#define WEBRTC_COMMON_VIDEO_LIBYUV_INCLUDE_LIBYUV_H_
|
||||||
|
|
||||||
|
#include "common_types.h" // RawVideoTypes.
|
||||||
#include "typedefs.h"
|
#include "typedefs.h"
|
||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
@ -43,6 +44,10 @@ enum VideoType {
|
|||||||
kNumberOfVideoTypes
|
kNumberOfVideoTypes
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Conversion between the RawVideoType and the LibYuv videoType.
|
||||||
|
// TODO(wu): Consolidate types into one type throughout WebRtc.
|
||||||
|
VideoType RawVideoTypeToCommonVideoVideoType(RawVideoType type);
|
||||||
|
|
||||||
// Supported rotation
|
// Supported rotation
|
||||||
// Direction of rotation - clockwise.
|
// Direction of rotation - clockwise.
|
||||||
enum VideoRotationMode {
|
enum VideoRotationMode {
|
||||||
|
@ -21,6 +21,38 @@
|
|||||||
|
|
||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
|
|
||||||
|
VideoType RawVideoTypeToCommonVideoVideoType(RawVideoType type) {
|
||||||
|
switch (type) {
|
||||||
|
case kVideoI420:
|
||||||
|
return kI420;
|
||||||
|
case kVideoIYUV:
|
||||||
|
return kIYUV;
|
||||||
|
case kVideoRGB24:
|
||||||
|
return kRGB24;
|
||||||
|
case kVideoARGB:
|
||||||
|
return kARGB;
|
||||||
|
case kVideoARGB4444:
|
||||||
|
return kARGB4444;
|
||||||
|
case kVideoRGB565:
|
||||||
|
return kRGB565;
|
||||||
|
case kVideoARGB1555:
|
||||||
|
return kARGB1555;
|
||||||
|
case kVideoYUY2:
|
||||||
|
return kYUY2;
|
||||||
|
case kVideoYV12:
|
||||||
|
return kYV12;
|
||||||
|
case kVideoUYVY:
|
||||||
|
return kUYVY;
|
||||||
|
case kVideoNV21:
|
||||||
|
return kNV21;
|
||||||
|
case kVideoNV12:
|
||||||
|
return kNV12;
|
||||||
|
default:
|
||||||
|
assert(false);
|
||||||
|
}
|
||||||
|
return kUnknown;
|
||||||
|
}
|
||||||
|
|
||||||
int CalcBufferSize(VideoType type, int width, int height) {
|
int CalcBufferSize(VideoType type, int width, int height) {
|
||||||
int bits_per_pixel = 32;
|
int bits_per_pixel = 32;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
|
@ -37,13 +37,11 @@
|
|||||||
'video_capture_config.h',
|
'video_capture_config.h',
|
||||||
'video_capture_delay.h',
|
'video_capture_delay.h',
|
||||||
'video_capture_impl.h',
|
'video_capture_impl.h',
|
||||||
'vplib_conversions.h',
|
|
||||||
'device_info_impl.h',
|
'device_info_impl.h',
|
||||||
|
|
||||||
# DEFINE PLATFORM INDEPENDENT SOURCE FILES
|
# DEFINE PLATFORM INDEPENDENT SOURCE FILES
|
||||||
'video_capture_factory.cc',
|
'video_capture_factory.cc',
|
||||||
'video_capture_impl.cc',
|
'video_capture_impl.cc',
|
||||||
'vplib_conversions.cc',
|
|
||||||
'device_info_impl.cc',
|
'device_info_impl.cc',
|
||||||
],
|
],
|
||||||
'conditions': [
|
'conditions': [
|
||||||
|
@ -9,13 +9,14 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "video_capture_impl.h"
|
#include "video_capture_impl.h"
|
||||||
#include "trace.h"
|
|
||||||
|
#include "common_video/libyuv/include/libyuv.h"
|
||||||
#include "critical_section_wrapper.h"
|
#include "critical_section_wrapper.h"
|
||||||
#include "tick_util.h"
|
|
||||||
#include "vplib_conversions.h"
|
|
||||||
#include "video_capture_config.h"
|
|
||||||
#include "module_common_types.h"
|
#include "module_common_types.h"
|
||||||
#include "ref_count.h"
|
#include "ref_count.h"
|
||||||
|
#include "tick_util.h"
|
||||||
|
#include "trace.h"
|
||||||
|
#include "video_capture_config.h"
|
||||||
|
|
||||||
#ifdef WEBRTC_ANDROID
|
#ifdef WEBRTC_ANDROID
|
||||||
#include "video_capture_android.h" // Need inclusion here to set Java environment.
|
#include "video_capture_android.h" // Need inclusion here to set Java environment.
|
||||||
@ -304,7 +305,7 @@ WebRtc_Word32 VideoCaptureImpl::IncomingFrame(WebRtc_UWord8* videoFrame,
|
|||||||
|
|
||||||
if (frameInfo.codecType == kVideoCodecUnknown) // None encoded. Convert to I420.
|
if (frameInfo.codecType == kVideoCodecUnknown) // None encoded. Convert to I420.
|
||||||
{
|
{
|
||||||
const VideoType commonVideoType = videocapturemodule::
|
const VideoType commonVideoType =
|
||||||
RawVideoTypeToCommonVideoVideoType(frameInfo.rawType);
|
RawVideoTypeToCommonVideoVideoType(frameInfo.rawType);
|
||||||
int size = CalcBufferSize(commonVideoType, width, height);
|
int size = CalcBufferSize(commonVideoType, width, height);
|
||||||
if (size != videoFrameLength)
|
if (size != videoFrameLength)
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Use of this source code is governed by a BSD-style license
|
|
||||||
* that can be found in the LICENSE file in the root of the source
|
|
||||||
* tree. An additional intellectual property rights grant can be found
|
|
||||||
* in the file PATENTS. All contributing project authors may
|
|
||||||
* be found in the AUTHORS file in the root of the source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "vplib_conversions.h"
|
|
||||||
|
|
||||||
namespace webrtc
|
|
||||||
{
|
|
||||||
namespace videocapturemodule
|
|
||||||
{
|
|
||||||
VideoType RawVideoTypeToCommonVideoVideoType(RawVideoType type)
|
|
||||||
{
|
|
||||||
switch (type)
|
|
||||||
{
|
|
||||||
case kVideoI420:
|
|
||||||
return kI420;
|
|
||||||
case kVideoIYUV:
|
|
||||||
return kIYUV;
|
|
||||||
case kVideoRGB24:
|
|
||||||
return kRGB24;
|
|
||||||
case kVideoARGB:
|
|
||||||
return kARGB;
|
|
||||||
case kVideoARGB4444:
|
|
||||||
return kARGB4444;
|
|
||||||
case kVideoRGB565:
|
|
||||||
return kRGB565;
|
|
||||||
case kVideoARGB1555:
|
|
||||||
return kARGB1555;
|
|
||||||
case kVideoYUY2:
|
|
||||||
return kYUY2;
|
|
||||||
case kVideoYV12:
|
|
||||||
return kYV12;
|
|
||||||
case kVideoUYVY:
|
|
||||||
return kUYVY;
|
|
||||||
case kVideoNV21:
|
|
||||||
return kNV21;
|
|
||||||
case kVideoNV12:
|
|
||||||
return kNV12;
|
|
||||||
default:
|
|
||||||
assert(!"RawVideoTypeToCommonVideoVideoType unknown type");
|
|
||||||
}
|
|
||||||
return kUnknown;
|
|
||||||
}
|
|
||||||
} //namespace videocapturemodule
|
|
||||||
}//namespace webrtc
|
|
@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Use of this source code is governed by a BSD-style license
|
|
||||||
* that can be found in the LICENSE file in the root of the source
|
|
||||||
* tree. An additional intellectual property rights grant can be found
|
|
||||||
* in the file PATENTS. All contributing project authors may
|
|
||||||
* be found in the AUTHORS file in the root of the source tree.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_VPLIB_CONVERSIONS_H_
|
|
||||||
#define WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_VPLIB_CONVERSIONS_H_
|
|
||||||
|
|
||||||
#include "video_capture.h"
|
|
||||||
#include "common_video/libyuv/include/libyuv.h"
|
|
||||||
|
|
||||||
// TODO (mikhal): Update file name
|
|
||||||
namespace webrtc
|
|
||||||
{
|
|
||||||
namespace videocapturemodule
|
|
||||||
{
|
|
||||||
VideoType RawVideoTypeToCommonVideoVideoType(RawVideoType type);
|
|
||||||
} // namespace videocapturemodule
|
|
||||||
} // namespace webrtc
|
|
||||||
#endif // WEBRTC_MODULES_VIDEO_CAPTURE_MAIN_SOURCE_VPLIB_CONVERSIONS_H_
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user