Slashdot Mirror


Native Sorenson Playback Comes to Linux

Pivot writes: "With the release of Xine v0.9.11a, it is now possible to play back Quicktime movies encoded with the Sorenson SVQ1 encoding natively. There are still some minor issues with sound, and still no support for SVQ3 encoding, but overall this is a major achievement. Downloads are at xine.sf.net. I wonder what apple will do about this." Note: you may have to cut and paste that "movies" link into a new tab or browser.

32 of 276 comments (clear)

  1. Licensing? Patents? by JoshuaDFranklin · · Score: 5, Interesting

    Licensing? Patents?

    Someone care to explain what the team did about
    these little problems?

    1. Re:Licensing? Patents? by prockcore · · Score: 5, Interesting

      Yes please tell.. I have a fully working SVQ3 codec that I reverse engineered sitting on my harddrive (note, only video, the audio is QDM1 which I haven't done yet) I haven't released it due to blatent patent infringement :) but if Sorenson isn't going do to anything about it.. I may release it after all.

    2. Re:Licensing? Patents? by G-funk · · Score: 5, Insightful

      Stuff them, release it AC somewhere, post it here, then by the time somebody starts to "cease and desist" it'll be too late.

      --
      Send lawyers, guns, and money!
    3. Re:Licensing? Patents? by HeUnique · · Score: 5, Interesting

      Here's a snippet from an email which was posted on FFMPEG's mailing list:

      From: Arpi
      To: ffmpeg-devel@lists.sourceforge.net

      Date: Yesterday 23:02:26

      Hi,

      I've just examined xine's fresh working SVQ1 decoder. It's implemented in a ~60k .c file, and uses a 90k .h containing the tables.

      Looking at the source, it looks like SVQ1 is a tricky h263 variant - as gerard also noticed some time ago. They crypted (don't worry, just order
      change and some xor) the first 4 bytes of the header, to hide it's a h263 one. Ah, and they replaced the patented DCT by recursive VQ.
      And, they use YVU9 (chrominance 4x4 subsampled) instead of YV12 (2x2 subsampling).

      So, as you can see, the SVQ1 guy who wrote the native decoder, replaced the sorenson patented stuff with something free..

      --
      Hetz (Heunique)
    4. Re:Licensing? Patents? by Peter+Harris · · Score: 4, Interesting

      1) Bad laws get made.

      2) Laws are hard to remove once they are in place.

      3) The only way to get real discussion on bad laws sometimes is to defy them.

      4) It is not unethical per se to break a law. It's just that laws are generally made to prohibit unethical behaviour.

      If the letter of the law also has the side-effect of prohibiting some ethical behaviour, what do you do? You do what your conscience permits and take responsibility for your own actions.

      By the way, to head off any stupid straw-man arguments like "what if you think it's OK to kill children?", forget it. Stick to the point. If you have a real reason to believe it is OK for big corporations to restrict what ideas humans can think and write and implement in code, let's hear it.

      Personally, I think it would be easier to defy the abuse of patents in this way than to defy the abuse of copyright law. It should be harder to make the case that someone is "stealing" something they wrote *themselves*.

      --

      -- What do you need?
      -- Gnus. Lots of Gnus.
    5. Re:Licensing? Patents? by JWW · · Score: 3, Interesting

      The US founding fathers broke a lot of laws, yet their goal was to set up their own country with its own government, not end civilization.

      There comes a point when people need to protest a government that no longer adaquately represents them. One such protest is to disobey laws that are viewed as bad or unjust. If enough people (see aformentioned founding fathers) protest then there can be change.

      I will use decss on my PC because I think the DMCA is a bad law. To that end I also will not pirate any DVD's. My rights should be covered over fair use, but my actions are deemed illegal by the DMCA. I choose not to follow it.

      Oh and to keep this on topic, software patents are bogus and should not be honored either. Copyrights (and copylefts for that matter are valid), but to patent software is stupid.

  2. Re:Linux is catchings up... by Phroggy · · Score: 3, Insightful

    This isn't a knock against linux or other *nix's just points out what the weakest links are.

    And a working Sorenson codec available for Linux is a good step toward closing some of those gaps.

    --
    $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
    $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  3. Re:Does it really matter? by Pathwalker · · Score: 4, Informative

    Apple's QT streaming server is free and open source, and runs well on both Linux and FreeBSD.
    You can download a precompiled version from here and the source code from here or by checking it out of their public CVS server.

  4. Re:Linux is catchings up... by 1010011010 · · Score: 4, Insightful

    application developers DONT WANT to target Linux

    That's a problem, but the crappy sound support (OSS, Alsa will be better), non-existant color management (X says: what's that?), poor font support (-including-a-strange-30-year-old-craptacular-nami ng-convention),
    "window managers" making window placement a quirky and non-standard thing, etc. -- are all much more serious problems.

    I like Linux, it runs on my home computers 24/7. But, as Linus recently noted, "all the interesting stuff is on the desktop" -- it's where the most work is needed at the current time.

    How many things in X will we need to fix?
    * font support

    * color management

    * alpha blending support

    * usable configuration (Think Mac, Windows, even BeOS)

    * changing resolutions on the fly

    * vnc (or other RFB) server support, so I can view my desktop -- the one shown on the monitor -- from another computer.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  5. Re:Linux is catchings up... by 1010011010 · · Score: 3, Offtopic

    ctrl-alt[+-] changes the size of the viewport, not the resolution of the display -- it's still whatever x whatever, but you can see only a small window of it at a time. To actually change the resolution, you need to reconfigure and then restart X.

    The Unix VNC server is actually a modified version of Xfree86 3.x, using a memory framebuffer instead of video hardware.

    However, it would be nice to have a version of VNC that plugged into Xfree 4.x and exported the existing display. X has hooks for this, so it should be possible w/o modifying X or producing a special version of it (like with the current Xvnc server). This would allow the viewing of the current desktop from another machine. Yes, X is a networked display, and can display apps running on another machine. But that's not the same as what VNC does for a Windows machine (for instance), or what VNC exporting an existing X session would do.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  6. Re:Linux is catchings up... by 1010011010 · · Score: 3, Informative


    >> font support
    Already prety damn decent, if you use freetype 2.1.1


    Yes, some display support has improved. How about printing? How about font installation? How about obtaining font metrics and outlines from the font system -- oh, wait, you have to ask X for the path and then read the font file yourself, that's right, duh.


    >> alpha blending support
    Keith has also included this in his set of X updates, alpha support is included


    Where? Link? I'd love to see it. All I've seen to this point is his "twm" demo, which was slow and limited (according to Keith).


    >> usable configuration (Think Mac, Windows, ven BeOS)
    Actualy redhat, mandrake, etc are comming a long way with this. (admitedly not there, but closing in)


    This must be one of those invisible features. How do you install a driver, change the refresh rate, color depth, resolution, etc. without editing /etc/X11/XF86Config-4? Why does X require a specific definition of each suitable resolution? can't it query the current monitor like Macs and Winders do (DPMS)?


    >> changing resolutions on the fly
    Configure your X for multiple resolutions, and switch between them with ctrl-alt +/-

    This does not change the resolution of the display, only the size of the viewport.


    >> vnc (or other RFB) server support, so I can view my desktop -- the one shown on the monitor from another computer
    VNC was made by AT&T, had has clients & servers for almost every platform, including linux


    I'll refer you to my other post about this... see below.


    Most of the stuff you mention is pure FUD, or outdated.. (so outdated that you should be comparing linux to windows95 then)
    Please research a bit more before trying to spread more FUD


    It's not FUD, and you're actually the one who's mostly wrong, not me. Plus, you're a little touchy, aren't you? I mean, X isn't a sacrament or anything, and I'm not even suggesting that it has to be replaced.

    --
    Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  7. Re:Linux is catchings up... by NotoriousQ · · Score: 3, Interesting

    Here is what you are looking for
    x0rfbserver

    --
    badness 10000
  8. This is NOT clean-room implemented by Anonymous Coward · · Score: 5, Insightful

    If you read the thread you will see that the author looked at Apple's QT binaries for codebooks to decode some of the encodings. I'm sure there are EULAs that prohibit this. This patch is going to have a lot of legal problems. That's a shame because it is a big boost for QT and thus for Apple, but that's the way it is. I grabbed a copy of it so that when they get an injunction from Apple I'll still be able to post it somewhere in the Free World (ie, not in the US).

    1. Re:This is NOT clean-room implemented by blakestah · · Score: 3, Insightful

      This logic is all confused. You all assume this relates to copyright infringement. It doesn't.

      Patent protection is valid against reverse engineering. Clean room implementations are irrelevant. What needs to be shown is that the functionality is accomplished without using any of the methods in the patent. This is true whether the person making the decoder knew of the methods or not. This is 'working around' a patent.

      Clean-room reverse engineering is useful for making work-alikes of copyrighted methods. In those cases, copyright protects specific expression, and not methods. So, using a different specific expression to accomplish the same methods is fine. The same algorithms can be used.

  9. please contact me by jbridge21 · · Score: 3, Informative

    Please contact me at your earliest convenience at jeffrey AT firehead DOT org. I run the site listed in my .sig and am used to dealing with all sorts of legal BS. I would very much like to see this code out there, and could definitely help with a proper release of it.

  10. Re:Saving the videos : how can I do it? by kubrick · · Score: 3, Informative
    --
    deus does not exist but if he does
  11. Re:Linux is catchings up... by nathanh · · Score: 3, Informative
    Why does X require a specific definition of each suitable resolution? can't it query the current monitor like Macs and Winders do (DPMS)?

    DDC. Yes, XFree86 supports DDC level 1 and level 2. Look in XFree86.0.log and you'll see XFree86 talking to your monitor, discovering refresh rates and supported resolutions, then populating your modelines with what it found. It's all automatic and has been for at least a year.

  12. Re:Linux is catchings up... by Progoth · · Score: 3, Interesting

    and here's a much better one, as long as you're running KDE. passwords work, has an optional confirmation box, and even supports Tight encoding!

  13. Re:who cares by LiENUS · · Score: 3, Insightful

    saying divx is better than quicktime is like saying msie is better than the gimp
    they dont compare
    qt is a container
    you could say qt sucks avi is better
    or sorensen sucks divx is better
    but not qt sucks divx is better.

  14. Re:Linux is catchings up... by The+Mayor · · Score: 3, Informative
    The Unix VNC server does not mirror the current display. It provides a seperate remote display. On Windows VNC lets you use the current display which can be very usefull. I wish the Unix VNC server could provde this feature.


    Try x0rfbserver This does what you want. It's been around for years and years.

    VNC's approach of setting up a separate display is a design feature, designed to take advantage of X's natural ability to support more than one output display. You can also start the regular old AT&T VNC server such that it also starts X in the same session, giving you the same effect as x0rfbserver. This has been there since day one with VNC.

    I only wish the Windows and Mac versions of VNC let you start a session that *didn't* control the current display. This is a failure of the design of the windowing systems under Windows and MacOS. Please don't attribute your lack of knowledge of VNC as a failure in the design of the X Window System or the Unix version of VNC.

    --
    --Be human.
  15. Re:Linux is catchings up... by spitzak · · Score: 3, Interesting
    What I don't understand is why real "changing resolution on the fly" is not added to XFree86. It should be easy, they already do the hard part which is to change the hardware so the memory is drawn on the screen differently.

    The only other thing X keeps track of is the size of the root window. I propose that the server send a ConfigureNotify event to whoever is listening to the root window (probably the window manager) indicating the new size. The window manager can then respond to this by moving and resizing windows (using whatever rules it wants) to get the resized display. Of course the window managers will need to be rewritten but I expect this would happen very quickly.

    The only other thing is the screen size macros on the Display object. It would also help if xlib was changed so requesting the screen size either did a round trip or a signal was added to indicate that the local copies need to be updated. However I don't think this is vital and it can be ignored as most applications don't use the screen size for anything except to figure out the resolution.

  16. Re:who cares by Afrosheen · · Score: 3, Informative

    Uhmm, I don't know about your experience but I've never, ever found pr0n in Quicktime format. It's always Real (crappy), mpeg or some bastard AVI format. In the olden tymes it was ViVo or Real..but never Quicktime.

    The only good this does is let linux users watch quicktime trailers (after they download no doubt).

  17. MPEG 4 on Linux by HalimCMe · · Score: 3, Interesting

    What about MPEG-4 on Linux? I haven't really looked for it, but I was just wondering how well, if at all, it is supported, since the new QuickTime 6 preview supports it.

    MPEG-4 is really sweet stuff. Just as a test today, a friend and I encoded an entire full-length movie that was captured via FireWire DV and encoded it into a 653MB MP4 file using QuickTime 6 on OS X. I was amazed at the quality. It blew away MPEG-1/VCD, DivX, and even Sorenson in video quality, and the audio quality was quite good too, all while fitting on a single 700 MB CD-R.

    I would love to see DVD players support MP4 playback from burned CD-R's. The quality is actually good enough that you can sit back and watch a movie distributed on a single CD and just enjoy it without being annoyed by poor quality video and audio.

    MP4 will really revolutionize video... if the licensing issues don't kill it before it gets off the ground, but that is another story :)

  18. YAXSP (Re:Linux is catchings up...) by po8 · · Score: 4, Informative

    Oh man. Yet another "X sucks" troll. I have no idea why I waste my time with these, but here goes... (and in HTML, no less :-)

    • Font support: Been out for a year. See Xft. Easier to use now with Xft2 and fontconfig.
    • Color management: Been in Xlib for 15 freaking years. See XCMS in the documentation. Application developers never use it, because users never cal their monitors on PC hardware. But it works fine.
    • Alpha blending support: Documentation on the Render extension has been out for a year. Implementation got done two weeks ago. Will be mainstream in a couple of months.
    • Usable configuration: Working on it. "XFree86 -configure" is a step in the right direction. This is probably the most valid complaint on the list, but note that PC graphics and input hardware is notoriously hard to configure, even with Windows.
    • Changing resolutions on the fly: part of the ResizeAndRotate extension. A working implementation of this part is done. Will be released shortly, when the rest of R&R is stable. Note that the ability to change resolutions on the fly has been around for as long as XFree86 via <ctrl><alt><keypad-+>, although the viewport property and the fact that existing apps don't rescale has made it less useful for some needs. It is fairly useful for accessability, though.
    • VNC (or other RFB) server support: This wants to be done via client-side replication, not by bitmap-copying, which is wrong on so many levels. This work is starting now: I would guess about a year to completion. In the meantime, there are plenty of solutions for replicating the server side to another X display: do a web search if you are serious about this.

    I could really stand folks spending 15 minutes doing research before writing these critiques. OTOH, I guess I was successfully trolled, so what do I know?

    1. Re:YAXSP (Re:Linux is catchings up...) by Alan+Shutko · · Score: 3, Interesting

      Font support: NOT fixed yet.

      Does Xft give me access to ligatures and kerning pairs? Does it give me access to outlines for my drawing app? Does it give me access to full fonts I can embed in my PS/PDF output?

      There are a bunch more features that would be nice, but the mere ability to do AA fonts on screen does not equal real font support.

    2. Re:YAXSP (Re:Linux is catchings up...) by 1010011010 · · Score: 3, Insightful

      So what you're saying is that, at the moment, there is no alpha support, usable configuration, resolution and color depth changing, or VNC support, and that there is also no color management support in X applications -- is the XCMS broken? Why don't people use it? Color management gets used on Macs. Why not X, if it's been supported for 15 years?

      SO your post comes down to, "We can use freetype to render truetype fonts." Yeah, okay, what about the -ugly-and-wierd-font-descriptors-it-uses?

      --
      Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
  19. Not your average couch potato by citizenkeller · · Score: 4, Funny
    I have a fully working SVQ3 codec that I reverse engineered sitting on my harddrive

    Man, that must have been uncomfortable!

    --
    -- Serge K. Keller
  20. Re:who cares by Dilbert_ · · Score: 3, Funny

    Hehe, best argument I heard yet. It is well known that all computer progress comes from porn: why else would people need more bandwith, better monitors and larger harddrives? To store Word documents? I thought so ;-)

    --
    superblog.org: all your favourite blogs on o
  21. Re:Does it really matter? by pjrc · · Score: 3, Informative
    how many people do you know that have a Quicktime streaming server? .... Windows Media Services on NT(free as in beer) or Real's Realserver (~$1000+) on Linux. Considering a copy of NT/2000 is about the same as a copy of RealServer, you're shelling $1000 either way.

    As nearly as I can tell, you need to also lay out a similar wad of cash for an encoder to produce "hinted" quicktime video that's usable with Apple's free streaming server.

    If someone knows of a free or cheap way to encoder or convert video to include "hinting" for use with Apple's open-source streaming server, please speak up!

  22. Native is evil by heroine · · Score: 4, Funny

    Is it really politically correct to write native software for Linux anymore? Isn't the main focus of Linux now an emulation platform for Win32?

  23. Apple is planning to leave Sorenson anyways by frankie · · Score: 3, Interesting
    It seems pretty likely that Apple is planning to end their exclusive Sorenson license soon, and switch to using MPEG-4:

    Apple developed its own ISO-compliant MPEG-4 video codec to provide the highest quality results across a wide spectrum of data rates - from narrowband to broadband and beyond. This revolutionary codec offers compression times and video quality that rival those of the best proprietary codecs available, yet it provides true interoperability with other MPEG-4 players and devices.


    That would be huge good news for consumers everywhere (assuming MPEG-LA gives up on the per-minute fee).
  24. MPEG-4 codec will even the playing field by AIXadmin · · Score: 3, Insightful

    The whole purpose of MPEG-4 is that it takes the player out of the game. All that matters is that you can decode/encode MPEG-4. In a year or two, Sorenson should be irrelevant, and XINE will just need MPEG-4 support.
    That being said, doesn't MPEG-4 have some pretty herendous licensing restrictions of its own?
    Slashdotter's, none the less, should be campaigning for sites to support MPEG-4 . If they want Linux, and *BSD to become fully supported across streaming sites.