Page 1 of 2 12 LastLast
Results 1 to 10 of 12

Thread: Pascal port of the integer-only OGG vorbis decoder TREMOR

  1. #1

    Thumbs up Pascal port of the integer-only OGG vorbis decoder TREMOR

    I've ported the integer-only (32.32bit fixed point) OGG vorbis decoder TREMOR to pascal. And here it is:

    http://www.rosseaux.net/code/opensou...svorbistremor/ all files

    http://www.rosseaux.net/code/opensou...rbistremor.pas the main src itself

    It is licensed under the same BSD-style like the original TREMOR C-source itself. And it's so far worklng.

    Have fun with it
    Last edited by BeRo; 15-04-2012 at 06:13 PM.

  2. #2
    when i read the title i expect you , thanks for sharing , very helpfull

  3. #3
    Great work! But is there any performance comparison of C and Pascal version of this library? Because ARM platform(where it will be useful) is very performance-sensetive, and it will be interesting to know how much this port can win/lose in performance.

  4. #4
    Very very nice work Benjamin! Thanks for sharing, and your continuing great work as always

  5. #5
    Quote Originally Posted by Andru View Post
    Great work! But is there any performance comparison of C and Pascal version of this library? Because ARM platform(where it will be useful) is very performance-sensetive, and it will be interesting to know how much this port can win/lose in performance.
    I did the port mainly for the ARM android target, because I'm working on a commerical android game (for currenr midrange and highend ARM-based smartphones and tablets) in the moment, where I've needed it, see the few ARM inline assembler source parts of it.

    And i've uploaded a new version now, which fixes a small bug in the codebook decoder (which had decline some few but non-corrupted oggs falsely), and where I've optimized the memory allocation stuff a bit.

  6. #6
    because I'm working on a commerical android game
    Hmm, then why do not use a Tremolo? It's 15%-20% faster then Tremor.

  7. #7
    PGD Staff / Super Moderator code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    837
    Blog Entries
    43
    Andru - in the context of the real world, why use windows over linux now we have wine 1.4?

    Either way, this is indeed a very nice bit of news! Once again I am in awe at what you've managed to cram into such little space... I will definitely be checking this out later on
    I once tried to change the world. But they wouldn't give me the source code. Damned evil cunning.

  8. #8
    Andru - in the context of the real world, why use windows over linux now we have wine 1.4?
    Because WINE is too buggy for support Windows software I just asked, maybe BeRo didn't know about Tremolo as better solution in performance. And I agree that his work is indeed great, and good that there is asm code inside this port, because I have a pity experience using PasJPEG and PasZlib. These solutions are too slow and better to use original versions.
    Last edited by Andru; 16-04-2012 at 05:38 PM.

  9. #9
    PGD Staff / Super Moderator code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    837
    Blog Entries
    43
    Lol. I guess you do have a point, but now we have some .NET 3.5 goodness and most of office 2010 running smoothly, I can't really complain

    As for speed, I find ports tend to be a tad slower than originals unless it has been 'over-viewed' by the person porting the code and improved upon. However, for things that are indeed very slow, I prefer to dump it into a separate thread, which on dual core system makes is appear as fast as it should be. I know the clock cycles are still going in, but from a user point of view, it can be quite the neat solution
    Last edited by code_glitch; 17-04-2012 at 06:38 PM.
    I once tried to change the world. But they wouldn't give me the source code. Damned evil cunning.

  10. #10
    To anyone who wants to know: I did a simple test where I decoded an ogg file multiple times on a raspberrypi. The hard float version(libvorbisdec.so) took 60 seconds and this pascal -O3 integer version took 83 seconds. The -O1 version took about 120 seconds.

    I don't have a comparison to the library version of vorbistremor.

    Andrew

    PS in case you dont know -O1 and -O3 are compiler flags for generating faster code

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •