Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Krypton wayland #9

Open
wants to merge 59 commits into
base: Krypton
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
6b9b7b4
utils/Variant: use std::to_string() instead of std::ostringstream
MaxKellermann Apr 24, 2017
9ab180b
VideoPlayer: add "override"
MaxKellermann Apr 24, 2017
097e65e
xbmc/gen-compileinfo.mk: set GIT_DIR, fixes out-of-tree build
MaxKellermann Apr 24, 2017
d796b28
xbmc/gen-compileinfo.mk: use $(FILEPATH) for all paths, fixes out-of-…
MaxKellermann Apr 24, 2017
b3a8e26
JsonSchemaBuilder/Makefile: remove unused variable APPBIN
MaxKellermann Apr 24, 2017
9c83280
JsonSchemaBuilder/Makefile: fix the APP path
MaxKellermann Apr 24, 2017
929dcfc
JsonSchemaBuilder/Makefile: simplify rm/mkdir/cp
MaxKellermann Apr 24, 2017
c59c5eb
JsonSchemaBuilder/Makefile: split the target, improve robustness
MaxKellermann Apr 24, 2017
5afcbe5
JsonSchemaBuilder/Makefile: check "cd" success
MaxKellermann Apr 24, 2017
56d8b42
JsonSchemaBuilder/Makefile: build out-of-tree
MaxKellermann Apr 24, 2017
49962c4
guilib/GUIBaseContainer: use std::list for CGUIListItemLayout
MaxKellermann Apr 24, 2017
3757949
Video/RenderManager: move protected #includes out of #if block
MaxKellermann Apr 24, 2017
d449667
Video/RendererVAAPI: allow building with GLES2
MaxKellermann Apr 24, 2017
a63e995
Video/CLinuxRendererGLES: UploadNV12Texture() returns bool
MaxKellermann Apr 24, 2017
8834b58
Video/VAAPI: make compatible with GLES2
MaxKellermann Apr 24, 2017
a228439
Video/VAAPI: use 0 instead of None, which is a libX11 macro
MaxKellermann Apr 24, 2017
30c0994
shaders/yuv2rgb_basic_gles.glsl: support NV12_RRG format
MaxKellermann Apr 24, 2017
e1cda86
tools/depends/target/libdvdcss: generate empty ChangeLog to prevent "…
MaxKellermann Apr 24, 2017
0f21082
lib/gtest: use only FUSED_GTEST_SRC for fused-gtest dependency
MaxKellermann Apr 24, 2017
b8b13ad
lib/gtest: move fused-src to $(builddir)
MaxKellermann Apr 24, 2017
2ab5a33
VideoPlayer: fix race condition in Get(StreamType)
MaxKellermann Apr 24, 2017
22d61c5
VideoPlayer: document that CSelectionStreams::Get() is thread-unsafe
MaxKellermann Apr 24, 2017
0615900
ContextMenuManager: reserve space in CContextButtons
MaxKellermann Apr 24, 2017
8bbabb2
Revert "[cleanup] wayland"
MaxKellermann Apr 24, 2017
b8c0154
system_egl.h: new header wrapping EGL/egl.h
MaxKellermann Apr 24, 2017
ee9297c
Windowing/EGL: add method GetWaylandDisplay()
MaxKellermann Apr 24, 2017
c787165
WINDOW_SYSTEM: add Wayland
mihailescu2m Apr 24, 2017
6bc5441
Wayland: replace Boost with C++11 standard library
MaxKellermann Apr 24, 2017
e1c6fab
windowing/egl/wayland: move to windowing/wayland/
MaxKellermann Apr 24, 2017
8e7bfb4
windowing/wayland/tests/Makefile.in: rename SRCS to GENERATED for out…
MaxKellermann Apr 24, 2017
d717cb3
windowing/test/wayland: fix stringstream<<stringstream operator
MaxKellermann Apr 24, 2017
34e5557
windowing/test/wayland: eliminate boost::tokenizer
MaxKellermann Apr 24, 2017
7caff1a
input/XKBCommonKeymap: include cleanup
MaxKellermann Apr 24, 2017
90e1073
wayland/Keyboard, input/XKBCommonKeymap: eliminate boost::scope_exit
MaxKellermann Apr 24, 2017
bc4d9b4
wayland: Make sure to return the list from Split
smspillaz Apr 24, 2017
73be802
wayland: Move SplitForEach and Split to anonymous namespace
smspillaz Apr 24, 2017
110a5b9
wayland: Don't go from char to string to char to string and back again
smspillaz Apr 24, 2017
9b6d3f7
wayland: WAYLAND_TEST_LIBS comes from AC_SUBST, not the Makefile
smspillaz Apr 24, 2017
99b0ac3
wayland: Don't build tests requiring module if module is not built
smspillaz Apr 24, 2017
54551b6
wayland: Ensure that thread is synchronized before shutting down
smspillaz Apr 24, 2017
5494153
wayland: Make a note that initial pointer position is undefined
smspillaz Apr 24, 2017
45377e3
wayland: Don't include wayland-test-ext stuff if we can't compile it
smspillaz Apr 24, 2017
6457fd5
wayland: Get user-data through container_of
smspillaz Apr 24, 2017
c4997b5
wayland: Go through the view first, then to the surface
smspillaz Apr 24, 2017
b4ed4c0
windowing/wayland: remove the DynamicDll code
MaxKellermann Apr 24, 2017
33b3ff7
windowing/wayland/Display: inline trivial methods
MaxKellermann Apr 24, 2017
196862d
windowing/wayland/Callback: inline trivial methods
MaxKellermann Apr 24, 2017
99dd5cc
Wayland: cmake rules
mihailescu2m Oct 9, 2017
68801ac
windowing/wayland/Compositor: inline trivial methods
MaxKellermann Apr 24, 2017
4fb83d6
windowing/wayland/Keyboard: inline trivial methods
MaxKellermann Apr 24, 2017
2687793
windowing/wayland/Output: inline trivial methods
MaxKellermann Apr 24, 2017
345b849
windowing/wayland/Pointer: inline trivial methods
MaxKellermann Apr 24, 2017
61b0be5
windowing/wayland/Region: inline trivial methods
MaxKellermann Apr 24, 2017
cd23fe8
windowing/wayland/Registry: inline trivial methods
MaxKellermann Apr 24, 2017
d805a62
windowing/wayland/Seat: inline trivial methods
MaxKellermann Apr 24, 2017
0b58d0d
windowing/wayland/Shell: inline trivial methods
MaxKellermann Apr 24, 2017
5e57f61
windowing/wayland/ShellSurface: inline trivial methods
MaxKellermann Apr 24, 2017
001cc9b
windowing/wayland/Surface: inline trivial methods
MaxKellermann Apr 24, 2017
d3d3b5a
replace memcpy with NEON-optimized fast_memcpy function
mihailescu2m Oct 10, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,10 @@ lib/cpluff/stamp-h1
# /xbmc/windowing/
/xbmc/windowing/Makefile
/xbmc/windowing/egl/Makefile
/xbmc/windowing/tests/wayland/xbmc_wayland_test_client_protocol.h
/xbmc/windowing/tests/wayland/xbmc_wayland_test_protocol.c
/xbmc/windowing/tests/wayland/xbmc_wayland_test_server_protocol.h
/xbmc/windowing/tests/wayland/Makefile

