From 8cab401d08f8e25aa9b2dc710204785858ff3dbb Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Mon, 15 Sep 2014 11:33:30 -0300 Subject: 3D Physics Rework, Other Stuff -=-=-=-=-=-=-=-=-=-=-=-=-=- 3D Physics: -Fixed "Bounce" parameter in 3D -Fixed bug affecting Area (sometims it would not detect properly) -Vehicle Body has seen heavy work -Added Query API for doing space queries in 3D. Needs some docs though. -Added JOINTS! Adapted Bullet Joints: and created easy gizmos for setting them up: -PinJoint -HingeJoint (with motor) -SliderJoint -ConeTwistJoint -Generic6DOFJoint -Added OBJECT PICKING! based on the new query API. Any physics object now (Area or Body) has the following signals and virtual functions: -input_event (mouse or multitouch input over the body) -mouse_enter (mouse entered the body area) -mouse_exit (mouse exited body area) For Area it needs to be activated manually, as it isn't by default (ray goes thru). Other: -Begun working on Windows 8 (RT) port. Compiles but does not work yet. -Added TheoraPlayer library for improved to-texture and portable video support. -Fixed a few bugs in the renderer, collada importer, collada exporter, etc. --- drivers/theoraplayer/src/YUV/libyuv/yuv_libyuv.c | 72 ++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 drivers/theoraplayer/src/YUV/libyuv/yuv_libyuv.c (limited to 'drivers/theoraplayer/src/YUV/libyuv/yuv_libyuv.c') diff --git a/drivers/theoraplayer/src/YUV/libyuv/yuv_libyuv.c b/drivers/theoraplayer/src/YUV/libyuv/yuv_libyuv.c new file mode 100755 index 0000000000..3712a3b6d6 --- /dev/null +++ b/drivers/theoraplayer/src/YUV/libyuv/yuv_libyuv.c @@ -0,0 +1,72 @@ +/************************************************************************************ +This source file is part of the Theora Video Playback Library +For latest info, see http://libtheoraplayer.googlecode.com +************************************************************************************* +Copyright (c) 2008-2014 Kresimir Spes (kspes@cateia.com) +This program is free software; you can redistribute it and/or modify it under +the terms of the BSD license: http://opensource.org/licenses/BSD-3-Clause +*************************************************************************************/ +#ifdef _YUV_LIBYUV +#include +#include "yuv_util.h" +#include "yuv_libyuv.h" + +void decodeRGB(struct TheoraPixelTransform* t) +{ + I420ToRAW(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 3, t->w, t->h); +} + +void decodeRGBA(struct TheoraPixelTransform* t) +{ + I420ToABGR(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); + _decodeAlpha(incOut(t, 3), t->w * 4); +} + +void decodeRGBX(struct TheoraPixelTransform* t) +{ + I420ToABGR(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); +} + +void decodeARGB(struct TheoraPixelTransform* t) +{ + I420ToBGRA(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); + _decodeAlpha(t, t->w * 4); +} + +void decodeXRGB(struct TheoraPixelTransform* t) +{ + I420ToBGRA(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); +} + +void decodeBGR(struct TheoraPixelTransform* t) +{ + I420ToRGB24(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 3, t->w, t->h); +} + +void decodeBGRA(struct TheoraPixelTransform* t) +{ + I420ToARGB(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); + _decodeAlpha(incOut(t, 3), t->w * 4); +} + +void decodeBGRX(struct TheoraPixelTransform* t) +{ + I420ToARGB(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); +} + +void decodeABGR(struct TheoraPixelTransform* t) +{ + I420ToRGBA(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); + _decodeAlpha(t, t->w * 4); +} + +void decodeXBGR(struct TheoraPixelTransform* t) +{ + I420ToRGBA(t->y, t->yStride, t->u, t->uStride, t->v, t->vStride, t->out, t->w * 4, t->w, t->h); +} + +void initYUVConversionModule() +{ + +} +#endif -- cgit v1.2.3