redocneXk released - Realtime 5.1 ac3 Encoder

Discussion in 'General Discussion' started by Tril, Nov 17, 2005.

  1. ojlehtin

    ojlehtin Kx User

    Joined:
    Sep 8, 2003
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    0
    Hi.

    I was wondering too if this works also with the Creative drivers. I know the routings cannot be configured like with kX, but are the wave outs routed to some asio ins by default with the Creative drivers. Probably not, but if they would be, this would work, right?

    Anyways I'll try redocneXk out soon (with kX). I have to say in forehand, this is absolutely GREAT. I've been looking for this kind of a thing for years (really). Thank you Tril!
     
  2. ojlehtin

    ojlehtin Kx User

    Joined:
    Sep 8, 2003
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    0
    Sweet! Works like a dream so far. No configuration required (exept of course the asio routing). Good job. The only downside is it's cpu usage. It eats 6-10 percent of my Athlon 64 3000 (according to taskmanager). This was expected though, so not a problem really. Thanks again.

    Edit: Tried with a 3D-shooter as well, and it works fine. This really is something special. I don't think this has been possible earlier with any sw based system. Truly a display of the power of kX and it's proficient users.
     
    Last edited: Nov 21, 2005
  3. dj_stick

    dj_stick Apple Fanboy?

    Joined:
    Jun 3, 2003
    Messages:
    17,575
    Likes Received:
    204
    Trophy Points:
    88
    the Surrounder plus is a component of kX, which is a required install for this
     
  4. Maddogg6

    Maddogg6 Tail Razer

    Joined:
    Jun 21, 2005
    Messages:
    4,027
    Likes Received:
    26
    Trophy Points:
    0
    KX is to be used instead of the CL drivers - btw.
     
  5. Wejgomi

    Wejgomi New Member

    Joined:
    Dec 23, 2002
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    0
    sticky..

    I think this topic(program) deserves to be STICKY at least for some weeks,

    since nobody made it this far for realtime ac3 encoding, true 5.1 experience with home theater systems.. :)
     
  6. SynthDude2001

    SynthDude2001 New Member

    Joined:
    Nov 21, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    0
    I'm hearing several echoes for every playing sound. I've set up the routing and run the encoder program, it appears to work but as I said, I hear lots of delayed (and somewhat distorted) echoes on my analog speakers. Doesn't seem to go away when I play with the SPDIF options. Can't test the digital yet since I won't have access to a receiver until later tonight.

    Any ideas as to what could cause this echoing problem? (I'm sure I'm probably overlooking something really simple...)
     
  7. ojlehtin

    ojlehtin Kx User

    Joined:
    Sep 8, 2003
    Messages:
    31
    Likes Received:
    0
    Trophy Points:
    0
    Why are you using this with analog speakers? RedocneXk is meant really for transmitting any kind of signals to digital receivers only.

    If I'm not completely wrong, here's what's happening: Your audio is routed normally to your wave out. Plus. Your audio is routed to asio and from there to redocneXk and after that decoded and routed to wave out. I'm just shooting air here, but wouldn't this cause some kind of echos? Don't really know where decoded ac3 goes to...
     
  8. Tril

    Tril Triple screen racing ftw

    Joined:
    Sep 26, 2004
    Messages:
    1,665
    Likes Received:
    19
    Trophy Points:
    48
    New version released. Link in first post. I have not noted any significant increase of performance compared to the last version. It should be at least equal to version 1.00. I changed the version of ffmpeg. This version of the AC3 encoder contains one more line of code in the bit allocation function so it's probably better.

    I compiled a normal version, an SSE version and an SSE2 version. I don't know if the SSE and SSE2 versions work because I haven't tested them. I don't know if it will improve something. It's not the AC3 encoder code that has SIMD optimizations, it's the rest of the code.

    Please report back on the SSE, SSE2 versions to tell me if they work and to tell me if they improve the performance (reduce latency, but I doubt it) or if they reduce the CPU usage.

    There is not much more I can do to improve performance. It's close to the most optimized it can get.

    Changelog
    ---------
    version 1.01
    - Modified the ringbuffer algorithm and the buffer size and removed one buffer
    copy action.
    - Moved from ffmpeg formal release 20041113 to the cvs release of 20051121.
    This requires a recompile because the include files changed.
    - Removed a conditional test in the playback function.
    - Moved from Microsoft Visual Studio 6.0 to Microsoft Visual Studio .NET 2003.
    - Compiled for SSE and SSE2. Not tested because my cpu does not support them.
     
  9. Wejgomi

    Wejgomi New Member

    Joined:
    Dec 23, 2002
    Messages:
    8
    Likes Received:
    0
    Trophy Points:
    0
    Tril,

    can you make it a windows program running in system tray silently, cause you cant minimize to tray or hide a dos-prompt program.. :bleh:

    ..appreciate your work
     
    Last edited: Nov 26, 2005
  10. Tril

    Tril Triple screen racing ftw

    Joined:
    Sep 26, 2004
    Messages:
    1,665
    Likes Received:
    19
    Trophy Points:
    48
    I can but I don't don't how right now. I'll have to read some tutorials first. I don't have time for this right now (end of the semester exams are coming) but I'll have time to start working on it in about a month.

    Since you asked, I'm putting it on my list of stuff to do. Please be patient in the meantime.
     
  11. SynthDude2001

    SynthDude2001 New Member

    Joined:
    Nov 21, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    0
    I didn't have a digital receiver to use at the time, I was just monitoring the analog outputs to make sure everything still sounded the same. In any case, when I did hook my PC up to a receiver last night, I still got those echoes over the digital connection when using the encoder sometimes - other times it didn't seem to be sending a signal at all (when the encoder was enabled). In any case, I couldn't get it working right with about an hour of messing with settings, so I just settled for stereo at the time.

    I did think about the possibility of re-decoding the encoded AC3 causing the delays/echos, but I experimented with the SPDIF passthru and 'SPDIF-In AC3 Decode' mode settings, but that didn't seem to change anything. As best I could tell, it was only playing the front channels and echoing those - I did notice that it seems the front left and front right channels are by default routed to a 'Generic SPDIF Left/Right' in the DSP. When I removed those connections/routings (leaving just the six channels from Surrounder going into asio0-5), I lost all sound (even when the encoder program was running). The receiver didn't say Dolby Digital when I had encoding enabled either, but it did work fine with PCM at various sampling rates (and displayed the format correctly). I'm obviously new to all of this and don't really know what I was doing wrong (if anything), but I hope to get it working some day in the future. :)

    Edit: I did just think of one thing that kind of caught my attention at the time. When I ran the encoder program and it's initializing, under the Information heading there was a line that said 'ASIOOutputReady(); = Not supported'. What does that mean, and could it be a cause for the AC3 encoding seemingly not working on my computer?
     
    Last edited: Nov 26, 2005
  12. Tril

    Tril Triple screen racing ftw

    Joined:
    Sep 26, 2004
    Messages:
    1,665
    Likes Received:
    19
    Trophy Points:
    48
    That's unrelated to your problem. It means that ASIOOutputReady() is not used by th kX drivers. It's like that for everyone.

    Make some tests to figure out the problem. Load "Wave Generator 3.0" and connect it's sine wave to asio0 to asio5. You can test them one by one or all at once. First try with passthru disabled. The AC3 icon should popup on the bottom right and you will hear the sound (with the default DSP). That will show that redocneXk works without passthru.

    Now activate passthru and try again. If it works, your receiver should decode and play the sine wave signal.

    Have you ever used passthru (DVDs, etc) before with your receiver and the kX drivers and got it working?
     
  13. SynthDude2001

    SynthDude2001 New Member

    Joined:
    Nov 21, 2005
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    0
    Thanks for the reply. I'll definitely do more testing when I have the opportunity to do so, but unfortunately I do not have regular access to a receiver (of my own), it's mostly at special events like LAN parties from time to time. So it may be a little while before I'm able to spend more time figuring this out. I very much appreciate that you took the time to write a program that does this though, it's just what I've been seeking for those times when I need such a thing. :) (Now I just need to figure out how to set everything up correctly ;))

    Edit: I did not test AC3 passthrough last night. I actually did have that thought to see if it would work, but I did not have any DVD's on me at the time.
     
  14. Gloaming

    Gloaming New Member

    Joined:
    Jun 18, 2004
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    I tested the ac3 Encoder, but I'm a total noob concerning advanced settings (ASIO, Router... etc.) :confused:

    I got it to work but the sound is stuttering. When I use direct sound you don't her anything because the decoder switches continous between "signal" and "no Signal", with wave output it's much better, but it stutters aswell.
    What could be the problem? probably it is the cable, but i can't test this.
    There is no stuttering on the Digital Output without the ac3 Encoder.
    Any ideas?

    System: Audigy 1; P4 2,4Ghz; Win2k; 1024MB Ram
     
  15. Tril

    Tril Triple screen racing ftw

    Joined:
    Sep 26, 2004
    Messages:
    1,665
    Likes Received:
    19
    Trophy Points:
    48
    Your computer is good enough. I have a 1.1 GHz with 256 mB of ram and it does not skip.

    When you start redocneXk, what does the "Name :" tell you? It should start with kX ASIO.

    Try to use redocneXk without activating passthru.

    Disable pasthru in the mixer (AC-3 passthru to off and digital only unchecked).
    Set the surrounder to 2.0 (or what you use with your analog speaker setup).
    Load the plugin "Wave Generator 3.0" connected its first pin to asio0.
    Start redocneXk.

    The kX drivers will decode the AC3 encoded sound and play it on your analog speakers. You should hear the sound on the front left speaker. If it plays well, you know that the problem is maybe in the connection to the receiver.

    If it still skips like you described, there are a few things you can try.

    Maybe you are using ASIO settings that don't work well with your computer.

    Right-click the kX mixer, go to Settings, click "ASIO Control Panel".
    I suggest you try "16 bit / 48 kHz (8+8)" for the format. It usually skips more when using "16 bit / 48 kHz (16+16)".
    It will skip if the latency is too low. For best performance, you can choose any latency between 32 samples to 1536 samples, except 1024 samples. Try a latency of 1536 samples.
    You can also try different Sync methods but m0 is usually one of the best and some others can crash your computer if your computer does not support them.

    This should fix your problem. Report back on your results after trying these steps.
     
  16. radiocolonel.it

    radiocolonel.it New Member

    Joined:
    Jan 16, 2005
    Messages:
    192
    Likes Received:
    0
    Trophy Points:
    0
    LGPL violation

    Hi, Austin, first of all i wanna thank u for your encoder, excellent job!
    Then i would like to give u some suggestions on how to distribute your program.
    You said that the avcodec library is released under LGPL, that's good;
    the way you are distributing your software is not totally legal, you are violating LGPL: i explain u why ( i can tell u for sure since i'm getting my bachelor with thesis on open source software).
    Since avcodec library is released under LGPL, u should include a copy of this license in your zip file; u should include the sources too of this library, OR AT LEAST put a link in the read me indicating where to get the sources of the library.

    get your license copy here:
    http://www.gnu.org/licenses/lgpl.txt

    I tell u this 'cause i'm sure u didn't think about it, but i don't want u get yourself in trouble!!!
    Thanks again
     
  17. Tril

    Tril Triple screen racing ftw

    Joined:
    Sep 26, 2004
    Messages:
    1,665
    Likes Received:
    19
    Trophy Points:
    48
    Thank you radiocolonel.it. I thought that I was doing it correctly as long as I was mentionning that it was under the LGPL.

    I have taken down the links for the day. I will correct this today and it will be back with corrections tonight.

    I'm really sorry about this. I never meant to violate the LGPL.

    EDIT : It's corrected. You can redownload the files and verify if I did it correctly.
     
    Last edited: Nov 29, 2005
  18. radiocolonel.it

    radiocolonel.it New Member

    Joined:
    Jan 16, 2005
    Messages:
    192
    Likes Received:
    0
    Trophy Points:
    0
    You are welcome!!!
    I'm 110% sure u didn't mean to violate lgpl!!!
    You are a good man, a friend and an excellent programmer,
    i posted just because i knew you would appreciate my help!!!
     
  19. radiocolonel.it

    radiocolonel.it New Member

    Joined:
    Jan 16, 2005
    Messages:
    192
    Likes Received:
    0
    Trophy Points:
    0
    Perfect!!! Nice job! I meant that!

    If u need things to be hosted for download, i can host them on my website, i'm willing to do that.

    :)
     
  20. Gloaming

    Gloaming New Member

    Joined:
    Jun 18, 2004
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    0
    I tried all the things u mentioned but the problem is the same.
    I hear the sinus tone on the front left speaker, so your software works :)
    16 bit / 48 kHz (8+8) made it a bit better but it still skips every second.
    Changing the m0 to something different resulted mostly in a total system crash, when starting your software.

    To test the connection between pc and receiver I tried to play a DVD with AC3 Passtrouh on SPDIF. With "Media Player Classic 6.4.8.6" and "VLC Media Player 0.8.4" the same problem. So i read about problems concerning this in some forums and read that with Power DVD or WinDVD this problem doesn't exist. I installed WinDVD7 an tried the same DVD with SPDIF output and it worked very well without skipping anymore. So the cable seems not to be the problem.

    Eventually its a sound filter problem... or sth... I don't know... !?! :D
     

Share This Page

visited