Which audio/video codecs derivitive do ratDVD use?

Hi, I’m curious to find out exacly which audio/video codecs or codec derivitive ratDVD is using for encoding and decoding.
In your FAQ you only state that you do not use H.263 (MPEG-4 ASP) or H.264 (MPEG-4 AVC)?, I just find that a bit odd,
(I don’t want to wildly speculate but I suspect you using a H.264 derivitive for video and down-sampled AC3 for audio?).

Did you really code both your audio and video codec from scratch?, or did you borrow code and specs/docs from others?
Would you consider sharing those codecs with the OSD community so non-DirectShow based players can use them too?
(ex. if you submit the code to decode ratDVD codecs to the FFmpeg project then MPlayer, XINE, VLC, etc. can use them).

PS! Hope you will someday open source your whole project, in the mean-time please consider that when you code ratDVD,
I mean no offense, just know that some GPL’ed project-members (and the MPAA) take code/spec ‘stealing’ very seriously).

hmm, reading my post I realize it might sound a bit offensive but know that isn’t the case, I really wish you all the best.

Best regards and respect / Gamester17

From the ratDVD FAQ

Why didn’t you use a standard codec like XviD, H264?

There are three main reasons I have my own codec. First, I needed to store many of the original MPEG2 features to restore the original. Second, I had this idea that a real transcoder would be better than a decoder/encoder approach. Third, H.264 and XviD (and other standard codecs) are covered by a wide range of patents and patent pools and I wanted to keep the program completely free.

Are there any more details about the Video codec you are using?

RatDVD uses a video codec called XEB. This codec is the result from an experimental project I did with some fellows and that does not use any XviD, x.264, etc. code although by the very nature of it contains routines which is similar in function and even to a small extend in output to what you’ll find out there – obviously I didn’t reinvent video-encoding. Since I have been asked here is a small summary of the codec internals:

* It is block based (No wavelets anywhere)
* It has a dynamic GOP structure, P frames have only one reference frame, B frames two.
* GOPs are significantly longer than normal DVD GOPs and always closed
* To avoid drift in long GOPs it has a build-in intra-refresh mechanism
* It has intra prediction significantly more advanced than MPEG2, but not quite as flexible as H.264
* It uses an integer transformation that approximates DCT
* It uses a piecewise linear adaptive quant. The Quant level is determined for each macroblock by a simple psycho visual model
* It has a primitive in-loop deblocking filter
* Mode decision is part lagrangian optimization, part ad hoc based on statistics manually tuned to fit.
* It uses an in-codec scaler and the actual encoded picture size can vary in both dimensions between GOPs
* In order to maintain navigation ability and the reconvertability the codec suffers some limitations that others don’t
* The MUX format is H.262 + some private extensions

The main reason for this codec was the ability to transport the complete DVD navigation data to be able to recreate the original DVDs. Now that this goal is reached I can look in more detail at the performance and quality optimizations since I believe that there is still a lot more potential.

What is AC-3 VS?

Dolby Virtual Surround AC-3 uses the way your ears works to generate a surround feeling from a 2-channel signal. By using Virtual Surround you’re able to drop the AC3 bitrate from 384 Kbit/s down to 192kbit/s, while maintaining the surround feeling and superior quality. The best audio is uncompressed LPCM which is rare on DVD’s and consumes massive bitrate - especially in a surround configuration (I’ve never seen a surround LPCM DVD although it’s within the spec to make one). Second best is the DTS format. Unfortunately DTS is very expensive in bitrate and isn’t supported by all devices. Insignificantly worse than DTS is 5.1 AC3 which is typically 384 Kbit/s. Obviously 384 kbit/s is around 170 megabyte per hour of movie per audio track which may still be too much. For this situation AC3 VS is a great solution as it gives decent surround performance but at half the bitrate. Other Audio formats like MP3, Ogg-vorbis and so forth, have the significant disadvantage that they’re not supported by stand alone DVD players which would mean a second conversion step would be required with a second step of generation loss. Also they are not designed for surround. Therefore if bitrate is an issue AC-3 Virtual Surround is an ideal solution.

Is the reconverted ratDVD (to DVD) as good as the original?

Yes! There might be some small limitations to the quality based on the settings chosen, but it is a fully functional, compatible, high quality DVD-Video.

Is there any specification or additional technical data available on the ratDVD files and/or components?

Yes. See the Code page for details.

ah!, the FAQ was updated yesterday with the “Are there any more details about the Video codec you are using?” after I posted my question, thx

…though still would love to know the answers to my others questions too (about non-DirectShow based players, FFmpeg, open source, etc.) :wink:

