Revision: 9207
http://svn.sourceforge.net/xbmc/?rev=9207&view=rev
Author: vulkanr
Date: 2007-06-03 17:19:26 -0700 (Sun, 03 Jun 2007)
Log Message:
-----------
fixed problems with .so loading,
called avcodec register method on load,
fixed issues with ALSA sound,
dvdplayer plays sound. soon - it will play video too.
Modified Paths:
--------------
branches/linuxport/XBMC/xbmc/cores/dvdplayer/ALSADirectSound.cpp
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibDts.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibFaad.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibMad.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLiba52.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/DllAvCodec.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllLibMpeg2.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllPostProc.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DllAvFormat.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
Removed Paths:
-------------
branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/inttypes.h
branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/stdint.h
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/ALSADirectSound.cpp
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/ALSADirectSound.cpp 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/ALSADirectSound.cpp 2007-06-04 00:19:26 UTC (rev 9207)
@@ -86,7 +86,7 @@
nErr = snd_pcm_hw_params_set_period_size_near(m_pPlayHandle, hw_params, &m_maxFrames, 0);
CHECK_ALSA_RETURN(LOGERROR,"hw_params_set_period_size",nErr);
- snd_pcm_uframes_t buffer_size = m_maxFrames * (2 * iChannels) * 2; // buffer big enough for 2 periods
+ snd_pcm_uframes_t buffer_size = m_dwPacketSize * 20; // buffer big enough
nErr = snd_pcm_hw_params_set_buffer_size_near(m_pPlayHandle, hw_params, &buffer_size);
CHECK_ALSA_RETURN(LOGERROR,"hw_params_set_buffer_size",nErr);
@@ -212,20 +212,29 @@
if (!m_pPlayHandle || snd_pcm_avail_update(m_pPlayHandle) < ( len / (2*m_uiChannels)) )
return 0;
- int framesToWrite = len / (2*m_uiChannels);
- int writeResult = snd_pcm_writei(m_pPlayHandle, data, framesToWrite);
+ unsigned char *pcmPtr = data;
+ while ( pcmPtr < data + len) {
+ int nPeriodSize = (m_maxFrames * 2 * m_uiChannels); // write a frame.
+ if ( pcmPtr + nPeriodSize > data + len) {
+ nPeriodSize = data + len - pcmPtr;
+ }
- if ( writeResult == -EPIPE ) {
- CLog::Log(LOGDEBUG, "PAPlayer::AddPacketsToStream - buffer underun (tried to write %d frames)",
- framesToWrite);
- int err = snd_pcm_prepare(m_pPlayHandle);
- CHECK_ALSA(LOGERROR,"prepare after EPIPE", err);
- }
- else if (writeResult != framesToWrite) {
- CLog::Log(LOGERROR, "PAPlayer::AddPacketsToStream - failed to write %d frames. "
+ int framesToWrite = nPeriodSize / (2 * m_uiChannels);
+ int writeResult = snd_pcm_writei(m_pPlayHandle, pcmPtr, framesToWrite);
+ if ( writeResult == -EPIPE ) {
+ CLog::Log(LOGDEBUG, "CALSADirectSound::AddPackets - buffer underun (tried to write %d frames)",
+ framesToWrite);
+ int err = snd_pcm_prepare(m_pPlayHandle);
+ CHECK_ALSA(LOGERROR,"prepare after EPIPE", err);
+ }
+ else if (writeResult != framesToWrite) {
+ CLog::Log(LOGERROR, "CALSADirectSound::AddPackets - failed to write %d frames. "
"bad write (err: %d) - %s",
framesToWrite, writeResult, snd_strerror(writeResult));
- return 0;
+ break;
+ }
+
+ pcmPtr += nPeriodSize;
}
return len;
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -29,4 +29,5 @@
DllAvCodec m_dllAvCodec;
DllAvUtil m_dllAvUtil;
+
};
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibDts.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibDts.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibDts.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -33,7 +33,11 @@
class DllLibDts : public DllDynamic, DllLibDtsInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllLibDts, Q:\\system\\players\\dvdplayer\\libdts.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllLibDts, Q:\\system\\players\\dvdplayer\\libdts-i486-linux.so)
+#endif
DEFINE_METHOD1(dts_state_t *, dts_init, (uint32_t p1))
DEFINE_METHOD6(int, dts_syncinfo, (dts_state_t *p1, uint8_t * p2, int * p3, int * p4, int * p5, int *p6))
DEFINE_METHOD5(int, dts_frame, (dts_state_t * p1, uint8_t * p2, int * p3, level_t * p4, sample_t p5))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibFaad.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibFaad.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibFaad.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -17,7 +17,11 @@
class DllLibFaad : public DllDynamic, DllLibFaadInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllLibFaad, Q:\\system\\players\\dvdplayer\\libfaad.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllLibFaad, Q:\\system\\players\\dvdplayer\\libfaad-i486-linux.so)
+#endif
DEFINE_METHOD0(faacDecHandle, faacDecOpen)
DEFINE_METHOD1(faacDecConfigurationPtr, faacDecGetCurrentConfiguration, (faacDecHandle p1))
DEFINE_METHOD2(unsigned char, faacDecSetConfiguration, (faacDecHandle p1, faacDecConfigurationPtr p2))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibMad.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibMad.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLibMad.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -17,7 +17,11 @@
class DllLibMad : public DllDynamic, DllLibMadInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllLibMad, Q:\\system\\players\\dvdplayer\\libmad.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllLibMad, Q:\\system\\players\\dvdplayer\\libmad-i486-linux.so)
+#endif
DEFINE_METHOD1(void, mad_synth_init, (struct mad_synth * p1))
DEFINE_METHOD1(void, mad_stream_init, (struct mad_stream * p1))
DEFINE_METHOD1(void, mad_frame_init, (struct mad_frame * p1))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLiba52.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLiba52.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Audio/DllLiba52.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -23,7 +23,11 @@
class DllLiba52 : public DllDynamic, DllLiba52Interface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllLiba52, Q:\\system\\players\\dvdplayer\\liba52.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllLiba52, Q:\\system\\players\\dvdplayer\\liba52-i486-linux.so)
+#endif
DEFINE_METHOD1(a52_state_t *, a52_init, (uint32_t p1))
DEFINE_METHOD1(sample_t *, a52_samples, (a52_state_t *p1))
DEFINE_METHOD4(int, a52_syncinfo, (uint8_t * p1, int * p2, int * p3, int * p4))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/DllAvCodec.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/DllAvCodec.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/DllAvCodec.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -19,6 +19,7 @@
class DllAvCodecInterface
{
public:
+ virtual void avcodec_register_all(void)=0;
virtual void avcodec_flush_buffers(AVCodecContext *avctx)=0;
virtual int avcodec_open(AVCodecContext *avctx, AVCodec *codec)=0;
virtual AVCodec *avcodec_find_decoder(enum CodecID id)=0;
@@ -47,8 +48,8 @@
class DllAvCodec : public DllDynamic, DllAvCodecInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllAvCodec, Q:\\system\\players\\dvdplayer\\avcodec-51.dll)
-#ifndef _LINUX
DEFINE_FUNC_ALIGNED1(void, __cdecl, avcodec_flush_buffers, AVCodecContext*)
DEFINE_FUNC_ALIGNED2(int, __cdecl, avcodec_open, AVCodecContext*, AVCodec *)
DEFINE_FUNC_ALIGNED5(int, __cdecl, avcodec_decode_video, AVCodecContext*, AVFrame*, int*, uint8_t*, int)
@@ -59,6 +60,8 @@
DEFINE_FUNC_ALIGNED8(int, __cdecl, av_parser_parse, AVCodecParserContext*,AVCodecContext*, uint8_t**, int*, const uint8_t*, int, int64_t, int64_t)
DEFINE_FUNC_ALIGNED3(void, __cdecl, img_resample, ImgReSampleContext*, AVPicture*, const AVPicture*)
#else
+
+ DECLARE_DLL_WRAPPER(DllAvCodec, Q:\\system\\players\\dvdplayer\\avcodec-51-i486-linux.so)
DEFINE_METHOD1(void, avcodec_flush_buffers, (AVCodecContext* p1))
DEFINE_METHOD2(int, avcodec_open, (AVCodecContext* p1, AVCodec *p2))
DEFINE_METHOD5(int, avcodec_decode_video, (AVCodecContext* p1, AVFrame *p2, int *p3, uint8_t *p4, int p5))
@@ -70,6 +73,7 @@
DEFINE_METHOD3(void, img_resample, (ImgReSampleContext* p1, AVPicture* p2, const AVPicture* p3))
#endif
+ DEFINE_METHOD0(void, avcodec_register_all)
DEFINE_METHOD1(AVCodec*, avcodec_find_decoder, (enum CodecID p1))
DEFINE_METHOD1(int, avcodec_close, (AVCodecContext *p1))
DEFINE_METHOD0(AVFrame*, avcodec_alloc_frame)
@@ -89,6 +93,7 @@
RESOLVE_METHOD(avcodec_find_decoder)
RESOLVE_METHOD(avcodec_close)
RESOLVE_METHOD(avcodec_alloc_frame)
+ RESOLVE_METHOD(avcodec_register_all)
RESOLVE_METHOD(avpicture_fill)
RESOLVE_METHOD(avcodec_decode_video)
RESOLVE_METHOD(avcodec_decode_audio)
@@ -107,6 +112,16 @@
RESOLVE_METHOD(img_resample_close)
RESOLVE_METHOD(av_set_string)
END_METHOD_RESOLVE()
+
+public:
+ virtual bool Load() {
+ bool bLoaded = DllDynamic::Load();
+ if (bLoaded) {
+ avcodec_register_all();
+ CLog::Log(LOGDEBUG,"DllAvCodec loaded");
+ }
+ return bLoaded;
+ }
};
// calback used for logging
@@ -128,7 +143,12 @@
class DllAvUtilBase : public DllDynamic, DllAvUtilInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllAvUtilBase, Q:\\system\\players\\dvdplayer\\avutil-49.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllAvUtilBase, Q:\\system\\players\\dvdplayer\\avutil-51-i486-linux.so)
+#endif
+
#if LIBAVUTIL_VERSION_INT < (50<<16)
DEFINE_METHOD1(void, av_log_set_callback, (void (*p1)(void*, int, const char*, va_list)))
#else
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2007-06-04 00:19:26 UTC (rev 9207)
@@ -38,7 +38,7 @@
pCodec = m_dllAvCodec.avcodec_find_decoder(hints.codec);
if (!pCodec)
{
- CLog::Log(LOGDEBUG,"CDVDVideoCodecFFmpeg::Open() Unable to find codec");
+ CLog::Log(LOGDEBUG,"CDVDVideoCodecFFmpeg::Open() Unable to find codec %d", hints.codec);
return false;
}
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllLibMpeg2.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllLibMpeg2.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllLibMpeg2.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -39,7 +39,11 @@
class DllLibMpeg2 : public DllDynamic, DllLibMpeg2Interface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllLibMpeg2, Q:\\system\\players\\dvdplayer\\libmpeg2.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllLibMpeg2, Q:\\system\\players\\dvdplayer\\libmpeg2-i486-linux.so)
+#endif
DEFINE_METHOD1(uint32_t, mpeg2_accel, (uint32_t p1))
DEFINE_METHOD0(mpeg2dec_t *, mpeg2_init)
DEFINE_METHOD1(const mpeg2_info_t *, mpeg2_info, (mpeg2dec_t * p1))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllPostProc.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllPostProc.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDCodecs/Video/DllPostProc.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -26,7 +26,12 @@
class DllPostProc : public DllDynamic, DllAvCodecInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllPostProc, Q:\\system\\players\\dvdplayer\\postproc-51.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllPostProc, Q:\\system\\players\\dvdplayer\\postproc-51-i486-linux.so)
+#endif
+
DEFINE_METHOD11(void, pp_postprocess, (uint8_t* p1[3], int p2[3], uint8_t * p3[3], int p4[3],
int p5, int p6, QP_STORE_T *p7, int p8,
pp_mode_t *p9, pp_context_t *p10, int p11))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2007-06-04 00:19:26 UTC (rev 9207)
@@ -1,5 +1,6 @@
#include "stdafx.h"
+#include "stdint.h"
#include "DVDDemuxFFmpeg.h"
#include "../DVDInputStreams/DVDInputStream.h"
#include "DVDDemuxUtils.h"
@@ -137,7 +138,7 @@
if (!pInput) return false;
- if (!m_dllAvFormat.Load() || !m_dllAvCodec.Load() || !m_dllAvUtil.Load() ) return false;
+ if (!m_dllAvUtil.Load() || !m_dllAvCodec.Load() || !m_dllAvFormat.Load()) return false;
// register codecs
m_dllAvFormat.av_register_all();
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DllAvFormat.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DllAvFormat.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDDemuxers/DllAvFormat.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -48,7 +48,12 @@
class DllAvFormat : public DllDynamic, DllAvFormatInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllAvFormat, Q:\\system\\players\\dvdplayer\\avformat-51.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllAvFormat, Q:\\system\\players\\dvdplayer\\avformat-51-i486-linux.so)
+#endif
+
DEFINE_METHOD0(void, av_register_all)
DEFINE_METHOD1(AVInputFormat*, av_find_input_format, (const char *p1))
DEFINE_METHOD1(int, url_feof, (ByteIOContext *p1))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDInputStreams/DllDvdNav.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -78,7 +78,12 @@
class DllDvdNav : public DllDynamic, DllDvdNavInterface
{
+#ifndef _LINUX
DECLARE_DLL_WRAPPER(DllDvdNav, Q:\\system\\players\\dvdplayer\\libdvdnav.dll)
+#else
+ DECLARE_DLL_WRAPPER(DllDvdNav, Q:\\system\\players\\dvdplayer\\libdvdnav-i486-linux.so)
+#endif
+
DEFINE_METHOD2(dvdnav_status_t, dvdnav_open, (dvdnav_t **p1, const char *p2))
DEFINE_METHOD1(dvdnav_status_t, dvdnav_close, (dvdnav_t *p1))
DEFINE_METHOD1(dvdnav_status_t, dvdnav_reset, (dvdnav_t *p1))
Modified: branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/DVDPlayerAudio.cpp 2007-06-04 00:19:26 UTC (rev 9207)
@@ -436,7 +436,11 @@
if( result & DECODE_FLAG_RESYNC )
{
m_pClock->Discontinuity(CLOCK_DISC_NORMAL, audioframe.pts, m_dvdAudio.GetDelay() - audioframe.duration);
+#ifndef _LINUX
CLog::Log(LOGDEBUG, "CDVDPlayerAudio:: Resync - clock:%I64d, delay:%I64d", audioframe.pts, m_dvdAudio.GetDelay() - audioframe.duration);
+#else
+ CLog::Log(LOGDEBUG, "CDVDPlayerAudio:: Resync - clock:%lld, delay:%lld", audioframe.pts, m_dvdAudio.GetDelay() - audioframe.duration);
+#endif
}
// don't try to fix a desynced clock, until we played out the full audio buffer
@@ -452,7 +456,11 @@
if( abs(error) > DVD_MSEC_TO_TIME(5) )
{
m_pClock->Discontinuity(CLOCK_DISC_NORMAL, clock+error, 0);
+#ifndef _LINUX
CLog::Log(LOGDEBUG, "CDVDPlayerAudio:: Discontinuty - was:%I64d, should be:%I64d, error:%I64d", clock, clock+error, error);
+#else
+ CLog::Log(LOGDEBUG, "CDVDPlayerAudio:: Discontinuty - was:%lld, should be:%lld, error:%lld", clock, clock+error, error);
+#endif
}
}
}
Deleted: branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/inttypes.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/inttypes.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/inttypes.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -1,301 +0,0 @@
-// ISO C9x compliant inttypes.h for Miscrosoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
-// Copyright (c) 2006 Alexander Chemeris
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// 3. The name of the author may be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _MSC_VER // [
-#error "Use this header only with Microsoft Visual C++ compilers!"
-#endif // _MSC_VER ]
-
-#ifndef _MSC_INTTYPES_H_ // [
-#define _MSC_INTTYPES_H_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-
-#include "stdint.h"
-
-// 7.8 Format conversion of integer types
-
-typedef struct {
- intmax_t quot;
- intmax_t rem;
-} imaxdiv_t;
-
-// 7.8.1 Macros for format specifiers
-
-// The fprintf macros for signed integers are:
-#define PRId8 "d"
-#define PRIi8 "i"
-#define PRIdLEAST8 "d"
-#define PRIiLEAST8 "i"
-#define PRIdFAST8 "d"
-#define PRIiFAST8 "i"
-
-#define PRId16 "hd"
-#define PRIi16 "hi"
-#define PRIdLEAST16 "hd"
-#define PRIiLEAST16 "hi"
-#define PRIdFAST16 "hd"
-#define PRIiFAST16 "hi"
-
-#define PRId32 "I32d"
-#define PRIi32 "I32i"
-#define PRIdLEAST32 "I32d"
-#define PRIiLEAST32 "I32i"
-#define PRIdFAST32 "I32d"
-#define PRIiFAST32 "I32i"
-
-#define PRId64 "I64d"
-#define PRIi64 "I64i"
-#define PRIdLEAST64 "I64d"
-#define PRIiLEAST64 "I64i"
-#define PRIdFAST64 "I64d"
-#define PRIiFAST64 "I64i"
-
-#define PRIdMAX "I64d"
-#define PRIiMAX "I64i"
-
-#define PRIdPTR "Id"
-#define PRIiPTR "Ii"
-
-// The fprintf macros for unsigned integers are:
-#define PRIo8 "o"
-#define PRIu8 "u"
-#define PRIx8 "x"
-#define PRIX8 "X"
-#define PRIoLEAST8 "o"
-#define PRIuLEAST8 "u"
-#define PRIxLEAST8 "x"
-#define PRIXLEAST8 "X"
-#define PRIoFAST8 "o"
-#define PRIuFAST8 "u"
-#define PRIxFAST8 "x"
-#define PRIXFAST8 "X"
-
-#define PRIo16 "ho"
-#define PRIu16 "hu"
-#define PRIx16 "hx"
-#define PRIX16 "hX"
-#define PRIoLEAST16 "ho"
-#define PRIuLEAST16 "hu"
-#define PRIxLEAST16 "hx"
-#define PRIXLEAST16 "hX"
-#define PRIoFAST16 "ho"
-#define PRIuFAST16 "hu"
-#define PRIxFAST16 "hx"
-#define PRIXFAST16 "hX"
-
-#define PRIo32 "I32o"
-#define PRIu32 "I32u"
-#define PRIx32 "I32x"
-#define PRIX32 "I32X"
-#define PRIoLEAST32 "I32o"
-#define PRIuLEAST32 "I32u"
-#define PRIxLEAST32 "I32x"
-#define PRIXLEAST32 "I32X"
-#define PRIoFAST32 "I32o"
-#define PRIuFAST32 "I32u"
-#define PRIxFAST32 "I32x"
-#define PRIXFAST32 "I32X"
-
-#define PRIo64 "I64o"
-#define PRIu64 "I64u"
-#define PRIx64 "I64x"
-#define PRIX64 "I64X"
-#define PRIoLEAST64 "I64o"
-#define PRIuLEAST64 "I64u"
-#define PRIxLEAST64 "I64x"
-#define PRIXLEAST64 "I64X"
-#define PRIoFAST64 "I64o"
-#define PRIuFAST64 "I64u"
-#define PRIxFAST64 "I64x"
-#define PRIXFAST64 "I64X"
-
-#define PRIoMAX "I64o"
-#define PRIuMAX "I64u"
-#define PRIxMAX "I64x"
-#define PRIXMAX "I64X"
-
-#define PRIoPTR "Io"
-#define PRIuPTR "Iu"
-#define PRIxPTR "Ix"
-#define PRIXPTR "IX"
-
-// The fscanf macros for signed integers are:
-#define SCNd8 "d"
-#define SCNi8 "i"
-#define SCNdLEAST8 "d"
-#define SCNiLEAST8 "i"
-#define SCNdFAST8 "d"
-#define SCNiFAST8 "i"
-
-#define SCNd16 "hd"
-#define SCNi16 "hi"
-#define SCNdLEAST16 "hd"
-#define SCNiLEAST16 "hi"
-#define SCNdFAST16 "hd"
-#define SCNiFAST16 "hi"
-
-#define SCNd32 "ld"
-#define SCNi32 "li"
-#define SCNdLEAST32 "ld"
-#define SCNiLEAST32 "li"
-#define SCNdFAST32 "ld"
-#define SCNiFAST32 "li"
-
-#define SCNd64 "I64d"
-#define SCNi64 "I64i"
-#define SCNdLEAST64 "I64d"
-#define SCNiLEAST64 "I64i"
-#define SCNdFAST64 "I64d"
-#define SCNiFAST64 "I64i"
-
-#define SCNdMAX "I64d"
-#define SCNiMAX "I64i"
-
-#ifdef _WIN64 // [
-# define SCNdPTR "I64d"
-# define SCNiPTR "I64i"
-#else // _WIN64 ][
-# define SCNdPTR "ld"
-# define SCNiPTR "li"
-#endif // _WIN64 ]
-
-// The fscanf macros for unsigned integers are:
-#define SCNo8 "o"
-#define SCNu8 "u"
-#define SCNx8 "x"
-#define SCNX8 "X"
-#define SCNoLEAST8 "o"
-#define SCNuLEAST8 "u"
-#define SCNxLEAST8 "x"
-#define SCNXLEAST8 "X"
-#define SCNoFAST8 "o"
-#define SCNuFAST8 "u"
-#define SCNxFAST8 "x"
-#define SCNXFAST8 "X"
-
-#define SCNo16 "ho"
-#define SCNu16 "hu"
-#define SCNx16 "hx"
-#define SCNX16 "hX"
-#define SCNoLEAST16 "ho"
-#define SCNuLEAST16 "hu"
-#define SCNxLEAST16 "hx"
-#define SCNXLEAST16 "hX"
-#define SCNoFAST16 "ho"
-#define SCNuFAST16 "hu"
-#define SCNxFAST16 "hx"
-#define SCNXFAST16 "hX"
-
-#define SCNo32 "lo"
-#define SCNu32 "lu"
-#define SCNx32 "lx"
-#define SCNX32 "lX"
-#define SCNoLEAST32 "lo"
-#define SCNuLEAST32 "lu"
-#define SCNxLEAST32 "lx"
-#define SCNXLEAST32 "lX"
-#define SCNoFAST32 "lo"
-#define SCNuFAST32 "lu"
-#define SCNxFAST32 "lx"
-#define SCNXFAST32 "lX"
-
-#define SCNo64 "I64o"
-#define SCNu64 "I64u"
-#define SCNx64 "I64x"
-#define SCNX64 "I64X"
-#define SCNoLEAST64 "I64o"
-#define SCNuLEAST64 "I64u"
-#define SCNxLEAST64 "I64x"
-#define SCNXLEAST64 "I64X"
-#define SCNoFAST64 "I64o"
-#define SCNuFAST64 "I64u"
-#define SCNxFAST64 "I64x"
-#define SCNXFAST64 "I64X"
-
-#define SCNoMAX "I64o"
-#define SCNuMAX "I64u"
-#define SCNxMAX "I64x"
-#define SCNXMAX "I64X"
-
-#ifdef _WIN64 // [
-# define SCNoPTR "I64o"
-# define SCNuPTR "I64u"
-# define SCNxPTR "I64x"
-# define SCNXPTR "I64X"
-#else // _WIN64 ][
-# define SCNoPTR "lo"
-# define SCNuPTR "lu"
-# define SCNxPTR "lx"
-# define SCNXPTR "lX"
-#endif // _WIN64 ]
-
-// 7.8.2 Functions for greatest-width integer types
-
-// 7.8.2.1 The imaxabs function
-#define imaxabs _abs64
-
-// 7.8.2.2 The imaxdiv function
-
-// This is modified version of div() function from Microsoft's div.c found
-// in %MSVC.NET%\crt\src\div.c
-#ifdef STATIC_IMAXDIV // [
-static
-#else // STATIC_IMAXDIV ][
-_inline
-#endif // STATIC_IMAXDIV ]
-imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
-{
- imaxdiv_t result;
-
- result.quot = numer / denom;
- result.rem = numer % denom;
-
- if (numer < 0 && result.rem > 0) {
- // did division wrong; must fix up
- ++result.quot;
- result.rem -= denom;
- }
-
- return result;
-}
-
-// 7.8.2.3 The strtoimax and strtoumax functions
-#define strtoimax _strtoi64
-#define strtoumax _strtoui64
-
-// 7.8.2.4 The wcstoimax and wcstoumax functions
-#define wcstoimax _wcstoi64
-#define wcstoumax _wcstoui64
-
-
-#endif // _MSC_INTTYPES_H_ ]
Deleted: branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/stdint.h
===================================================================
--- branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/stdint.h 2007-06-03 21:42:14 UTC (rev 9206)
+++ branches/linuxport/XBMC/xbmc/cores/dvdplayer/ffmpeg/stdint.h 2007-06-04 00:19:26 UTC (rev 9207)
@@ -1,222 +0,0 @@
-// ISO C9x compliant stdint.h for Miscrosoft Visual Studio
-// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
-//
-// Copyright (c) 2006 Alexander Chemeris
-//
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// 3. The name of the author may be used to endorse or promote products
-// derived from this software without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef _MSC_VER // [
-#error "Use this header only with Microsoft Visual C++ compilers!"
-#endif // _MSC_VER ]
-
-#ifndef _MSC_STDINT_H_ // [
-#define _MSC_STDINT_H_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif
-
-#include <limits.h>
-
-// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}'
-// or compiler give many errors like this:
-// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
-#if (_MSC_VER < 1300) && defined(__cplusplus)
- extern "C++" {
-#endif
-# include <wchar.h>
-#if (_MSC_VER < 1300) && defined(__cplusplus)
- }
-#endif
-
-// 7.18.1 Integer types
-
-// 7.18.1.1 Exact-width integer types
-typedef signed __int8 int8_t;
-typedef signed __int16 int16_t;
-typedef signed __int32 int32_t;
-typedef signed __int64 int64_t;
-typedef unsigned __int8 uint8_t;
-typedef unsigned __int16 uint16_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-
-// 7.18.1.2 Minimum-width integer types
-typedef int8_t int_least8_t;
-typedef int16_t int_least16_t;
-typedef int32_t int_least32_t;
-typedef int64_t int_least64_t;
-typedef uint8_t uint_least8_t;
-typedef uint16_t uint_least16_t;
-typedef uint32_t uint_least32_t;
-typedef uint64_t uint_least64_t;
-
-// 7.18.1.3 Fastest minimum-width integer types
-typedef int8_t int_fast8_t;
-typedef int16_t int_fast16_t;
-typedef int32_t int_fast32_t;
-typedef int64_t int_fast64_t;
-typedef uint8_t uint_fast8_t;
-typedef uint16_t uint_fast16_t;
-typedef uint32_t uint_fast32_t;
-typedef uint64_t uint_fast64_t;
-
-// 7.18.1.4 Integer types capable of holding object pointers
-#ifdef _WIN64 // [
- typedef __int64 intptr_t;
- typedef unsigned __int64 uintptr_t;
-#else // _WIN64 ][
- typedef int intptr_t;
- typedef unsigned int uintptr_t;
-#endif // _WIN64 ]
-
-// 7.18.1.5 Greatest-width integer types
-typedef int64_t intmax_t;
-typedef uint64_t uintmax_t;
-
-
-// 7.18.2 Limits of specified-width integer types
-
-#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
-
-// 7.18.2.1 Limits of exact-width integer types
-#define INT8_MIN _I8_MIN
-#define INT8_MAX _I8_MAX
-#define INT16_MIN _I16_MIN
-#define INT16_MAX _I16_MAX
-#define INT32_MIN _I32_MIN
-#define INT32_MAX _I32_MAX
-#define INT64_MIN _I64_MIN
-#define INT64_MAX _I64_MAX
-#define UINT8_MAX _UI8_MAX
-#define UINT16_MAX _UI16_MAX
-#define UINT32_MAX _UI32_MAX
-#define UINT64_MAX _UI64_MAX
-
-// 7.18.2.2 Limits of minimum-width integer types
-#define INT_LEAST8_MIN INT8_MIN
-#define INT_LEAST8_MAX INT8_MAX
-#define INT_LEAST16_MIN INT16_MIN
-#define INT_LEAST16_MAX INT16_MAX
-#define INT_LEAST32_MIN INT32_MIN
-#define INT_LEAST32_MAX INT32_MAX
-#define INT_LEAST64_MIN INT64_MIN
-#define INT_LEAST64_MAX INT64_MAX
-#define UINT_LEAST8_MAX UINT8_MAX
-#define UINT_LEAST16_MAX UINT16_MAX
-#define UINT_LEAST32_MAX UINT32_MAX
-#define UINT_LEAST64_MAX UINT64_MAX
-
-// 7.18.2.3 Limits of fastest minimum-width integer types
-#define INT_FAST8_MIN INT8_MIN
-#define INT_FAST8_MAX INT8_MAX
-#define INT_FAST16_MIN INT16_MIN
-#define INT_FAST16_MAX INT16_MAX
-#define INT_FAST32_MIN INT32_MIN
-#define INT_FAST32_MAX INT32_MAX
-#define INT_FAST64_MIN INT64_MIN
-#define INT_FAST64_MAX INT64_MAX
-#define UINT_FAST8_MAX UINT8_MAX
-#define UINT_FAST16_MAX UINT16_MAX
-#define UINT_FAST32_MAX UINT32_MAX
-#define UINT_FAST64_MAX UINT64_MAX
-
-// 7.18.2.4 Limits of integer types capable of holding object pointers
-#ifdef _WIN64 // [
-# define INTPTR_MIN INT64_MIN
-# define INTPTR_MAX INT64_MAX
-# define UINTPTR_MAX UINT64_MAX
-#else // _WIN64 ][
-# define INTPTR_MIN INT32_MIN
-# define INTPTR_MAX INT32_MAX
-# define UINTPTR_MAX UINT32_MAX
-#endif // _WIN64 ]
-
-// 7.18.2.5 Limits of greatest-width integer types
-#define INTMAX_MIN INT64_MIN
-#define INTMAX_MAX INT64_MAX
-#define UINTMAX_MAX UINT64_MAX
-
-// 7.18.3 Limits of other integer types
-
-#ifdef _WIN64 // [
-# define PTRDIFF_MIN _I64_MIN
-# define PTRDIFF_MAX _I64_MAX
-#else // _WIN64 ][
-# define PTRDIFF_MIN _I32_MIN
-# define PTRDIFF_MAX _I32_MAX
-#endif // _WIN64 ]
-
-#define SIG_ATOMIC_MIN INT_MIN
-#define SIG_ATOMIC_MAX INT_MAX
-
-#ifndef SIZE_MAX // [
-# ifdef _WIN64 // [
-# define SIZE_MAX _UI64_MAX
-# else // _WIN64 ][
-# define SIZE_MAX _UI32_MAX
-# endif // _WIN64 ]
-#endif // SIZE_MAX ]
-
-// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
-#ifndef WCHAR_MIN // [
-# define WCHAR_MIN 0
-#endif // WCHAR_MIN ]
-#ifndef WCHAR_MAX // [
-# define WCHAR_MAX _UI16_MAX
-#endif // WCHAR_MAX ]
-
-#define WINT_MIN 0
-#define WINT_MAX _UI16_MAX
-
-#endif // __STDC_LIMIT_MACROS ]
-
-
-// 7.18.4 Limits of other integer types
-
-#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
-
-// 7.18.4.1 Macros for minimum-width integer constants
-
-#define INT8_C(val) val
-#define INT16_C(val) val
-#define INT32_C(val) val##L
-#define INT64_C(val) val##i64
-
-#define UINT8_C(val) val
-#define UINT16_C(val) val
-#define UINT32_C(val) val##UL
-#define UINT64_C(val) val##Ui64
-
-// 7.18.4.2 Macros for greatest-width integer constants
-#define INTMAX_C INT64_C
-#define UINTMAX_C UINT64_C
-
-#endif // __STDC_CONSTANT_MACROS ]
-
-
-#endif // _MSC_STDINT_H_ ]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|