Results 1 to 10 of 12

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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  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 code_glitch's Avatar
    Join Date
    Oct 2009
    Location
    UK (England, the bigger bit)
    Posts
    933
    Blog Entries
    45
    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
    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

  9. #9
    Andrew

    PS in case you dont know -O1 and -O3 are compiler flags for generating faster code
    I guess this answer is for me? Then LOL ) Anyway, thanks for the test.

  10. #10
    Quote Originally Posted by Drewski View Post
    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
    Which FPC version have you used? Not the SVN trunk (a ka 2.7.1)? Because the SVN trunk of FPC has many new code generator optimizations specially for the ARM cpu target.

Tags for this Thread

Bookmarks

Posting Permissions

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