# /lib/libdvd/
/lib/libdvd/bin
Expand Down
16 changes: 8 additions & 8 deletions lib/gtest/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -273,20 +273,20 @@ test_fused_gtest_test_CPPFLAGS = -I"$(srcdir)/fused-src"
# Build rules for putting fused Google Test files into the distribution
# package. The user can also create those files by manually running
# scripts/fuse_gtest_files.py.
$(test_fused_gtest_test_SOURCES): fused-gtest
$(FUSED_GTEST_SRC): fused-gtest

fused-gtest: $(pkginclude_HEADERS) $(pkginclude_internal_HEADERS) \
$(GTEST_SRC) src/gtest-all.cc src/gtest_main.cc \
scripts/fuse_gtest_files.py
mkdir -p "$(srcdir)/fused-src"
chmod -R u+w "$(srcdir)/fused-src"
rm -f "$(srcdir)/fused-src/gtest/gtest-all.cc"
rm -f "$(srcdir)/fused-src/gtest/gtest.h"
"$(srcdir)/scripts/fuse_gtest_files.py" "$(srcdir)/fused-src"
cp -f "$(srcdir)/src/gtest_main.cc" "$(srcdir)/fused-src/gtest/"
mkdir -p "$(builddir)/fused-src"
chmod -R u+w "$(builddir)/fused-src"
rm -f "$(builddir)/fused-src/gtest/gtest-all.cc"
rm -f "$(builddir)/fused-src/gtest/gtest.h"
"$(srcdir)/scripts/fuse_gtest_files.py" "$(builddir)/fused-src"
cp -f "$(srcdir)/src/gtest_main.cc" "$(builddir)/fused-src/gtest/"

