mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
projects/Cuboxi/patches/xbmc: update IMX patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
be7d281f29
commit
7a9505eac2
@ -1,6 +1,6 @@
|
||||
diff -Naur xbmc-gotham-latest.test/configure.in xbmc-wolfgar-imx-wip.test/configure.in
|
||||
--- xbmc-gotham-latest.test/configure.in 2014-01-23 22:58:46.720345686 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/configure.in 2014-01-23 23:04:12.846234320 +0100
|
||||
--- xbmc-gotham-latest.test/configure.in 2014-01-31 18:15:15.409622984 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/configure.in 2014-01-31 18:18:09.534025963 +0100
|
||||
@@ -558,7 +558,7 @@
|
||||
|
||||
AC_ARG_ENABLE([codec],
|
||||
@ -37,28 +37,9 @@ diff -Naur xbmc-gotham-latest.test/configure.in xbmc-wolfgar-imx-wip.test/config
|
||||
# our own pushd/popd functions
|
||||
XB_DIRSTACK="$PWD"
|
||||
diff -Naur xbmc-gotham-latest.test/lib/ffmpeg/libavcodec/arm/dca.h xbmc-wolfgar-imx-wip.test/lib/ffmpeg/libavcodec/arm/dca.h
|
||||
--- xbmc-gotham-latest.test/lib/ffmpeg/libavcodec/arm/dca.h 2014-01-23 22:58:34.315337604 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/lib/ffmpeg/libavcodec/arm/dca.h 2014-01-23 23:04:12.622234510 +0100
|
||||
@@ -30,9 +30,9 @@
|
||||
|
||||
#define decode_blockcodes decode_blockcodes
|
||||
static inline int decode_blockcodes(int code1, int code2, int levels,
|
||||
- int *values)
|
||||
+ int32_t *values)
|
||||
{
|
||||
- int v0, v1, v2, v3, v4, v5;
|
||||
+ int32_t v0, v1, v2, v3, v4, v5;
|
||||
|
||||
__asm__ ("smmul %0, %6, %10 \n"
|
||||
"smmul %3, %7, %10 \n"
|
||||
@@ -101,3 +101,4 @@
|
||||
#endif
|
||||
|
||||
#endif /* AVCODEC_ARM_DCA_H */
|
||||
+
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2014-01-23 22:58:27.848333534 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2014-01-23 23:04:12.268234811 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2014-01-31 18:15:01.973474894 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp 2014-01-31 18:18:05.822022698 +0100
|
||||
@@ -714,7 +714,10 @@
|
||||
* will automatically add "@" instead to enable surroundXX mangling.
|
||||
* We don't want to do that if "default" can handle multichannel
|
||||
@ -105,8 +86,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp x
|
||||
return AE_DEVTYPE_HDMI;
|
||||
else if (name.substr(0, 6) == "iec958" || name.substr(0, 5) == "spdif")
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp 2014-01-23 22:58:27.866333545 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp 2014-01-23 23:04:12.269234810 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp 2014-01-31 18:15:01.999475246 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp 2014-01-31 18:18:05.829022704 +0100
|
||||
@@ -841,7 +841,7 @@
|
||||
_mm_empty();
|
||||
#else /* no SSE2 */
|
||||
@ -117,8 +98,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/AudioEngine/Utils/AEConvert.cpp xb
|
||||
|
||||
return samples << 2;
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp 2014-01-23 22:58:27.759333479 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp 2014-01-23 23:04:12.261234816 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp 2014-01-31 18:15:01.800472552 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCodec.cpp 2014-01-31 18:18:05.731022617 +0100
|
||||
@@ -35,6 +35,9 @@
|
||||
#include "Video/DVDVideoCodecFFmpeg.h"
|
||||
#include "Video/DVDVideoCodecOpenMax.h"
|
||||
@ -159,8 +140,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/DVDFactoryCode
|
||||
if (!hint.software && CSettings::Get().GetBool("videoplayer.usevda"))
|
||||
{
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h 2014-01-23 22:58:27.772333487 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h 2014-01-23 23:04:12.261234816 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h 2014-01-31 18:15:01.813472728 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodec.h 2014-01-31 18:18:05.731022617 +0100
|
||||
@@ -38,7 +38,9 @@
|
||||
class COpenMax;
|
||||
class COpenMaxVideo;
|
||||
@ -195,8 +176,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
};
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 2014-01-23 23:04:12.262234815 +0100
|
||||
@@ -0,0 +1,1733 @@
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.cpp 2014-01-31 18:18:05.743022628 +0100
|
||||
@@ -0,0 +1,1737 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2013 Stephan Rafin
|
||||
+ *
|
||||
@ -232,7 +213,6 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+#include "threads/Atomics.h"
|
||||
+
|
||||
+//#define NO_V4L_RENDERING
|
||||
+//#define V4L_OUTPUT_PROFILE
|
||||
+
|
||||
+#ifdef IMX_PROFILE
|
||||
+static unsigned long long render_ts[30];
|
||||
@ -883,6 +863,10 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ goto VpuOpenError;
|
||||
+ }
|
||||
+
|
||||
+ /* Initialize ts manager */
|
||||
+ m_tsm = createTSManager(0);
|
||||
+ setTSManagerFrameRate(m_tsm, m_hints.fpsrate, m_hints.fpsscale);
|
||||
+
|
||||
+ return true;
|
||||
+
|
||||
+VpuOpenError:
|
||||
@ -1012,14 +996,14 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ #endif
|
||||
+ VpuFrameBuffer *frameBuffer = frameInfo->pDisplayFrameBuf;
|
||||
+ CIMXOutputFrame *outputFrame;
|
||||
+ CIMXRenderingFrames &renderingFrames = CIMXRenderingFrames::GetInstance();
|
||||
+ int i;
|
||||
+ double pts;
|
||||
+ DVDVideoPicture DVDFrame;
|
||||
+
|
||||
+ pts = (double)TSManagerSend2(m_tsm, frameBuffer) / (double)1000.0;
|
||||
+ // FIXME pts = (double)TSManagerSend2(m_tsm, frameBuffer) / (double)1000.0;
|
||||
+ pts = (double)TSManagerSend(m_tsm) / (double)1000.0;
|
||||
+ /* Find Frame given physical address */
|
||||
+ i = renderingFrames.FindBuffer(frameBuffer->pbufY);
|
||||
+ i = m_renderingFrames.FindBuffer(frameBuffer->pbufY);
|
||||
+ if (i == -1)
|
||||
+ {
|
||||
+ CLog::Log(LOGERROR, "%s - V4L buffer not found\n", __FUNCTION__);
|
||||
@ -1052,6 +1036,10 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ DVDFrame.format = RENDER_FMT_IMX;
|
||||
+
|
||||
+ m_decodedFrames.push(DVDFrame);
|
||||
+ if (m_decodedFrames.size() > IMX_MAX_QUEUE_SIZE)
|
||||
+ {
|
||||
+ CLog::Log(LOGERROR, "%s - Too many enqueued decoded frames : %d (Max %d)\n", __FUNCTION__, m_decodedFrames.size(), IMX_MAX_QUEUE_SIZE);
|
||||
+ }
|
||||
+
|
||||
+#ifdef IMX_PROFILE
|
||||
+ DVDFrame.imxOutputFrame->pushTS = get_time();
|
||||
@ -1156,6 +1144,11 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ m_tsm = NULL;
|
||||
+ m_convert_bitstream = false;
|
||||
+ m_frameCounter = 0;
|
||||
+ m_usePTS = true;
|
||||
+ if (getenv("IMX_NOPTS") != NULL)
|
||||
+ {
|
||||
+ m_usePTS = false;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+CDVDVideoCodecIMX::~CDVDVideoCodecIMX()
|
||||
@ -1284,8 +1277,6 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ return false;
|
||||
+ }
|
||||
+
|
||||
+ m_tsm = createTSManager(0);
|
||||
+ setTSManagerFrameRate(m_tsm, m_hints.fpsrate, m_hints.fpsscale);
|
||||
+ return true;
|
||||
+}
|
||||
+
|
||||
@ -1381,12 +1372,11 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ VpuDecRetCode ret;
|
||||
+ VpuDecOutFrameInfo frameInfo;
|
||||
+ int decRet = 0;
|
||||
+ int retSatus = 0;
|
||||
+ int retStatus = 0;
|
||||
+ int demuxer_bytes = iSize;
|
||||
+ uint8_t *demuxer_content = pData;
|
||||
+ bool bitstream_convered = false;
|
||||
+ bool retry = false;
|
||||
+ bool bufAvail;
|
||||
+
|
||||
+#ifdef IMX_PROFILE
|
||||
+ static unsigned long long previous, current;
|
||||
@ -1442,7 +1432,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ m_tsSyncRequired = false;
|
||||
+ resyncTSManager(m_tsm, llrint(pts) * 1000, MODE_AI);
|
||||
+ }
|
||||
+ TSManagerReceive2(m_tsm, llrint(pts) * 1000, iSize);
|
||||
+ //TSManagerReceive2(m_tsm, llrint(pts) * 1000, iSize);
|
||||
+ TSManagerReceive(m_tsm, llrint(pts) * 1000);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
@ -1454,12 +1445,11 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ m_tsSyncRequired = false;
|
||||
+ resyncTSManager(m_tsm, llrint(dts) * 1000, MODE_AI);
|
||||
+ }
|
||||
+ TSManagerReceive2(m_tsm, llrint(dts) * 1000, iSize);
|
||||
+ //TSManagerReceive2(m_tsm, llrint(dts) * 1000, iSize);
|
||||
+ TSManagerReceive(m_tsm, llrint(dts) * 1000);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ //CLog::Log(LOGDEBUG, "%s - Query2 : %lld\n", __FUNCTION__, TSManagerQuery2(m_tsm, NULL));
|
||||
+ TSManagerQuery2(m_tsm, NULL);
|
||||
+ inData.nSize = demuxer_bytes;
|
||||
+ inData.pPhyAddr = NULL;
|
||||
+ inData.pVirAddr = demuxer_content;
|
||||
@ -1533,7 +1523,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ {
|
||||
+ CLog::Log(LOGERROR, "%s - VPU error retireving info about consummed frame (%d).\n", __FUNCTION__, ret);
|
||||
+ }
|
||||
+ TSManagerValid2(m_tsm, frameLengthInfo.nFrameLength + frameLengthInfo.nStuffLength, frameLengthInfo.pFrame);
|
||||
+ // FIXME TSManagerValid2(m_tsm, frameLengthInfo.nFrameLength + frameLengthInfo.nStuffLength, frameLengthInfo.pFrame);
|
||||
+ //CLog::Log(LOGDEBUG, "%s - size : %d - key consummed : %x\n", __FUNCTION__, frameLengthInfo.nFrameLength + frameLengthInfo.nStuffLength, frameLengthInfo.pFrame);
|
||||
+ }//VPU_DEC_ONE_FRM_CONSUMED
|
||||
+
|
||||
@ -1541,7 +1531,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ (decRet & VPU_DEC_OUTPUT_MOSAIC_DIS))
|
||||
+ /* Frame ready to be displayed */
|
||||
+ {
|
||||
+ if (retSatus & VC_PICTURE)
|
||||
+ if (retStatus & VC_PICTURE)
|
||||
+ CLog::Log(LOGERROR, "%s - Second picture in the same decode call !\n", __FUNCTION__);
|
||||
+
|
||||
+ ret = VPU_DecGetOutputFrame(m_vpuHandle, &frameInfo);
|
||||
@ -1552,7 +1542,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ }
|
||||
+ if (VpuPushFrame(&frameInfo))
|
||||
+ {
|
||||
+ retSatus |= VC_PICTURE;
|
||||
+ retStatus |= VC_PICTURE;
|
||||
+ }
|
||||
+ } //VPU_DEC_OUTPUT_DIS
|
||||
+
|
||||
@ -1583,7 +1573,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ {
|
||||
+ CLog::Log(LOGERROR, "%s - VPU flush failed(%d).\n", __FUNCTION__, ret);
|
||||
+ }
|
||||
+ retSatus = VC_FLUSHED;
|
||||
+ retStatus = VC_FLUSHED;
|
||||
+ }
|
||||
+ if (decRet & VPU_DEC_OUTPUT_EOS)
|
||||
+ {
|
||||
@ -1615,40 +1605,31 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ } while (retry == true);
|
||||
+ } //(pData && iSize)
|
||||
+
|
||||
+#ifdef V4L_OUTPUT_PROFILE
|
||||
+ CLog::Log(LOGDEBUG, "%s - QF : %d - HW : %d/%d/%d\n", __FUNCTION__,
|
||||
+ (int)m_decodedFrames.size(), GetAvailableBufferNb(),
|
||||
+ m_extraVpuBuffers, m_vpuFrameBufferNum);
|
||||
+#endif
|
||||
+
|
||||
+ bufAvail = GetAvailableBufferNb() > (m_vpuFrameBufferNum - m_extraVpuBuffers);
|
||||
+ retSatus &= (~VC_PICTURE);
|
||||
+
|
||||
+ // If there are still buffers left, fill them
|
||||
+ if (bufAvail)
|
||||
+ if (GetAvailableBufferNb() > (m_vpuFrameBufferNum - m_extraVpuBuffers))
|
||||
+ {
|
||||
+ retSatus |= VC_BUFFER;
|
||||
+ CLog::Log(LOGDEBUG, "%s - want more data\n", __FUNCTION__);
|
||||
+ retStatus |= VC_BUFFER;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (!m_decodedFrames.empty())
|
||||
+ retSatus |= VC_PICTURE;
|
||||
+ else if (retSatus == 0) {
|
||||
+ if (retStatus == 0) {
|
||||
+ /* No Picture ready and Not enough VPU buffers. It should NOT happen so log dedicated error */
|
||||
+ CLog::Log(LOGERROR, "%s - Not hw buffer available. Waiting for 5ms\n", __FUNCTION__);
|
||||
+ CLog::Log(LOGERROR, "%s - Not hw buffer available. Waiting for 2ms\n", __FUNCTION__);
|
||||
+ /* Lets wait for the IPU to free a buffer. Anyway we have several decoded frames ready */
|
||||
+ usleep(2000);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (bitstream_convered)
|
||||
+ free(demuxer_content);
|
||||
+ free(demuxer_content);
|
||||
+
|
||||
+ retStatus &= (~VC_PICTURE);
|
||||
+ if (m_decodedFrames.size() >= IMX_MAX_QUEUE_SIZE)
|
||||
+ retStatus |= VC_PICTURE;
|
||||
+
|
||||
+#ifdef IMX_PROFILE
|
||||
+ CLog::Log(LOGDEBUG, "%s - returns %x - duration %lld\n", __FUNCTION__, retSatus, get_time() - previous);
|
||||
+ CLog::Log(LOGDEBUG, "%s - returns %x - duration %lld\n", __FUNCTION__, retStatus, get_time() - previous);
|
||||
+#endif
|
||||
+ return retSatus;
|
||||
+ return retStatus;
|
||||
+
|
||||
+out_error:
|
||||
+ if (bitstream_convered)
|
||||
@ -1728,6 +1709,10 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+#endif
|
||||
+
|
||||
+ pDvdVideoPicture->pts = DVDFrame.pts;
|
||||
+ if (!m_usePTS)
|
||||
+ {
|
||||
+ pDvdVideoPicture->pts = DVD_NOPTS_VALUE;
|
||||
+ }
|
||||
+ pDvdVideoPicture->dts = DVDFrame.dts;
|
||||
+ pDvdVideoPicture->iWidth = DVDFrame.iWidth;
|
||||
+ pDvdVideoPicture->iHeight = DVDFrame.iHeight;
|
||||
@ -1745,7 +1730,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ pDvdVideoPicture->imxOutputFrame = DVDFrame.imxOutputFrame;
|
||||
+
|
||||
+#ifdef V4L_OUTPUT_PROFILE
|
||||
+ CLog::Log(LOGDEBUG, "%s - QF : %d - HW : %d/%d/%d\n", __FUNCTION__,
|
||||
+ CLog::Log(LOGDEBUG, "%s - QF : %d - HWfre : %d/%d/%d\n",
|
||||
+ (int)m_decodedFrames.size(), GetAvailableBufferNb(),
|
||||
+ m_extraVpuBuffers, m_vpuFrameBufferNum);
|
||||
+#endif
|
||||
@ -1932,8 +1917,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+}
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.h xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.h
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.h 2014-01-23 23:04:12.262234815 +0100
|
||||
@@ -0,0 +1,190 @@
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecIMX.h 2014-01-31 18:18:05.743022628 +0100
|
||||
@@ -0,0 +1,191 @@
|
||||
+#pragma once
|
||||
+/*
|
||||
+ * Copyright (C) 2010-2013 Team XBMC
|
||||
@ -2097,6 +2082,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+ VpuV4LFrameBuffer *m_outputBuffers; // Table of V4L buffers out of VPU (index is V4L buf index) (used to call properly VPU_DecOutFrameDisplayed)
|
||||
+ std::queue <DVDVideoPicture> m_decodedFrames; // Decoded Frames ready to be retrieved by GetPicture
|
||||
+ int m_frameCounter; // Decoded frames counter
|
||||
+ bool m_usePTS; // State whether pts out of decoding process should be used
|
||||
+
|
||||
+ /* FIXME : Rework is still required for fields below this line */
|
||||
+
|
||||
@ -2125,8 +2111,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideo
|
||||
+
|
||||
+};
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in 2014-01-23 22:58:27.759333479 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in 2014-01-23 23:04:12.261234816 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in 2014-01-31 18:15:01.800472552 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in 2014-01-31 18:18:05.731022617 +0100
|
||||
@@ -23,6 +23,22 @@
|
||||
SRCS += OpenMaxVideo.cpp
|
||||
SRCS += DVDVideoCodecOpenMax.cpp
|
||||
@ -2152,7 +2138,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile
|
||||
SRCS += DVDVideoCodecAmlogic.cpp
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.c xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.c
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.c 2014-01-23 23:04:12.262234815 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.c 2014-01-31 18:18:05.743022628 +0100
|
||||
@@ -0,0 +1,752 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2010-2012, Freescale Semiconductor, Inc. All rights reserved.
|
||||
@ -2908,7 +2894,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_
|
||||
+}
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.h xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.h
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.h 2014-01-23 23:04:12.261234816 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_ts.h 2014-01-31 18:18:05.731022617 +0100
|
||||
@@ -0,0 +1,170 @@
|
||||
+/*
|
||||
+ * Copyright (c) 2010-2012, Freescale Semiconductor, Inc. All rights reserved.
|
||||
@ -3081,8 +3067,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDCodecs/Video/mfw_gst_
|
||||
+
|
||||
+#endif /*_TIMESTAMP_H_ */
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2014-01-23 22:58:27.826333521 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2014-01-23 23:04:12.267234811 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2014-01-31 18:15:01.946474529 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp 2014-01-31 18:18:05.793022672 +0100
|
||||
@@ -994,6 +994,7 @@
|
||||
case RENDER_FMT_CVBREF: return "BGRA";
|
||||
case RENDER_FMT_EGLIMG: return "EGLIMG";
|
||||
@ -3092,8 +3078,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/dvdplayer/DVDPlayerVideo.cpp xbmc-
|
||||
case RENDER_FMT_NONE: return "NONE";
|
||||
}
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp 2014-01-23 22:58:27.715333452 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp 2014-01-23 23:04:12.259234818 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp 2014-01-31 18:15:01.764472065 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp 2014-01-31 18:18:05.730022616 +0100
|
||||
@@ -20,6 +20,10 @@
|
||||
|
||||
//#define DEBUG_VERBOSE 1
|
||||
@ -3286,8 +3272,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.c
|
||||
void CLinuxRendererGLES::AddProcessor(CDVDMediaCodecInfo *mediacodec, int index)
|
||||
{
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h 2014-01-23 22:58:27.711333449 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h 2014-01-23 23:04:12.259234818 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h 2014-01-31 18:15:01.761472024 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h 2014-01-31 18:18:05.730022616 +0100
|
||||
@@ -42,6 +42,7 @@
|
||||
class COpenMaxVideo;
|
||||
class CDVDVideoCodecStageFright;
|
||||
@ -3317,8 +3303,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/LinuxRendererGLES.h
|
||||
CDVDVideoCodecStageFright* stf;
|
||||
EGLImageKHR eglimg;
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderFormats.h xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/RenderFormats.h
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderFormats.h 2014-01-23 22:58:27.714333451 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/RenderFormats.h 2014-01-23 23:04:12.259234818 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderFormats.h 2014-01-31 18:15:01.763472051 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/RenderFormats.h 2014-01-31 18:18:05.730022616 +0100
|
||||
@@ -35,6 +35,7 @@
|
||||
RENDER_FMT_OMXEGL,
|
||||
RENDER_FMT_CVBREF,
|
||||
@ -3328,8 +3314,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderFormats.h xbm
|
||||
RENDER_FMT_MEDIACODEC,
|
||||
};
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderManager.cpp xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/RenderManager.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderManager.cpp 2014-01-23 22:58:27.712333450 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/RenderManager.cpp 2014-01-23 23:04:12.259234818 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderManager.cpp 2014-01-31 18:15:01.762472038 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/cores/VideoRenderers/RenderManager.cpp 2014-01-31 18:18:05.730022616 +0100
|
||||
@@ -920,6 +920,10 @@
|
||||
else if(pic.format == RENDER_FMT_VAAPI)
|
||||
m_pRenderer->AddProcessor(*pic.vaapi, index);
|
||||
@ -3342,24 +3328,40 @@ diff -Naur xbmc-gotham-latest.test/xbmc/cores/VideoRenderers/RenderManager.cpp x
|
||||
else if(pic.format == RENDER_FMT_EGLIMG)
|
||||
m_pRenderer->AddProcessor(pic.stf, pic.eglimg, index);
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/input/linux/LinuxInputDevices.cpp xbmc-wolfgar-imx-wip.test/xbmc/input/linux/LinuxInputDevices.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/input/linux/LinuxInputDevices.cpp 2014-01-23 22:58:25.249331931 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/input/linux/LinuxInputDevices.cpp 2014-01-23 23:04:10.023236994 +0100
|
||||
@@ -1222,7 +1222,8 @@
|
||||
|
||||
if ((now - m_lastHotplugCheck) >= 10)
|
||||
{
|
||||
- CheckHotplugged();
|
||||
+ // Comment for now as it has visible issue on video decoding when USB devices are available
|
||||
+ //CheckHotplugged();
|
||||
m_lastHotplugCheck = now;
|
||||
}
|
||||
}
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/powermanagement/PowerManager.cpp xbmc-wolfgar-imx-wip.test/xbmc/powermanagement/PowerManager.cpp
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/video/dialogs/GUIDialogVideoOSD.cpp xbmc-wolfgar-imx-wip.test/xbmc/video/dialogs/GUIDialogVideoOSD.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/video/dialogs/GUIDialogVideoOSD.cpp 2014-01-31 18:14:59.301437729 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/video/dialogs/GUIDialogVideoOSD.cpp 2014-01-31 18:18:05.444022357 +0100
|
||||
@@ -55,6 +55,7 @@
|
||||
|| g_windowManager.IsWindowActive(WINDOW_DIALOG_PVR_OSD_DIRECTOR)
|
||||
|| g_windowManager.IsWindowActive(WINDOW_DIALOG_PVR_OSD_CUTTER)
|
||||
|| g_windowManager.IsWindowActive(WINDOW_DIALOG_OSD_TELETEXT))
|
||||
+
|
||||
// extend show time by original value
|
||||
SetAutoClose(m_showDuration);
|
||||
}
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp 2014-01-31 18:15:01.575469507 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp 2014-01-31 18:18:05.666022562 +0100
|
||||
@@ -17,6 +17,7 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
+#include <linux/fb.h>
|
||||
|
||||
#include "EGLNativeTypeAmlogic.h"
|
||||
#include "guilib/gui3d.h"
|
||||
@@ -24,7 +25,6 @@
|
||||
#include "utils/StringUtils.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
-#include <linux/fb.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <EGL/egl.h>
|
||||
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeIMX.cpp xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeIMX.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeIMX.cpp 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeIMX.cpp 2014-01-23 23:04:12.249234827 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeIMX.cpp 2014-01-31 18:18:05.666022562 +0100
|
||||
@@ -0,0 +1,272 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2011-2013 Team XBMC
|
||||
@ -3635,7 +3637,7 @@ diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeIMX.cpp xbmc-
|
||||
+}
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeIMX.h xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeIMX.h
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeIMX.h 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeIMX.h 2014-01-23 23:04:12.249234827 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLNativeTypeIMX.h 2014-01-31 18:18:05.666022562 +0100
|
||||
@@ -0,0 +1,62 @@
|
||||
+#pragma once
|
||||
+
|
||||
@ -3700,8 +3702,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLNativeTypeIMX.h xbmc-wo
|
||||
+
|
||||
+};
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLWrapper.cpp xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLWrapper.cpp
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/EGLWrapper.cpp 2014-01-23 22:58:27.493333312 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLWrapper.cpp 2014-01-23 23:04:12.249234827 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/EGLWrapper.cpp 2014-01-31 18:15:01.583469614 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/EGLWrapper.cpp 2014-01-31 18:18:05.666022562 +0100
|
||||
@@ -17,11 +17,10 @@
|
||||
* <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
@ -3726,8 +3728,8 @@ diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/EGLWrapper.cpp xbmc-wolfga
|
||||
m_nativeTypes = nativeGuess;
|
||||
|
||||
diff -Naur xbmc-gotham-latest.test/xbmc/windowing/egl/Makefile.in xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/Makefile.in
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/Makefile.in 2014-01-23 22:58:27.445333284 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/Makefile.in 2014-01-23 23:04:12.248234828 +0100
|
||||
--- xbmc-gotham-latest.test/xbmc/windowing/egl/Makefile.in 2014-01-31 18:15:01.564469357 +0100
|
||||
+++ xbmc-wolfgar-imx-wip.test/xbmc/windowing/egl/Makefile.in 2014-01-31 18:18:05.665022561 +0100
|
||||
@@ -5,6 +5,7 @@
|
||||
SRCS+= EGLNativeTypeAndroid.cpp
|
||||
SRCS+= EGLNativeTypeRaspberryPI.cpp
|
||||
|
Loading…
x
Reference in New Issue
Block a user