first of all nice to see that someone tried to develop an own video codec, that makes use of new technologies (as covered by h.264/mpeg-4)! :slight_smile:

There are three main reasons I have my own codec. First, I needed to store many of the original MPEG2 features to restore the original. Second, I had this idea that a real transcoder would be better than a decoder/encoder approach.
hm as being someone who knows a bit about video compression, i find these two reasons (which i see as one actually) very strange:
there are two possibilities to get down the bitrate from an existing video stream:

  1. bitrate peeling, which some codecs supports (eg ogg vorbis), but isnt supported in mpeg-2 (the video stream from the dvd)
  2. decoding and reencoding

for me his reasons sound like he does 1) which he names as “transcoding” in contrary as “dec/encoding”, but this sounds very strange and impossible in this case
i cant imagine that there is a way to simply modify an existing mpeg-2 stream partially (eg change the quantisation) and than get the same stream at a lower bitrate

especially this isnt done in the case of ratdvd as it includes things like deblocking and changed GOPs, which clearly tells that the mpeg-2 stream from the dvd gets decoded and than encoded with the ratdvd video encoder

Third, H.264 and XviD (and other standard codecs) are covered by a wide range of patents and patent pools and I wanted to keep the program completely free.

this is strange for two reasons:

  1. his tool already uses ac3 technology, so it violates patent rights already (in most western countries) and is therefore illegal (unless he pays licenses to the patent right holders of ac3 of course)
  2. a patent-pending situation is not only caused when you are fully compliant to mpeg-4, but you are also using patented technology when you simply use one algo, eg covered in mpeg-4, that is patented of course
    as m$’ wmv9/vc-1 showed its practically hardly possible to develop a video codec that does not infringe existing patents. of course you can hide the useage of such tech by staying closed source/format (as m$ did for a long time)

so if the goal would have been to not have to pay licenses because of using patented technology (and therefore be a totally lega tool), i only see two codecs which could have been used:
ogg vorbis for audio encoding
ogg theora for video encoding

Can you please add some technical details on the audio codec and transcoding-process to the FAQ as well?,
sounds like down-sampling AC3 5.1 to AC3 2.0 then up-sample with something like Pro Logic 2 on playback?

Has the ratDVD developers stopped hanging/reading/posting in this forum? :confused:
(…you/they don’t seem to reply to posts here (link) nor here (link) either :sad: )

Is the reconverted ratDVD (to DVD) as good as the original?

Yes! There might be some small limitations to the quality based on the settings chosen, but it is a fully functional, compatible, high quality DVD-Video.
I was hoping (yeah, pretty silly…) for it to be a lossless compression tool, kinda like a FLAC for video… :sad:

I asked too here (link) about ratDVD support in MPlayer, VLC and XINE and never got a reply :sad: …the problem is that the filters that the ratDVD developers released is only a (pre-compiled) DirectShow-filter binary, (not the full source code to the codecs nor the muxers/splitters), and VLC, MPlayer, XINE, etc. are not DirectShow-based so do not support DirectShow filters nativly (because DirectShow is Microsoft Windows propriotory and copyrighted). …so best would be if the ratDVD developers open sourced their codecs and muxer/splitter so that non-DirectShow players can playback ratDVD.

PS! I very much doubt that ratDVD don’t use any code at all from GPL/LGPL codecs, (or take advantage of the patents/specifications held in copyright by the MPAA for MPEG-2 and MPEG-4, or Dolby for AC3), but if they don’t they don’t have to even release the source code of the codecs they have created from scratch, however if they just used a single line of code from a GPL’ed project inside their codec code then they must comply with the GPL license and release the full source code :cop: …they managed to legally workaround the GPL with libdvdnav and imdbexport by encapsulating the code inside a COM server to dynamicly load these when needed (do I don’t see any ratDVD headers for them which they technicaly should have released too) however I don’t see how they can ever get around it with the GPL and other licenses and copyrights of existing video and audio codecs without violating numerous copyrights and even laws, …I don’t know maybe they plan to release the full source code soon in which case I pre-apologize now, I hate to sound like a OSD-zealot but I’m really disappointed that they are still holding on to the should code

I ripped a ratDVD last night, for the first time ever, and tried watching it this morning with Windows Media Player 10. The filename shows up in the playlist with an exclaimation point in front of it, and when I mouseover the filename, a window pops up saying, “A codec is required to play this file.” I have a ton of codecs installed, and can’t find any mention anywhere of what codec I might be missing. The only codec I can see associated with ratDVD is one that I can’t find a download for, XEB, the one mentioned in the ratDVD FAQ.

Any suggestions?

I thought the codec came with ratDVD, are you sure you installed ratDVD right?