maintainer-clean-local:
rm -rf "$(srcdir)/fused-src"
rm -rf "$(builddir)/fused-src"
endif

# Death tests may produce core dumps in the build directory. In case
Expand Down
10 changes: 8 additions & 2 deletions project/cmake/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ if(UNIX)
option(ENABLE_INTERNAL_CROSSGUID "Enable internal crossguid?" ON)
option(ENABLE_OPENSSL "Enable OpenSSL?" ON)
option(ENABLE_SDL "Enable SDL?" OFF)
option(ENABLE_WAYLAND "Enable Wayland?" OFF)
if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd)
option(ENABLE_X11 "Enable X11 support?" ON)
option(ENABLE_AML "Enable AML?" OFF)
Expand Down Expand Up @@ -206,8 +207,13 @@ if(NOT WIN32)
else()
core_optional_dep(OpenGLES)
if(OPENGLES_FOUND)
core_optional_dep(X ENABLE_X11)
core_optional_dep(LibDRM ENABLE_X11)
if (ENABLE_WAYLAND)
core_require_dep(Wayland ENABLE_WAYLAND)
core_optional_dep(LibDRM ENABLE_WAYLAND)
else()
core_optional_dep(X ENABLE_X11)
core_optional_dep(LibDRM ENABLE_X11)
endif()
endif()
endif()
if(NOT APPLE)
Expand Down
44 changes: 44 additions & 0 deletions project/cmake/modules/FindWayland.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#.rst:
# FindWayland
# -----------
# Finds the Wayland library
#
# This will will define the following variables::
#
# WAYLAND_FOUND - the system has Wayland
# WAYLAND_INCLUDE_DIRS - the Wayland include directory
# WAYLAND_LIBRARIES - the Wayland libraries
# WAYLAND_DEFINITIONS - the Wayland definitions


if(PKG_CONFIG_FOUND)
pkg_check_modules (PC_WAYLAND wayland-client wayland-egl xkbcommon QUIET)
endif()

find_path(WAYLAND_INCLUDE_DIR NAMES wayland-client.h
PATHS ${PC_WAYLAND_INCLUDE_DIRS})

find_library(WAYLAND_CLIENT_LIBRARY NAMES wayland-client
PATHS ${PC_WAYLAND_LIBRARIES} ${PC_WAYLAND_LIBRARY_DIRS})

find_library(WAYLAND_EGL_LIBRARY NAMES wayland-egl
PATHS ${PC_WAYLAND_LIBRARIES} ${PC_WAYLAND_LIBRARY_DIRS})

find_library(XKBCOMMON_LIBRARY NAMES xkbcommon
PATHS ${PC_WAYLAND_LIBRARIES} ${PC_WAYLAND_LIBRARY_DIRS})

include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (WAYLAND
REQUIRED_VARS
WAYLAND_INCLUDE_DIR
WAYLAND_CLIENT_LIBRARY
WAYLAND_EGL_LIBRARY
XKBCOMMON_LIBRARY)

if (WAYLAND_FOUND)
set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARY} ${WAYLAND_EGL_LIBRARY} ${XKBCOMMON_LIBRARY})
set(WAYLAND_INCLUDE_DIRS ${PC_WAYLAND_INCLUDE_DIRS})
set(WAYLAND_DEFINITIONS -DHAVE_WAYLAND=1)
endif()

