mirror of
https://github.com/mpv-player/mpv
synced 2025-01-05 03:06:28 +01:00
support for 'sipr' codec - descrambling/reorder not yet fixed.
FIXME: you must have dspr.so in the library path... ie /usr/local/lib/ git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7087 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
a72f18f463
commit
abd82380b9
@ -43,6 +43,7 @@ static unsigned long (*raInitDecoder)(unsigned long,unsigned long);
|
|||||||
static unsigned long (*raOpenCodec2)(unsigned long);
|
static unsigned long (*raOpenCodec2)(unsigned long);
|
||||||
static unsigned long (*raSetFlavor)(unsigned long,unsigned long);
|
static unsigned long (*raSetFlavor)(unsigned long,unsigned long);
|
||||||
static void (*raSetDLLAccessPath)(unsigned long);
|
static void (*raSetDLLAccessPath)(unsigned long);
|
||||||
|
static void (*raSetPwd)(char*,char*);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int samplerate;
|
int samplerate;
|
||||||
@ -78,6 +79,7 @@ static int preinit(sh_audio_t *sh){
|
|||||||
raInitDecoder = dlsym(handle, "RAInitDecoder");
|
raInitDecoder = dlsym(handle, "RAInitDecoder");
|
||||||
raSetFlavor = dlsym(handle, "RASetFlavor");
|
raSetFlavor = dlsym(handle, "RASetFlavor");
|
||||||
raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath");
|
raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath");
|
||||||
|
raSetPwd = dlsym(handle, "RASetPwd"); // optional, used by SIPR
|
||||||
|
|
||||||
if(!raCloseCodec || !raDecode || !raFlush || !raFreeDecoder ||
|
if(!raCloseCodec || !raDecode || !raFlush || !raFreeDecoder ||
|
||||||
!raGetFlavorProperty || !raOpenCodec2 || !raSetFlavor ||
|
!raGetFlavorProperty || !raOpenCodec2 || !raSetFlavor ||
|
||||||
@ -112,6 +114,11 @@ static int preinit(sh_audio_t *sh){
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(raSetPwd){
|
||||||
|
// used by 'SIPR'
|
||||||
|
raSetPwd(sh->context,"Ardubancel Quazanga"); // set password... lol.
|
||||||
|
}
|
||||||
|
|
||||||
result=raSetFlavor(sh->context,((short*)(sh->wf+1))[2]);
|
result=raSetFlavor(sh->context,((short*)(sh->wf+1))[2]);
|
||||||
if(result){
|
if(result){
|
||||||
@ -155,9 +162,11 @@ static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen)
|
|||||||
int result;
|
int result;
|
||||||
int len=-1;
|
int len=-1;
|
||||||
int sps=((short*)(sh->wf+1))[0];
|
int sps=((short*)(sh->wf+1))[0];
|
||||||
int w=sh->wf->nBlockAlign/sps; // 5
|
int w=sh->wf->nBlockAlign; // 5
|
||||||
int h=((short*)(sh->wf+1))[1];
|
int h=((short*)(sh->wf+1))[1];
|
||||||
|
|
||||||
|
if(sps) w/=sps; else sps=1;
|
||||||
|
|
||||||
// printf("bs=%d sps=%d w=%d h=%d \n",sh->wf->nBlockAlign,sps,w,h);
|
// printf("bs=%d sps=%d w=%d h=%d \n",sh->wf->nBlockAlign,sps,w,h);
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
|
Loading…
Reference in New Issue
Block a user