yuweide2009 2008-6-27 13:53
PSP解码RMVB问题~!
刚才看了些资料,PSP有两块CPU,不过是分开的一个是用于3D运算,另外一块才是用于媒体播放,要想两块协同,至少现在还没办法。那就是说PSP要解码RM的CPU最高只能用333了。刚才看了诺基亚N95跟PSP一样的CPU是333的,只能播放小于等于320*240分辨率的RMVB格式电影。高于这个分辨率能播放。但是会很卡~!所以PSP要想播放RM是可以的。但是有两个条件:第一:得到RM的授权 第二:只能播放320*240分辨率以下的RMVB格式影片 高于这个绝对很卡
这样看来,还有什么意义呢。现在98%的RM格式电影 分辨率都在640*480以上。。。。 PSP看来基本无望了 还是要转码~!
除非等两个CPU协同(可行性1%)或者找到其他什么办法来帮助CPU解码(就象PSPCHINA里的Reality的作者说的那样用ME来帮助解码)
期待 PSPCHINA的超级达人门~!
[[i] 本帖最后由 yuweide2009 于 2008-6-27 14:10 编辑 [/i]]
cgqnew 2008-6-27 16:17
几年前的摩托罗拉E680就能播放不大于640X480的影片 据说CPU还不到300MHZ呢
cgqnew 2008-6-27 16:22
现在E680还能播放PMP格式的影片 只要不改变默认窗口大小就能流畅的播放
cgqnew 2008-6-27 17:17
希望大家学习一下E680的ezxplayer0.9播放软件
nessus 2008-6-28 10:45
[quote]原帖由 [i]cgqnew[/i] 于 2008-6-27 17:17 发表 [url=http://bbs.pspchina.net/redirect.php?goto=findpost&pid=3519211&ptid=271497][img]http://bbs.pspchina.net/images/common/back.gif[/img][/url]
希望大家学习一下E680的ezxplayer0.9播放软件 [/quote]
开源吗?不开怎么学?
a22332223 2008-6-28 20:21
[quote]原帖由 [i]nessus[/i] 于 2008-6-28 10:45 发表 [url=http://bbs.pspchina.net/redirect.php?goto=findpost&pid=3521402&ptid=271497][img]http://bbs.pspchina.net/images/common/back.gif[/img][/url]
开源吗?不开怎么学? [/quote]
这个软件的源码,我有,,E680系统用的是Linux,,,,把源码发上来好像也没用啊
ralfjones 2008-7-7 12:17
稍有硬件常识的朋友都知道,CPU的性能不能只根据频率来衡量的,决定它的因素很多,如缓存,流水级架构,对系统和多媒体的支持和优化等等,而且不同类型的CPU的频率根本没有可比性的。别的不说,为什么电脑游戏要达到游戏机的效果这么困难?这两种CPU的频率差很多。个人认为psp的CPU已经很强了,竟然可以支持H264解码。LZ如果认为N95的CPU和PSP的CPU是同级的话,试试让N95来播放一段分辨率是720*480的HAVC的Mp4试试,此类编码对CPU的要求并不比RMVB低。
yuweide2009 2008-7-9 11:47
到底知道不?PSP能解码H264完全是内嵌了一块专门加码的芯片.是硬解.不是单纯靠CPU解码,或者软解~!
qbkqqqqqq 2008-7-9 21:57
现在说什么也没用,除非能拿到reality的源码大家分析下,或者有哪位达人再做一个达到或者超越reality的软件,做reality的老大也就算了,别的人不要再说自己能编,只不过怕人告之类的话了,非营利性用于研究与学习的程序可以无视版权,至少中国的法律是这么规定的,更何况你觉得DA大神对sony官方固件的修改那又算什么呢?别跟我说你们不用自制系统
testuser2 2008-7-10 11:56
reality应该是用了real的代码helix codec
但是官方代码没有针对mips做优化
要想拿到代码,必须跟real签订类似NDA的协议
所以作者也不会说不要问他代码从哪里来
据我所知,real解码器 龙芯也在开发
yuweide2009 2008-7-11 11:12
关键是请求PSPCHINA的各位达人门,能够优化Reality,或者从新做。要知道只有你们才有这个能力呀,毕竟Reality的作者就是PSPCHINA的
yero2006 2008-7-11 14:04
[quote]原帖由 [i]cgqnew[/i] 于 2008-6-27 16:22 发表 [url=http://bbs.pspchina.net/redirect.php?goto=findpost&pid=3519045&ptid=271497][img]http://bbs.pspchina.net/images/common/back.gif[/img][/url]
现在E680还能播放PMP格式的影片 只要不改变默认窗口大小就能流畅的播放 [/quote]
汗死,E680播放H264编码的MP4和PMP都卡得要死,有声的话每秒大概1桢,无声的话每秒大概5桢,超频的话稍微快了一点点。这还是320X240,500kbps的电影。居然还说“流畅”,实在无言。除非是放的XVID编码PMP,那倒还差不多。
另外E680的CPU为312MHZ,播放640X480的RM根本没有什么意义,一个字,卡!每秒能过3桢就不错了(不要拿超低码率的电影说事,640X480的分辨率却用超低码率,那样的电影谁会转?)其实我试过,320X240,600KBPS,每秒24桢左右的RM不超频放起来都会卡,超频后才勉强流畅。这样的解码能力,其实意义根本不太大,大部分电影都还是要转的。
qbkqqqqqq 2008-7-11 20:03
[quote]原帖由 [i]testuser2[/i] 于 2008-7-10 11:56 发表 [url=http://bbs.pspchina.net/redirect.php?goto=findpost&pid=3565370&ptid=271497][img]http://bbs.pspchina.net/images/common/back.gif[/img][/url]
reality应该是用了real的代码helix codec
但是官方代码没有针对mips做优化
要想拿到代码,必须跟real签订类似NDA的协议
所以作者也不会说不要问他代码从哪里来
据我所知,real解码器 龙芯也在开发 [/quote]
helix codec的real代码不是开源的么,貌似还带了几个库,我这用不了cygwin就没装。
yuweide2009 2008-7-12 13:17
期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 期待 万众期待 PSPCHINA达人门 早日放出 RMVB播放器
testuser2 2008-7-12 13:56
[quote]原帖由 [i]qbkqqqqqq[/i] 于 2008-7-11 20:03 发表 [url=http://bbs.pspchina.net/redirect.php?goto=findpost&pid=3569891&ptid=271497][img]http://bbs.pspchina.net/images/common/back.gif[/img][/url]
helix codec的real代码不是开源的么,貌似还带了几个库,我这用不了cygwin就没装。 [/quote]
那些只是其他codec,Real Video和Real Audio还不是开源
qbkqqqqqq 2008-7-12 14:29
[quote]原帖由 [i]testuser2[/i] 于 2008-7-12 13:56 发表 [url=http://bbs.pspchina.net/redirect.php?goto=findpost&pid=3571947&ptid=271497][img]http://bbs.pspchina.net/images/common/back.gif[/img][/url]
那些只是其他codec,Real Video和Real Audio还不是开源 [/quote]
不过里面好像有些api,不然怎么通过那些源代码就可以编译出realplayer?我在datatype下看到rm子文件夹,然后这是\datatype\rm\video\codec\rv89combo\frontend里面的一个源代码的截取。。。[code]/* ***** BEGIN LICENSE BLOCK *****
* Version: RCSL 1.0/RPSL 1.0
*
* Portions Copyright (c) 1995-2002 RealNetworks, Inc. All Rights Reserved.
*
* The contents of this file, and the files included with this file, are
* subject to the current version of the RealNetworks Public Source License
* Version 1.0 (the "RPSL") available at
* http://www.helixcommunity.org/content/rpsl unless you have licensed
* the file under the RealNetworks Community Source License Version 1.0
* (the "RCSL") available at http://www.helixcommunity.org/content/rcsl,
* in which case the RCSL will apply. You may also obtain the license terms
* directly from RealNetworks. You may not use this file except in
* compliance with the RPSL or, if you have a valid RCSL with RealNetworks
* applicable to this file, the RCSL. Please see the applicable RPSL or
* RCSL for the rights, obligations and limitations governing use of the
* contents of the file.
*
* This file is part of the Helix DNA Technology. RealNetworks is the
* developer of the Original Code and owns the copyrights in the portions
* it created.
*
* This file, and the files included with this file, is distributed and made
* available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
*
* Technology Compatibility Kit Test Suite(s) Location:
* http://www.helixcommunity.org/content/tck
*
* Contributor(s):
*
* ***** END LICENSE BLOCK ***** */
///////////////////
// include files
#include "hxtypes.h"
#include "hxresult.h"
#if (defined(BUILD_RV789COMBO_DECODER_FRONTEND) || defined(BUILD_RV789MP4COMBO_DECODER_FRONTEND)) && defined(HELIX_FEATURE_DLLACCESS_CLIENT)
#define INITGUID 1
#include "hxcom.h"
#undef INITGUID
#else // (BUILD_RV789COMBO_DECODER_FRONTEND || BUILD_RV789MP4COMBO_DECODER_FRONTEND) && HELIX_FEATURE_DLLACCESS_CLIENT
#include "dllpath.h"
ENABLE_DLLACCESS_PATHS(RV30);
#endif // (BUILD_RV789COMBO_DECODER_FRONTEND || BUILD_RV789MP4COMBO_DECODER_FRONTEND) && HELIX_FEATURE_DLLACCESS_CLIENT
#include "hxassert.h"
#include "hxcodec.h"
#include "hxmtypes.h"
#include "hxheap.h"
#include "rv30api.h"
#ifdef _DEBUG
#undef HX_THIS_FILE
static const char HX_THIS_FILE[] = __FILE__;
#endif
HX_RESULT RV20CreateInstance(IHXUnknown *pUnkOuter, HX_IID riid, void **ppv);
///////////////////
// local definitions
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_Open
//
// Purpose:
// PNCodec_Open() attempts to load a codec whose type is specified
// by moftFormatTag. Some currently used codec HX_MOFTAGs are:
// RA_FORMAT_3_ID RealAudio 14.4 audio codec
// RA_FORMAT_4_ID RealAudio 28.8 audio codec
//
// Parameters:
// moftFormatTag - the 4 byte codec identifier
// codecRef - the HXCODEC reference is returned in codecRef.
// You will need to use this reference in all future HXCodec_XXX() functions.
//
// Return:
// S_OK - loading of codec was successful.
// HXR_OUTOFMEMORY - insufficient memory to load codec.
// HXCODEC_LOAD_ERR - unable to load codec.
//
// Notes:
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_Open)(HX_MOFTAG moftFormatTag, HXCODEC *pcodecRef)
{
HX_TRACE("PNCodec_Open()\r\n");
HX_RESULT theErr = S_OK;
HX_ASSERT_VALID_PTR(pcodecRef);
*pcodecRef = NULL;
theErr = RV20CreateInstance(NULL, moftFormatTag, pcodecRef);
return(theErr);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_Close
//
// Purpose:
// PNCodec_Close() closes a codec referenced by codecRef.
// Note: After calling PNCodec_Close(), codecRef is no longer a valid
// codec reference.
//
// Parameters:
// codecRef - the codec reference returned by PNCodec_Open().
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_Close)(HXCODEC codecRef)
{
HX_TRACE("PNCodec_Close()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_Close();
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_GetUIName
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_GetUIName)(HXCODEC codecRef, char *pnameBuf)
{
HX_TRACE("PNCodec_GetUIName()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_GetUIName(pnameBuf);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_GetVersion
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_GetVersion)(HXCODEC codecRef, ULONG32 *pVersion)
{
HX_TRACE("PNCodec_GetVersion()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_GetVersion(pVersion);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_QueryMediaFormat
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_QueryMediaFormat)(HXCODEC codecRef, HX_MOF * pmofIn,
HX_MOF * pmofOut, UINT16 ioDirection)
{
HX_TRACE("PNCodec_QueryMediaFormat()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_QueryMediaFormat(pmofIn, pmofOut, ioDirection);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_PreferredMediaFormat
//
// Purpose:
// ioDirection Either HXCODEC_INPUT or HXCODEC_OUTPUT, HXCODEC_INPUT
// specifies the pmofOut is filled out with the desired
// output format and we want to find out what the perferred
// input media format is.
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_PreferredMediaFormat)(HXCODEC codecRef, HX_MOF * pmofIn,
HX_MOF * pmofOut, UINT16 ioDirection)
{
HX_TRACE("HXCodec_PerferredMediaFormat()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_PreferredMediaFormat(pmofIn, pmofOut, ioDirection);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_GetMediaFormats
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_GetMediaFormats)(HXCODEC codecRef, UINT16 ioDirection,
FP_MEDIAFORMATSCALLBACK fpCallback, void *userData)
{
HX_TRACE("PNCodec_GetMediaFormats()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_GetMediaFormats(ioDirection, fpCallback,
userData);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_StreamOpen
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_StreamOpen)(HXCODEC codecRef, HXSTREAM * pStreamRef,
HXCODEC_INIT * pParams)
{
HX_TRACE("PNCodec_StreamOpen()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_StreamOpen(pStreamRef, pParams);
}
#ifdef ADD_HXCODEC_INPUT
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNCodec_Input
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNCodec_Input)(HXCODEC codecRef, HXCODEC_DATA * pData)
{
HX_TRACE("HXCodec_()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_Input(pData);
}
#endif
#if defined ADD_HXCODEC_GETIPNUNKNOWN
IHXUnknown * HXEXPORT ENTRYPOINT(PNCodec_GetIPNUnknown)(HXCODEC codecRef)
{
HX_TRACE("PNCodec_GetIPNUnknown()\r\n");
HX_ASSERT_VALID_PTR(codecRef);
IHX20Codec* pCodecObj = (IHX20Codec *)codecRef;
return pCodecObj->PNCodec_GetIPNUnknown();
}
#endif
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_OpenSettingsBox
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_OpenSettingsBox)(HXSTREAM streamRef, void * platformData)
{
HX_TRACE("PNStream_OpenSettingsBox()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_OpenSettingsBox(platformData);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_GetIPNUnknown
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
IHXUnknown * HXEXPORT ENTRYPOINT(PNStream_GetIPNUnknown)(HXSTREAM streamRef)
{
HX_TRACE("PNStream_GetIPNUnknown()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_GetIPNUnknown();
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_SetDataCallback
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_SetDataCallback)(HXSTREAM streamRef,
HXSTREAM callbackRef, HXMEMORY memoryRef, FP_STREAM_DATA fpDataCallback)
{
HX_TRACE("PNStream_SetDataCallback()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_SetDataCallback(callbackRef, memoryRef,
fpDataCallback);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_SetProperty
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_SetProperty)(HXSTREAM streamRef, ULONG32 prop,
void *pValue)
{
HX_TRACE("PNStream_SetProperty()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_SetProperty(prop, pValue);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_GetProperty
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_GetProperty)(HXSTREAM streamRef, ULONG32 prop,
void *pValue)
{
HX_TRACE("PNStream_GetProperty()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_GetProperty(prop, pValue);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_Close
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_Close)(HXSTREAM streamRef)
{
HX_TRACE("PNStream_Close()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_Close();
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_GetStreamHeaderSize
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_GetStreamHeaderSize)(HXSTREAM streamRef,
ULONG32 * puSize)
{
HX_TRACE("PNStream_GetStreamHeaderSize()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_GetStreamHeaderSize(puSize);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_GetStreamHeader
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_GetStreamHeader)(HXSTREAM streamRef, HX_MOF * pHeader)
{
HX_TRACE("PNStream_GetStreamHeaderSize()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_GetStreamHeader(pHeader);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_Input
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_Input)(HXSTREAM streamRef, HXSTREAM fromStreamRef,
HXCODEC_DATA * pData)
{
HX_TRACE("HXStream_()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_Input(fromStreamRef, pData);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_SetOutputPacketSize
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_SetOutputPacketSize)(HXSTREAM streamRef,
ULONG32 PrefSize, ULONG32 MaxSize, ULONG32 *pActualSize)
{
HX_TRACE("PNStream_SetOutputPacketSize()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_SetOutputPacketSize(PrefSize, MaxSize,
pActualSize);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_GetInputBufferSize
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_GetInputBufferSize)(HXSTREAM streamRef,
ULONG32 * puSize)
{
HX_TRACE("PNStream_GetInputBufferSize()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_GetInputBufferSize(puSize);
}
#ifdef HW_VIDEO_MEMORY_FRONTEND
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_PostProcess
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_PostProcess)(HXSTREAM streamRef,
HXCODEC_DATA *pncData,
ULONG32 uCurrentTime,
UCHAR *pDestBuffer,
UINT32 uDestPitch,
INT32 cidDestColorFormat)
{
HX_TRACE("PNStream_PostProcess()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_PostProcess(pncData,
uCurrentTime,
pDestBuffer,
uDestPitch,
cidDestColorFormat);
}
/////////////////////////////////////////////////////////////////////////////
//
// Function:
//
// PNStream_ReleaseFrame
//
// Purpose:
//
//
// Parameters:
//
//
// Return:
//
//
// Notes:
//
//
HX_RESULT HXEXPORT ENTRYPOINT(PNStream_ReleaseFrame)(HXSTREAM streamRef,
HXCODEC_DATA *pncData)
{
HX_TRACE("PNStream_ReleaseFrame()\r\n");
HX_ASSERT_VALID_PTR(streamRef);
IHX20Stream* pStreamObj = (IHX20Stream *)streamRef;
return pStreamObj->PNStream_ReleaseFrame(pncData);
}
#endif[/code]
yuweide2009 2008-7-13 18:51
如果 RMVB播放器 真的 在PSP上实现的话 那买PSP的人会更多的 关键是期待 达人门的研究吧~!
jy03581351 2008-7-13 19:03
我试了下那个rm在低分辨率下可以播放 流畅
yuweide2009 2008-7-14 20:24
你说得很对,确实 RMVB低分辨率 低马率可以流畅,我们非常骄傲是PSPCHINA里面的作者开发的,说明里面的达人非常多.都是隐藏高手.
但是应该很简单就发现了吧?没有声音 对把? 所以 我们一起期待 PSPCHINA达人门 的优化吧? 依然 万众期待~! 亿众盼望~!