mark_as_advanced (WAYLAND_LIBRARY WAYLAND_INCLUDE_DIR)
1 change: 1 addition & 0 deletions project/cmake/treedata/optional/common/wayland.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
xbmc/windowing/wayland windowing/wayland # WAYLAND
7 changes: 7 additions & 0 deletions system/shaders/yuv2rgb_basic_gles.glsl
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,17 @@ uniform mat4 m_yuvmat;
void main()
{
vec4 yuv, rgb;
#if defined(XBMC_NV12_RRG)
yuv.rgba = vec4( texture2D(m_sampY, m_cordY).r
, texture2D(m_sampU, m_cordU).r
, texture2D(m_sampV, m_cordV).g
, 1.0);
#else
yuv.rgba = vec4( texture2D(m_sampY, m_cordY).r
, texture2D(m_sampU, m_cordU).g
, texture2D(m_sampV, m_cordV).a
, 1.0);
#endif

rgb = m_yuvmat * yuv;
rgb.a = m_alpha;
Expand Down
5 changes: 5 additions & 0 deletions tools/depends/native/JsonSchemaBuilder/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/src/Makefile.in
/src/aclocal.m4
/src/*.cache
/src/config/
/src/configure
26 changes: 12 additions & 14 deletions tools/depends/native/JsonSchemaBuilder/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,28 @@ endif

SOURCE=$(ROOT_DIR)/src

CONFIGURE=./configure --prefix=$(PREFIX)
APP=$(SOURCE)/JsonSchemaBuilder
APPBIN=$(PREFIX)/bin/JsonSchemaBuilder
CONFIGURE=$(SOURCE)/configure --prefix=$(PREFIX)
APP=$(PREFIX)/bin/JsonSchemaBuilder

all: .installed-$(PLATFORM)
all: $(APP)

$(PLATFORM):
-rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM)
cd $(PLATFORM); cp -a $(SOURCE)/* .
cd $(PLATFORM); ./autogen.sh
cd $(PLATFORM); $(CONFIGURE)
$(SOURCE)/configure: $(SOURCE)/configure.ac
cd $(SOURCE) && ./autogen.sh

$(PLATFORM)/config.log: $(SOURCE)/configure
rm -rf $(PLATFORM)
mkdir -p $(PLATFORM)
cd $(PLATFORM) && $(CONFIGURE)

$(APP): $(PLATFORM)
$(PLATFORM)/JsonSchemaBuilder: $(PLATFORM)/config.log
$(MAKE) -C $(PLATFORM)


.installed-$(PLATFORM): $(APP)
$(APP): $(PLATFORM)/JsonSchemaBuilder
$(MAKE) -C $(PLATFORM) install
touch $@

clean:
$(MAKE) -C $(PLATFORM) clean

distclean::
rm -rf $(PLATFORM) .installed-$(PLATFORM)
rm -rf $(PLATFORM)
-rm -rf bin
1 change: 1 addition & 0 deletions tools/depends/target/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ linux-system-libs-egl:
[ -f $(PREFIX)/lib/pkgconfig/egl.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/egl.pc $(PREFIX)/lib/pkgconfig/egl.pc
[ -f $(PREFIX)/lib/pkgconfig/damageproto.pc ] || ln -sf /usr/share/pkgconfig/damageproto.pc $(PREFIX)/lib/pkgconfig/damageproto.pc
[ -f $(PREFIX)/lib/pkgconfig/fixesproto.pc ] || ln -sf /usr/share/pkgconfig/fixesproto.pc $(PREFIX)/lib/pkgconfig/fixesproto.pc
[ -f $(PREFIX)/lib/pkgconfig/wayland-egl.pc ] || ln -sf /usr/share/pkgconfig/wayland-egl.pc $(PREFIX)/lib/pkgconfig/wayland-egl.pc
[ -f $(PREFIX)/lib/pkgconfig/x11-xcb.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/x11-xcb.pc $(PREFIX)/lib/pkgconfig/x11-xcb.pc
[ -f $(PREFIX)/lib/pkgconfig/xcb-dri2.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-dri2.pc $(PREFIX)/lib/pkgconfig/xcb-dri2.pc
[ -f $(PREFIX)/lib/pkgconfig/xcb-dri3.pc ] || ln -sf /usr/lib/$(HOST)/pkgconfig/xcb-dri3.pc $(PREFIX)/lib/pkgconfig/xcb-dri3.pc
Expand Down
1 change: 1 addition & 0 deletions tools/depends/target/libdvdcss/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS)
cd $(PLATFORM); $(AUTORECONF) -vif && ac_cv_path_GIT= ./configure $(config)

$(PLATFORM)/.libs/$(LIBNAME).a: $(PLATFORM)
[ -f $(PLATFORM)/ChangeLog ] || touch $(PLATFORM)/ChangeLog
[ -d $(PLATFORM)/.libs ] && [ ! -f $@ ] && $(MAKE) -C $(PLATFORM) clean || :
$(MAKE) -C $(PLATFORM)

Expand Down
1 change: 1 addition & 0 deletions xbmc/ContextMenuManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ bool CONTEXTMENU::ShowFor(const CFileItemPtr& fileItem, const CContextMenuItem&
return true;

CContextButtons buttons;
buttons.reserve(menuItems.size());
for (size_t i = 0; i < menuItems.size(); ++i)
buttons.Add(i, menuItems[i]->GetLabel(*fileItem));

Expand Down
33 changes: 17 additions & 16 deletions xbmc/cores/VideoPlayer/DVDCodecs/DVDCodecUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "DVDClock.h"
#include "cores/VideoPlayer/VideoRenderers/RenderManager.h"
#include "utils/log.h"
#include "utils/fastmemcpy.h"
#include "cores/FFmpeg.h"
#include "Util.h"

Expand Down Expand Up @@ -91,7 +92,7 @@ bool CDVDCodecUtils::CopyPicture(DVDVideoPicture* pDst, DVDVideoPicture* pSrc)

for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[0];
d += pDst->iLineSize[0];
}
Expand All @@ -103,7 +104,7 @@ bool CDVDCodecUtils::CopyPicture(DVDVideoPicture* pDst, DVDVideoPicture* pSrc)
d = pDst->data[1];
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[1];
d += pDst->iLineSize[1];
}
Expand All @@ -112,7 +113,7 @@ bool CDVDCodecUtils::CopyPicture(DVDVideoPicture* pDst, DVDVideoPicture* pSrc)
d = pDst->data[2];
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[2];
d += pDst->iLineSize[2];
}
Expand All @@ -127,13 +128,13 @@ bool CDVDCodecUtils::CopyPicture(YV12Image* pImage, DVDVideoPicture *pSrc)
int h = pImage->height;
if ((w == pSrc->iLineSize[0]) && ((unsigned int) pSrc->iLineSize[0] == pImage->stride[0]))
{
memcpy(d, s, w*h);
fast_memcpy(d, s, w*h);
}
else
{
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[0];
d += pImage->stride[0];
}
Expand All @@ -144,13 +145,13 @@ bool CDVDCodecUtils::CopyPicture(YV12Image* pImage, DVDVideoPicture *pSrc)
h =(pImage->height >> pImage->cshift_y);
if ((w==pSrc->iLineSize[1]) && ((unsigned int) pSrc->iLineSize[1]==pImage->stride[1]))
{
memcpy(d, s, w*h);
fast_memcpy(d, s, w*h);
}
else
{
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[1];
d += pImage->stride[1];
}
Expand All @@ -159,13 +160,13 @@ bool CDVDCodecUtils::CopyPicture(YV12Image* pImage, DVDVideoPicture *pSrc)
d = pImage->plane[2];
if ((w==pSrc->iLineSize[2]) && ((unsigned int) pSrc->iLineSize[2]==pImage->stride[2]))
{
memcpy(d, s, w*h);
fast_memcpy(d, s, w*h);
}
else
{
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[2];
d += pImage->stride[2];
}
Expand Down Expand Up @@ -203,7 +204,7 @@ DVDVideoPicture* CDVDCodecUtils::ConvertToNV12Picture(DVDVideoPicture *pSrc)
uint8_t *d = pPicture->data[0];
for (int y = 0; y < (int)pSrc->iHeight; y++)
{
memcpy(d, s, pSrc->iWidth);
fast_memcpy(d, s, pSrc->iWidth);
s += pSrc->iLineSize[0];
d += pPicture->iLineSize[0];
}
Expand Down Expand Up @@ -294,13 +295,13 @@ bool CDVDCodecUtils::CopyNV12Picture(YV12Image* pImage, DVDVideoPicture *pSrc)
// Copy Y
if ((w == pSrc->iLineSize[0]) && ((unsigned int) pSrc->iLineSize[0] == pImage->stride[0]))
{
memcpy(d, s, w*h);
fast_memcpy(d, s, w*h);
}
else
{
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[0];
d += pImage->stride[0];
}
Expand All @@ -313,13 +314,13 @@ bool CDVDCodecUtils::CopyNV12Picture(YV12Image* pImage, DVDVideoPicture *pSrc)
// Copy packed UV (width is same as for Y as it's both U and V components)
if ((w==pSrc->iLineSize[1]) && ((unsigned int) pSrc->iLineSize[1]==pImage->stride[1]))
{
memcpy(d, s, w*h);
fast_memcpy(d, s, w*h);
}
else
{
for (int y = 0; y < h; y++)
{
memcpy(d, s, w);
fast_memcpy(d, s, w);
s += pSrc->iLineSize[1];
d += pImage->stride[1];
}
Expand All @@ -338,13 +339,13 @@ bool CDVDCodecUtils::CopyYUV422PackedPicture(YV12Image* pImage, DVDVideoPicture
// Copy YUYV
if ((w * 2 == pSrc->iLineSize[0]) && ((unsigned int) pSrc->iLineSize[0] == pImage->stride[0]))
{
memcpy(d, s, w*h*2);
fast_memcpy(d, s, w*h*2);
}
else
{
for (int y = 0; y < h; y++)
{
memcpy(d, s, w*2);
fast_memcpy(d, s, w*2);
s += pSrc->iLineSize[0];
d += pImage->stride[0];
}
Expand Down
5 changes: 3 additions & 2 deletions xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecMFC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#endif

#include "DVDVideoCodecMFC.h"
#include "utils/fastmemcpy.h"

#include <sys/mman.h>
#include <sys/ioctl.h>
Expand Down Expand Up @@ -304,7 +305,7 @@ bool CDVDVideoCodecMFC::Open(CDVDStreamInfo &hints, CDVDCodecOptions &options) {
return false;
// Fill it with the header
sinkBuffer.iBytesUsed[0] = extraSize;
memcpy(sinkBuffer.cPlane[0], extraData, extraSize);
fast_memcpy(sinkBuffer.cPlane[0], extraData, extraSize);
// Enqueue buffer
if (!m_MFCOutput->PushBuffer(&sinkBuffer))
return false;
Expand Down Expand Up @@ -484,7 +485,7 @@ int CDVDVideoCodecMFC::Decode(BYTE* pData, int iSize, double dts, double pts) {
if (m_MFCOutput->GetBuffer(m_Buffer)) {
debug_log(LOGDEBUG, "%s::%s - Got empty buffer %d from MFC Output, filling", CLASSNAME, __func__, m_Buffer->iIndex);
m_Buffer->iBytesUsed[0] = demuxer_bytes;
memcpy((uint8_t *)m_Buffer->cPlane[0], demuxer_content, m_Buffer->iBytesUsed[0]);
fast_memcpy((uint8_t *)m_Buffer->cPlane[0], demuxer_content, m_Buffer->iBytesUsed[0]);
long* longPts = (long*)&pts;
m_Buffer->timeStamp.tv_sec = longPts[0];
m_Buffer->timeStamp.tv_usec = longPts[1];
Expand Down
2 changes: 1 addition & 1 deletion xbmc/cores/VideoPlayer/DVDCodecs/Video/OpenMaxVideo.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
#include <vector>

#include "OpenMax.h"
#include <EGL/egl.h>
#include "system_egl.h"
#include <EGL/eglext.h>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
Expand Down
Loading