Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: vbEncWrite -> vbEncWriteFloat ? (Read 3749 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

vbEncWrite -> vbEncWriteFloat ?

Hello!

I found that fuction vbEncWrite changed to vbEncWriteFloat in volbis.dll (from old CDEX). Anybody know new function data format? How i can call this function from my Delphi project?

vbEncWrite -> vbEncWriteFloat ?

Reply #1
Original function:
Code: [Select]
__declspec(dllexport) VB_ERR vbEncWrite
    (    
 HVB_STREAM    hbeStream,
 DWORD  nSamples,
 PSHORT  pSamples,
 PBYTE  pOutput,
 PDWORD  pdwOutput
    )

Amended function:
Code: [Select]
__declspec(dllexport) VB_ERR vbEncWriteFloat //mods by Dark Avenger
    (    
 HVB_STREAM    hbeStream,
 DWORD  nSamples,
 PFLOAT  pSamples,
 PBYTE  pOutput,
 PDWORD  pdwOutput
    )

Exports:
Code: [Select]
LIBRARY  vorbis.dll
EXPORTS

vbVersion      @1
vbEncControl  @2

vbEncOpen      @100
vbEncWriteFloat  @101
vbEncClose      @103

vbDecOpen      @200
vbDecRead      @201
vbDecSeek      @203
vbDecClose      @204


vbEncWrite -> vbEncWriteFloat ?

Reply #2
Thank you john33!

Why data format changed from SHORT to FLOAT?
May be vbDecRead changed to FLOAT output too?
I have only 16-bit samples and now must convert it to 32-bit float format, but standard Vorbis SDK work with SHORT samples!
Can you send me vorbis.dll sources or header?

vbEncWrite -> vbEncWriteFloat ?

Reply #3
I am guessing that the only reason it was changed to float was because DarkAvenger wanted to pass float values to it from within HeadAC3he.

You can d/l the source for the dll from: http://homepage.ntlworld.com/jfe1205/vorbisdllsrc.zip