<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.multimedia.cx/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gamester17</id>
	<title>MultimediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.multimedia.cx/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Gamester17"/>
	<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php/Special:Contributions/Gamester17"/>
	<updated>2026-05-21T20:55:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FluxDVD&amp;diff=13603</id>
		<title>FluxDVD</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FluxDVD&amp;diff=13603"/>
		<updated>2011-09-13T10:09:43Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Extensions: .fluxdvd&lt;br /&gt;
* FOURCCs: ?&lt;br /&gt;
* Company: http://www.fluxdvd.com&lt;br /&gt;
* Originally developed by: [http://www.au.dk/en/ Danish Aarhus University] as [[RatDVD]]&lt;br /&gt;
* Information: http://www.fluxdvd.com/info.html&lt;br /&gt;
* Samples: (in /incoming/)&lt;br /&gt;
&lt;br /&gt;
'''FluxDVD''' is a is a highly compressed file type, containing all the contents of a DVD-Video movie, the format is commercial, patented, closed source and proprietary. Orginally a fork from the [[RatDVD]] project, FluxDVD is currently available only for the Microsoft Windows operating-system. The ratDVD program (transcoder and GUI) works by compressing a full DVD-Video into a .ratDVD file and then playing its contents by decompressing the file and using a [[Microsoft DirectShow API|DirectShow]]-compatible DVD-Video player, (including DVD-Video all features like like navigation, multiple audio and subtitle tracks, video angles, seamless branching, etc.). The .fluxdvd movie files compressed by ratDVD are usually one to two GigaByte in size. If the [[DRM]] ([[Recordable CSS]]) license permits, you can uncompress/burn a &lt;br /&gt;
FluxDVD to DVD-R to get a 100% compatible DVD-Video that plays in every hardware or software DVD-Video player.&lt;br /&gt;
&lt;br /&gt;
FluxDVD was previously available for free under the name ratDVD, (also closed source and proprietary), ratDVD developed by the Danish Aarhus University was kind of a preview version of the now commercially sold FluxDVD. While ratDVD contained the features that allowed the home user to create their own archived DVDs, this function has been removed from FluxDVD, allowing only content owners to make and sell FluxDVD archives. Unlike [[RatDVD]] which acording to their authors used a closed source proprietary video codec, [[FluxDVD]] uses a video codec variant based on the [[H.264]] standard.&lt;br /&gt;
&lt;br /&gt;
==Video codec==&lt;br /&gt;
Video codec variant based on the [[H.264]] standard.&lt;br /&gt;
&lt;br /&gt;
==Audio Codec==&lt;br /&gt;
Standard Dolby Digital [[A52|AC-3]] audio format.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Container==&lt;br /&gt;
ratDVD uses a [[ZIP]] based container format, containing all the contents of a DVD-Video movie. The .fluxdvdDVD files are usually one to two gigabytes in size. Additionally a fluxDVD can contain tagging, cover and label data to enable you to create a cover for the DVD-Video movie.&lt;br /&gt;
&lt;br /&gt;
'''&amp;gt; unzip -l example.fluxdvd'''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   Length     Date   Time    Name&lt;br /&gt;
  --------    ----   ----    ----&lt;br /&gt;
        94  09-23-05 13:59   Version.xml&lt;br /&gt;
      4497  09-24-05 01:12   AV_TS\StreamData.xml&lt;br /&gt;
     10240  09-24-05 01:12   AV_TS\VIDEO_TS.IFO&lt;br /&gt;
    106496  09-24-05 01:12   AV_TS\VTS_01_0.IFO&lt;br /&gt;
     14336  09-24-05 01:12   AV_TS\VTS_02_0.IFO&lt;br /&gt;
     14336  09-24-05 01:12   AV_TS\VTS_03_0.IFO&lt;br /&gt;
     14336  09-24-05 01:12   AV_TS\VTS_04_0.IFO&lt;br /&gt;
       243  09-23-05 14:07   AV_TS\VTS_01_0.VSI&lt;br /&gt;
     16723  09-24-05 00:59   AV_TS\VTS_01_1.VSI&lt;br /&gt;
       159  09-24-05 01:04   AV_TS\VTS_02_1.VSI&lt;br /&gt;
        63  09-24-05 01:05   AV_TS\VTS_03_1.VSI&lt;br /&gt;
       191  09-24-05 01:12   AV_TS\VTS_04_1.VSI&lt;br /&gt;
  11692032  09-23-05 14:07   AV_TS\VTS_01_0.XVO&lt;br /&gt;
1073739776  09-23-05 14:17   AV_TS\VTS_01_1.XVO&lt;br /&gt;
 321810432  09-23-05 23:06   AV_TS\VTS_01_2.XVO&lt;br /&gt;
   9205760  09-24-05 01:04   AV_TS\VTS_02_1.XVO&lt;br /&gt;
   1929216  09-24-05 01:05   AV_TS\VTS_03_1.XVO&lt;br /&gt;
  13617152  09-24-05 01:12   AV_TS\VTS_04_1.XVO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[xvo|XVO]] - the FluxDVD (and [[RatDVD]] video container format)&lt;br /&gt;
*[[FluxWMV]] - derivitive of FluxDVD which uses the WMV video format&lt;br /&gt;
*[[ratDVD]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;br /&gt;
[[Category: Formats missing in FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_Of_Code_2009&amp;diff=11504</id>
		<title>FFmpeg Summer Of Code 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_Of_Code_2009&amp;diff=11504"/>
		<updated>2009-04-12T14:16:03Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* GStreamer input */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Current Status ==&lt;br /&gt;
&lt;br /&gt;
This list is still a work-in-progress, please see also the [[Talk:FFmpeg Summer Of Code 2009|Talk Page]].&lt;br /&gt;
&lt;br /&gt;
== Qualification tasks ==&lt;br /&gt;
&lt;br /&gt;
For us to consider your application for SoC we require a completed qualification task. Choose a task from the [[Small FFmpeg Tasks|Small Tasks list]], send an email to FFmpeg-devel mailing list to inform that you are working on it (to avoid duplicated work) and when it is ready submit it for review at FFmpeg-devel. The task is considered completed when your patch is accepted to our main SVN tree.&lt;br /&gt;
&lt;br /&gt;
Before posting to ffmpeg-devel, make sure you read and understand [http://www.ffmpeg.org/contact.html our netiquette guidelines], especially avoid top-posting. Before you send us your patch, read our [http://www.ffmpeg.org/general.html#SEC23 development guidelines] and make sure your patch fulfills all the requirements stated there.&lt;br /&gt;
&lt;br /&gt;
A completed FFmpeg qualifications task is also accepted as a qualification task for the VLC organization (does NOT include x264).&lt;br /&gt;
&lt;br /&gt;
== 1st Tier Project Proposals ==&lt;br /&gt;
1st tier project proposals are project ideas that are reasonably well defined '''AND''' have a mentor volunteered.&lt;br /&gt;
&lt;br /&gt;
=== S/PDIF muxer ===&lt;br /&gt;
* Info: [[SPDIF|Spdif]]&lt;br /&gt;
* Implement a muxer capable to mux:&lt;br /&gt;
** DTS, all 3 packing modes and the usable HD extensions&lt;br /&gt;
** AC3, eAC3 also&lt;br /&gt;
** PCM&lt;br /&gt;
** WMApro&lt;br /&gt;
** AAC&lt;br /&gt;
** Mpeg-audio, layer 2 and 3&lt;br /&gt;
&lt;br /&gt;
Implement support in ffplay so that it is possible to output the audio stream over S/PDIF when playing a media file.&lt;br /&gt;
&lt;br /&gt;
''Mentor: Benjamin Larsson, Andreas Öman''&lt;br /&gt;
&lt;br /&gt;
=== Flash Screen video 2 codec ===&lt;br /&gt;
* Implement a flashsv2 decoder and encoder. And extend the current flashsv encoder to support optimal 2-pass encoding.&lt;br /&gt;
* Specs: http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v10.pdf&lt;br /&gt;
''Mentor: Benjamin Larsson''&lt;br /&gt;
&lt;br /&gt;
=== [[MPEG-4 ALS]] decoder ===&lt;br /&gt;
*primary goal: stream copy of ALS frames in MP4 files from the [http://www.nue.tu-berlin.de/forschung/projekte/lossless/refsoft/mp4alsRM22rev2.zip reference encoder]&lt;br /&gt;
** detect codec_id&lt;br /&gt;
** preserve extradata&lt;br /&gt;
*primary goal: write the decoder based on the ISO specification&lt;br /&gt;
** ISO/IEC 14496-3:2005/Amd.2:2006, related corrigenda, and other pertinent ISO documents&lt;br /&gt;
*primary goal: decode files with basic ALS features&lt;br /&gt;
** integer samples&lt;br /&gt;
** LPC&lt;br /&gt;
** rice coding&lt;br /&gt;
** joint-stereo&lt;br /&gt;
*secondary goal: decode files with more advanced ALS features&lt;br /&gt;
** floating-point samples&lt;br /&gt;
** block switching&lt;br /&gt;
** LTP (long term prediction)&lt;br /&gt;
** BGMC (arithmetic coding)&lt;br /&gt;
** MCC (advanced multi-channel)&lt;br /&gt;
** RLSLMS (backward-adaptive prediction)&lt;br /&gt;
*secondary goal: pass the ISO conformance tests&lt;br /&gt;
*secondary goal: handle anything the reference encoder can come up with&lt;br /&gt;
''Mentor: Justin Ruggles''&lt;br /&gt;
&lt;br /&gt;
=== RTMP Support (Flash streaming) ===&lt;br /&gt;
*primary goal: implement a RTMP URLProtocol and/or demuxer if needed.&lt;br /&gt;
*secondary goal: extend FFserver to support RTMP streaming.&lt;br /&gt;
** implementation must be compatible with Flash plugin.&lt;br /&gt;
&lt;br /&gt;
''Mentor: Baptiste Coudurier''&lt;br /&gt;
&lt;br /&gt;
=== Playlist/Concatenation Support ===&lt;br /&gt;
*primary goal: implement a playlist/concatenation interface to transcode(FFmpeg) and play(FFplay) media&lt;br /&gt;
** interface will use commandline switches.&lt;br /&gt;
** interface must support every input format FFmpeg support&lt;br /&gt;
** interface must work with different input stream parameters (different formats, codecs, video resolution, audio sample rate, audio channels, etc..)&lt;br /&gt;
** interface must support track selection&lt;br /&gt;
** interface must support existing playlist format files .m3u, .pls, xpsf.&lt;br /&gt;
&lt;br /&gt;
''Mentor: Baptiste Coudurier''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== NEW Seeking API ===&lt;br /&gt;
*primary goal: implement a new seeking API in libavformat&lt;br /&gt;
** implement av_seek_file in libavformat&lt;br /&gt;
** implement compatible new seek_file for all AVInputFormat porting existing seek function if possible.&lt;br /&gt;
** implement av_build_index function which will build an AVIndex for the file&lt;br /&gt;
** implement av_export_index function which will save AVIndex in a file which can be loaded later.&lt;br /&gt;
&lt;br /&gt;
''Mentor: Baptiste Coudurier''&lt;br /&gt;
&lt;br /&gt;
=== Improve RTSP/RTP layer ===&lt;br /&gt;
*primary goal: cleanup code the structure&lt;br /&gt;
*primary goal: improve the receiver compatibility&lt;br /&gt;
** Add support for more widespread formats ([list will follow check gst live555 and feng])&lt;br /&gt;
*** X-Qt/quicktime depayloader (see [http://www.gnome.org/~rbultje/ffmpeg-patchset/ X-QT patch])&lt;br /&gt;
*** vorbis and theora depayloader (see [[Small_FFmpeg_Tasks#Implement_the_RTP.2FVorbis_payload]])&lt;br /&gt;
*** h263 and h263+ (see [http://roundup.ffmpeg.org/roundup/ffmpeg/issue678 Issue 678])&lt;br /&gt;
*** ...more...&lt;br /&gt;
** support Quicktime http tunnel mode &lt;br /&gt;
*secondary goal: provide an API to expose the rtcp layer (and the equivalent in RDT dialect)&lt;br /&gt;
*secondary goal: try to support subtitle streams (either as rtcp-xr or application/text stream)&lt;br /&gt;
*secondary goal: make VideoLanClient, MPlayer and Xine use ffmpeg rtsp&lt;br /&gt;
&lt;br /&gt;
''Mentor: Luca Barbato, Ronald S. Bultje''&lt;br /&gt;
&lt;br /&gt;
=== AACS implementation ===&lt;br /&gt;
* Add the ability to encode and decode using Advanced Access Content System to FFmpeg.&lt;br /&gt;
* Specifications: http://www.aacsla.com/specifications/&lt;br /&gt;
* existing implementation e.g. DumpHD: http://forum.doom9.org/showthread.php?t=123111&lt;br /&gt;
* Most parts (BD-J, MKB, title key generation) probably do not belong into FFmpeg, this should be discussed with us before submitting an application&lt;br /&gt;
** possible solution: only implement &amp;quot;lowest&amp;quot; level (decode given the correct title key) but implement CSS en- and decryption as secondary goal&lt;br /&gt;
&lt;br /&gt;
''Mentor: Reimar Döffinger''&lt;br /&gt;
&lt;br /&gt;
=== [[Libavfilter]] video work ===&lt;br /&gt;
Libavfilter is the FFmpeg filtering library that started as a 2007 SoC [[FFmpeg Summer Of Code#Video Filter API (AKA libavfilter)|project]]. It should replace the now removed vhook subsystem. Most of it is already part of the FFmpeg main source tree, but there a few bits remaining. This project would consist in the following tasks&lt;br /&gt;
&lt;br /&gt;
* Get the remaining bits of the SoC tree committed, including the ffmpeg.c and ffplay.c patch&lt;br /&gt;
* Get libavfilter enabled in the main SVN tree&lt;br /&gt;
* Write a watermark filter (this is one of the most commonly requested FFmpeg feature)&lt;br /&gt;
* Write a expand/pad filter (see [http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/85015] and [http://thread.gmane.org/gmane.comp.video.ffmpeg.soc/2779/]&lt;br /&gt;
* Port all MPlayer filters at libmbcodec/vf_* (do not forget asking the authors if it is ok to release them under the LGPL)&lt;br /&gt;
&lt;br /&gt;
see also this ffmpeg-devel message: [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-March/064817.html]&lt;br /&gt;
&lt;br /&gt;
''Mentor: To be determined, [[User:Vitor|Vitor Sessak]] if no one else shows up''&lt;br /&gt;
&lt;br /&gt;
=== [[Libavfilter]] audio work ===&lt;br /&gt;
At the moment, FFmpeg filtering library has no support at all for handling audio. This task would consist of&lt;br /&gt;
&lt;br /&gt;
* Expanding the libavfilter framework to work with audio&lt;br /&gt;
* Writing a resampling/format conversion filter (starting with just a wrapping code at libavcodec/resample.c)&lt;br /&gt;
** Can it be made clear that ideally we'd want N-channel resampling? [[User:superdump|Rob]]&lt;br /&gt;
*** I'm listing here the tasks in the order I'd want see them done chronologically. I think first of all he should write a filter that is just a wrapper (and nothing more) of the code in resample.c. Making it more general is my point #4. I'm trying to focus in getting the general infrastructure in SVN, even if without a lot of fancy filters. [[User:Vitor|Vitor]] 17:52, 22 March 2009 (EDT)&lt;br /&gt;
* Implement negotiation of sample format and number of channels analogously to the libavfilter colorspace negotiation&lt;br /&gt;
** Does this imply a channel mixing filter? This would be the second most desirable basic audio filter in my opinion. [[User:superdump|Rob]]&lt;br /&gt;
*** Yes, but it to begin with, he could just write a wrapper around libavcodec/resample.c (see my next point) [[User:Vitor|Vitor]] 17:52, 22 March 2009 (EDT)&lt;br /&gt;
* Make the resampling filter works for several combinations of sample format and channels&lt;br /&gt;
* Write a visualization filter as proof-of-concept of a filter that works with both video and audio&lt;br /&gt;
&lt;br /&gt;
''Mentor: To be determined, [[User:Vitor|Vitor Sessak]] if no one else shows up''&lt;br /&gt;
&lt;br /&gt;
=== [[AMR-NB]] decoder ===&lt;br /&gt;
&lt;br /&gt;
* Continue and complete the fundamental debugging of the floating point AMR-NB decoder&lt;br /&gt;
* Implement/reuse the missing post filters&lt;br /&gt;
* Clean up the code, refactor it as appropriate to share code with QCELP and others&lt;br /&gt;
* Submit for review and tend to review comments&lt;br /&gt;
* Implement further non-essential features such as comfort noise&lt;br /&gt;
&lt;br /&gt;
''Mentor: [[User:superdump|Robert Swain]]''&lt;br /&gt;
&lt;br /&gt;
=== QCELP decoder missing features ===&lt;br /&gt;
&lt;br /&gt;
* Implement missing features in the QCELP decoder&lt;br /&gt;
&lt;br /&gt;
''Mentor: [[User:superdump|Robert Swain]]''&lt;br /&gt;
&lt;br /&gt;
: This task is probably too small on its own so if you would like to do it, also look at the completion of the AMR-NB decoder task above as they may be merged into one CELP task.   --[[User:superdump|Robert Swain]]&lt;br /&gt;
&lt;br /&gt;
== 2nd Tier Project Proposals ==&lt;br /&gt;
All that separates these proposals from their 1st tier brethren is a mentor.&lt;br /&gt;
&lt;br /&gt;
=== Finish SoC projects from previous years ===&lt;br /&gt;
Some projects are lingering in the dark unfinished. They should be picked up and made ready for inclusion. These projects are potentially less involved than starting from scratch, but also more useful for FFmpeg since the probability that the projects get finished should be higher. If some of them are deemed too easy, they could be combined.&lt;br /&gt;
&lt;br /&gt;
Unfinished projects from previous years are:&lt;br /&gt;
&lt;br /&gt;
2007:&lt;br /&gt;
* JPEG 2000 decoder&lt;br /&gt;
* JPEG 2000 encoder&lt;br /&gt;
* Dirac decoder&lt;br /&gt;
* Dirac encoder&lt;br /&gt;
* TS muxer&lt;br /&gt;
&lt;br /&gt;
2008:&lt;br /&gt;
* Generic frame-level multithreading support&lt;br /&gt;
* AAC-LC encoder&lt;br /&gt;
* WMA Pro decoder&lt;br /&gt;
&lt;br /&gt;
=== Implement a better regressions test system ===&lt;br /&gt;
* Split up the current regtests&lt;br /&gt;
* Add tests for all the missing formats and codecs to FATE&lt;br /&gt;
&lt;br /&gt;
=== Finish ACELP.NET / G.729 decoder ===&lt;br /&gt;
Some parts of a [[ACELP.net|ACELP.net / G.729]] decoder are inside and outside of FFmpeg, see [[Interesting Patches#ACELP.net_and_G.729_decoder_by_Vladimir_Voroshilov|the entry on the interesting patches page]]. They need to get cleaned up, finished and integrated.&lt;br /&gt;
&lt;br /&gt;
=== libvo ===&lt;br /&gt;
* Port MPlayer's libvo to ffplay&lt;br /&gt;
* Note that this does not just mean to produce a working hack so that ffplay can use xv, but a clean and acceptable wrapper for (most of) libvo.&lt;br /&gt;
&lt;br /&gt;
=== GStreamer input ===&lt;br /&gt;
* Like we have vfw input we could have a gstreamer input format also. This would enable support of wmapro and wmalossless until these formats are RE'd. GStreamer input support could possible also enable [[DRM]] support, even under Linux/Unix.&lt;br /&gt;
''Mentor: Christian Schaller''&lt;br /&gt;
&lt;br /&gt;
=== AMR-WB Decoder ===&lt;br /&gt;
* Specification: http://www.3gpp.org/ftp/Specs/html-info/26-series.htm&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/A-codecs/amr/&lt;br /&gt;
Also see [[AMR]].&lt;br /&gt;
&lt;br /&gt;
=== GSM Decoder ===&lt;br /&gt;
* Specification + sample implementation: http://kbs.cs.tu-berlin.de/~jutta/toast.html&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/A-codecs/GSM/&lt;br /&gt;
Also see [[GSM]].&lt;br /&gt;
&lt;br /&gt;
=== Sipr Decoder ===&lt;br /&gt;
* Specification: will be provided&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/real/AC-sipr/&lt;br /&gt;
Also see [[RealAudio sipr]] and [[Interesting_Patches#RealAudio_SIPR_.4016k_decoder_and_demuxer_by_Vladimir_Voroshilov|this patch]].&lt;br /&gt;
&lt;br /&gt;
=== Speex Decoder ===&lt;br /&gt;
* Specification:  http://speex.org/docs/&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/A-codecs/speex/&lt;br /&gt;
Also see [[Speex]].&lt;br /&gt;
&lt;br /&gt;
=== AMR-NB Encoder ===&lt;br /&gt;
* Specification: http://www.3gpp.org/ftp/Specs/html-info/26-series.htm&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/A-codecs/amr/&lt;br /&gt;
Also see [[AMR]].&lt;br /&gt;
&lt;br /&gt;
=== VP6 Encoder ===&lt;br /&gt;
* Specification: [[On2 VP6]]&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/V-codecs/VP6/&lt;br /&gt;
&lt;br /&gt;
=== WMV3 Encoder ===&lt;br /&gt;
* Clearly defined task&lt;br /&gt;
* Primary goal: Encode video sequences such that they can be decoded by a Windows Media player.&lt;br /&gt;
&lt;br /&gt;
This could either be done by improving [[Interesting Patches#WMV3 encoder by Denis Fortin|this patch]] or by writing the encoder from scratch.&lt;br /&gt;
&lt;br /&gt;
=== Improve subtitle support ===&lt;br /&gt;
&lt;br /&gt;
* Add text-to-bitmap conversion functions&lt;br /&gt;
* One with hard-coded bitmaps for characters&lt;br /&gt;
* One that utilizes freetype&lt;br /&gt;
* Function used will be chosen upon compilation&lt;br /&gt;
&lt;br /&gt;
Adjust existing subtitle support to new ABI&lt;br /&gt;
* ABI change: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-January/058521.html&lt;br /&gt;
&lt;br /&gt;
=== VC-1 Interlaced Support ===&lt;br /&gt;
* Add support for interlaced streams as used in Bluray recordings to the VC-1 decoder.&lt;br /&gt;
* This includes fixing some reference streams&lt;br /&gt;
&lt;br /&gt;
=== Improve Ratecontrol ===&lt;br /&gt;
*Primary goal 1: Fast heuristic VBV compliant per macroblock ratecontrol which has a better PSNR/bitrate and better subjective quality/bitrate than the current code. &lt;br /&gt;
*Primary goal 2: VBV compliant, rate distortion optimal per macroblock ratecontrol using the viterbi algorithm. &lt;br /&gt;
*Secondary goal 1: Fast heuristic scene change detection which detects scene changes more accurately, has better PSNR/bitrate and subjective quality/bitrate than the current heuristic. &lt;br /&gt;
*Secondary goal 2: Rate distortion optimal (for the current picture) scene change detection. &lt;br /&gt;
*Secondary goal 3: B frames decision which is faster and or has a higher PSNR/bitrate and subjective quality/bitrate than the current code.&lt;br /&gt;
&lt;br /&gt;
=== WMA lossless ===&lt;br /&gt;
* Implement a decoder for WMA lossless (0x0163)&lt;br /&gt;
* Reuse as much libavcodec code as possible&lt;br /&gt;
* Samples: http://samples.mplayerhq.hu/A-codecs/WMA9/wma_0x163.wma http://samples.mplayerhq.hu/A-codecs/lossless/luckynight.wma&lt;br /&gt;
&lt;br /&gt;
=== WTV (de)muxer ===&lt;br /&gt;
* Implement a demuxer (and possibly a muxer) for the [[WTV]] file format.&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Small_FFmpeg_Tasks&amp;diff=11503</id>
		<title>Small FFmpeg Tasks</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Small_FFmpeg_Tasks&amp;diff=11503"/>
		<updated>2009-04-12T14:09:41Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* Port missing demuxers from MPlayer to FFmpeg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains ideas for small, relatively simple tasks for the [[FFmpeg]] project. People who might be interested in trying one of these tasks:&lt;br /&gt;
* Someone who wants to contribute to FFmpeg and needs to find a well-defined task to start with&lt;br /&gt;
* Someone who wishes to qualify for one of FFmpeg's coveted [[FFmpeg Summer Of Code|Summer of Code]] project slots&lt;br /&gt;
* An existing FFmpeg developer who has been away from the project for a while and needs a smaller task as motivation for re-learning the codebase&lt;br /&gt;
&lt;br /&gt;
For other tasks of varying difficulty, see the [[Interesting Patches]] page.&lt;br /&gt;
&lt;br /&gt;
'''If you would like to work on one of these tasks''', please take these steps:&lt;br /&gt;
* Subscribe to the [https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel FFmpeg development mailing list] and indicate your interest&lt;br /&gt;
* Ask [[User:Multimedia Mike|Multimedia Mike]] for a Wiki account so you can claim your task on this Wiki&lt;br /&gt;
&lt;br /&gt;
'''If you would like to add to this list''', please be prepared to explain some useful details about the task. Excessively vague tasks with no supporting details will be ruthlessly deleted.&lt;br /&gt;
&lt;br /&gt;
=== Finish up a previous incomplete SoC project ===&lt;br /&gt;
&lt;br /&gt;
Several SoC projects from previous years have not yet made it into FFmpeg. Taking any of them and finishing them up to the point that they can be included should make for a good qualification task. Check out the [[FFmpeg Summer Of Code]] overview page and look for the unfinished projects, like AMR-NB, Dirac, TS muxer, JPEG 2000.&lt;br /&gt;
&lt;br /&gt;
=== Generic Colorspace system ===&lt;br /&gt;
This task involves adding support more than 8 bits per component (Y on 10 bits, U on 10 bits, V on 10 bits for example)&lt;br /&gt;
and generic simple conversion to other colorspaces.&lt;br /&gt;
&lt;br /&gt;
''Does this have to do with revising FFmpeg's infrastructure? If so, then it doesn't feel like a qualification task. If it's something simpler, then the vague description does not convey that simplicity. Please expound.'' --[[User:Multimedia Mike|Multimedia Mike]] 12:56, 25 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
''I don't think so, extending PixFmt to extended structure with finegrained description like depth, range values, colorspace, sample period, and write generic simple conversion from all formats to all others, like suggested by Michael on the mailing list. Conversion routine can be a good qualification task for video encoders/decoders. What do you think ?&lt;br /&gt;
--[[User:Bcoudurier|Baptiste Coudurier]] 00:30, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
''* Adding the [[YCoCg]] colorspace (with different sized planes) for RGB sourced pictures would be nice too. [[User:Elte|Elte]] 07:15, 16 March 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
=== Make the SoC dts encoder multichannel capable ===&lt;br /&gt;
Here is a skeleton for a dts encoder http://svn.mplayerhq.hu/soc/dcaenc/, currently it can only encode stereo streams.&lt;br /&gt;
The task is to extend it to support 5.1 channels also.&lt;br /&gt;
&lt;br /&gt;
Specs and info can be found here:&lt;br /&gt;
http://wiki.multimedia.cx/index.php?title=DTS&lt;br /&gt;
&lt;br /&gt;
=== GIF LZW Encoder and extend Encoder and Decoder to support Animated GIFs ===&lt;br /&gt;
&lt;br /&gt;
Lzw encoder is already used for TIFF, it must be extended to support GIF flavor.&lt;br /&gt;
&lt;br /&gt;
:''Claimed by Samuel Simon''&lt;br /&gt;
&lt;br /&gt;
=== Implement a Vivo demuxer for FFmpeg ===&lt;br /&gt;
Implement an FFmpeg demuxer for the [[Vivo]] file format. The best reference for understanding the format would be MPlayer's [http://svn.mplayerhq.hu/mplayer/trunk/libmpdemux/demux_viv.c?view=markup existing .viv demuxer].&lt;br /&gt;
&lt;br /&gt;
This task corresponds to issue 99: http://roundup.ffmpeg.org/roundup/ffmpeg/issue99&lt;br /&gt;
&lt;br /&gt;
''I am ready to help out with understanding MPlayer's demuxer, esp. MPlayer API stuff if necessary.&lt;br /&gt;
--[[User:Reimar|Reimar]] 15:46, 1 March 2008 (EST)&lt;br /&gt;
:Daniel Verkamp is currently working on this task as a qualification for Google SoC 2009 --[[User:Ce|Ce]] 05:30, 21 March 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
=== Port missing demuxers from MPlayer to FFmpeg ===&lt;br /&gt;
MPlayer supports a few container formats in libmpdemux that are not yet present in libavformat. Porting them over and gettting them relicensed as LGPL or reimplementing them from scratch should make reasonable small tasks.&lt;br /&gt;
&lt;br /&gt;
# TiVo -- ''Jai Menon is working on this''&lt;br /&gt;
# VIVO -- ''Daniel Verkamp has a patch for this''&lt;br /&gt;
# XMMS&lt;br /&gt;
# libnemesi (the RTSP/RTP client library)&lt;br /&gt;
# SL support for MPEG-TS&lt;br /&gt;
# MNG&lt;br /&gt;
&lt;br /&gt;
=== Optimal Huffman tables for (M)JPEG ===&lt;br /&gt;
This task is outlined at http://guru.multimedia.cx/small-tasks-for-ffmpeg/ and is tracked in the issue tracker: http://roundup.ffmpeg.org/roundup/ffmpeg/issue267&lt;br /&gt;
:Indrani Kundu Saha is currently working on this task as a qualification for Google SoC 2009 --[[User:Ce|Ce]] 19:41, 13 March 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
=== YOP Playback System ===&lt;br /&gt;
This task is to implement an FFmpeg playback subsystem for [[Psygnosis YOP]] files. This will entail writing a new file demuxer and video decoder, both of which are trivial by FFmpeg standards. [[Psygnosis YOP|The Psygnosis YOP page]] contains the specs necessary to complete this task and points to downloadable samples.&lt;br /&gt;
&lt;br /&gt;
=== M95 Playback System ===&lt;br /&gt;
This task is to implement an FFmpeg playback subsystem for [[M95]] files. This will entail writing a new file demuxer and video decoder (the audio is already uncompressed), both of which are trivial by FFmpeg standards. [[M95|The M95 page]] contains the specs necessary to complete this task and points to downloadable samples.&lt;br /&gt;
:''Claimed by Tomren&lt;br /&gt;
&lt;br /&gt;
=== BRP Playback System ===&lt;br /&gt;
This task is to implement an FFmpeg playback subsystem for [[BRP]] files. This will entail writing a new file demuxer as well as a video decoder that can handle at least 2 variations of format data. Further, write an audio decoder for the custom DPCM format in the file. All of these tasks are considered trivial by FFmpeg standards. [[BRP|The BRP page]] contains the specs necessary to complete this task and points to downloadable samples for both known variations.&lt;br /&gt;
&lt;br /&gt;
=== 16-bit Interplay Video Decoder ===&lt;br /&gt;
FFmpeg already supports [[Interplay MVE]] files with [[Interplay Video|8-bit video data]] inside. This task involves supporting 16-bit video data. The video encoding format is mostly the same but the pixel size is twice as large. Engage the ffmpeg-devel list to discuss how best to approach this task.&lt;br /&gt;
&lt;br /&gt;
=== 16-bit VQA Video Decoder ===&lt;br /&gt;
FFmpeg already supports Westwood [[VQA]] files. However, there are 3 variations of its custom video codec. The first 2 are supported in FFmpeg. This task involves implementing support for the 3rd variation. Visit the VQA samples repository: http://samples.mplayerhq.hu/game-formats/vqa/ -- The files in the directories Tiberian Sun VQAs/, bladerunner/, and dune2000/ use the 3rd variation of this codec. The [[VQA|VQA page]] should link to all the details you need to support this format.&lt;br /&gt;
&lt;br /&gt;
:''Claimed by Deep Pal/The Deep Explorer ([http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-March/065522.html reference])''&lt;br /&gt;
&lt;br /&gt;
=== HNM4 Playback System ===&lt;br /&gt;
This task is to implement an FFmpeg playback subsystem for [[HNM4]] variant of the [[HNM]] format. This will entail writing a new file demuxer and video decoder, both of which are trivial by FFmpeg standards. [[HNM4|The HNM4 page]] contains the specs necessary to complete this task and links to downloadable samples.&lt;br /&gt;
&lt;br /&gt;
=== Apple RPZA encoder ===&lt;br /&gt;
A patch was once sent to the ffmpeg-devel mailing list to include an encoder for the [[Apple RPZA]] video codec. That code can be found on the &amp;quot;[[Interesting Patches]]&amp;quot; page. This qualification task involves applying that patch so that it can compile with current FFmpeg SVN code and then cleaning it up per the standards of the project. Engage the mailing list to learn more about what to do.&lt;br /&gt;
:''Claimed by Jai Menon''&lt;br /&gt;
&lt;br /&gt;
=== QuickTime Edit List Support ===&lt;br /&gt;
Implement edit list support in FFmpeg's QuickTime demuxer (libavformat/mov.c). This involves parsing the 'elst' atom in a QuickTime file. For a demonstration of how this is a problem, download the file menace00.mov from http://samples.mplayerhq.hu/mov/editlist/ and play it with ffplay or transcode it with ffmpeg. Notice that the audio and video are ever so slightly out of sync. Proper edit list support will solve that. Other samples in that directory also presumably exhibit edit list-related bugs. The [http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_qt.c?view=markup Xine demuxer] has support for this, it might be useful for hints.&lt;br /&gt;
&lt;br /&gt;
:Krishna Gadepalli is working on this (patch submitted to ffmpeg-devel , currently in review) --[[User:Compn|Compn]] 10:35, 14 March 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
=== Implement the Flash Screen Video codec version 2 ===&lt;br /&gt;
FFmpeg is missing both a decoder and an encoder. Would be nice to have that.&lt;br /&gt;
&lt;br /&gt;
:''Daniel Verkamp is working on this''&lt;br /&gt;
&lt;br /&gt;
=== Add wma fixed point decoder back into libavcodec ===&lt;br /&gt;
http://svn.rockbox.org/viewvc.cgi/trunk/apps/codecs/libwma/&lt;br /&gt;
Rockbox's fixed-point WMA decoder was adapted from the decoder in libavcodec.&lt;br /&gt;
&lt;br /&gt;
=== RealAudio 14.4 encoder ===&lt;br /&gt;
FFmpeg contains a decoder for [[RealAudio 14.4]], a farily simple integer CELP codec.  Write an encoder.  This would be a good qualification task for anyone interested in working on AMR, Speex, or sipr.&lt;br /&gt;
&lt;br /&gt;
=== VC1 timestamps in m2ts ===&lt;br /&gt;
&lt;br /&gt;
Codec copy of VC1 from m2ts currently doesn't work. Either extend the VC1 parser to output/fix timestamps, or fix the timestamps from m2ts demuxing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== FLIC work ===&lt;br /&gt;
&lt;br /&gt;
Revise the [[Flic Video]] decoder at libavcodec/flicvideo.c to support video transported in AVI or MOV files while making sure that data coming from the usual FLI files still works. 'AFLC' and 'flic' FourCC samples are linked from the [[Flic Video]] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== CorePNG Decoder ===&lt;br /&gt;
&lt;br /&gt;
Extend FFmpeg's PNG decoder to handle the difference frames and [[YUV]] colorspace added in [[CorePNG]]. Sample at [http://samples.mplayerhq.hu/V-codecs/PNG1/ http://samples.mplayerhq.hu/V-codecs/PNG1/]&lt;br /&gt;
:''Claimed by Thilo Borgmann''&lt;br /&gt;
&lt;br /&gt;
=== Extend PNG Decoder / swscale ===&lt;br /&gt;
&lt;br /&gt;
get this png working in ffpng: http://roundup.ffmpeg.org/roundup/ffmpeg/issue813 .&lt;br /&gt;
&lt;br /&gt;
http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/063450.html&lt;br /&gt;
&lt;br /&gt;
 This does more than just simple rgb48 input also it does not try to preserve&lt;br /&gt;
 the 16bit per component.&lt;br /&gt;
 &lt;br /&gt;
 anyway, if someone wants to do something in this direction like trying to push&lt;br /&gt;
 this patch in (its yuv2rgb part needs to be adapted to what we have in svn&lt;br /&gt;
 now) or try to do rgb48 input with preserving of 16bits per component then&lt;br /&gt;
 IMHO thats a valid qualification task&lt;br /&gt;
&lt;br /&gt;
=== CJPG format ===&lt;br /&gt;
&lt;br /&gt;
Extend FFmpeg's MJPEG decoder to handle the different frames/packing of CJPG. Samples at: http://roundup.ffmpeg.org/roundup/ffmpeg/issue777&lt;br /&gt;
&lt;br /&gt;
=== Optimize Theora Decoder ===&lt;br /&gt;
&lt;br /&gt;
speed up the Theora decoder. [http://www.archive.org/download/AlternativeFreedom/alternative_freedom.ogg 720:480 sample] hits 100% cpu on a p4 1.5ghz.&lt;br /&gt;
:''Do you have any specific optimizations tips? I like these small tasks to present a clearer jumping-off point. --[[User:Multimedia Mike|Multimedia Mike]] 18:57, 22 December 2008 (EST)''&lt;br /&gt;
::''did theora make use of the mmx/sse functions of ffvp3? i was looking at the xiph GSOC page which mentioned a similar task. --[[User:Compn|Compn]] 21:17, 22 December 2008 (EST)''&lt;br /&gt;
::''The major optimization I can think of is reworking coefficient decoding to avoid the continue in unpack_vlcs() (basically by having a list of coefficient VLCs for each position rather than for each block, then decoding them when actually rendering the block.) Unfortunately this also requires reworking render_slice() and reverse_dc_prediction() quite significantly which is why I haven't done it yet. [[User:Yuvi|Yuvi]] 18:25, 23 December 2008 (EST)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== flip flag for upside-down codecs ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;about the flip, a patch that decodes images fliped when&lt;br /&gt;
codec_tag == ff_get_fourcc(&amp;quot;GEOX&amp;quot;) is welcome.&lt;br /&gt;
its a metter of 2lines manipulating data/linesize of imgages after&lt;br /&gt;
get_buffer() or something similar&lt;br /&gt;
[...]&lt;br /&gt;
-- &lt;br /&gt;
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
more info:&lt;br /&gt;
http://roundup.ffmpeg.org/roundup/ffmpeg/issue741&lt;br /&gt;
&lt;br /&gt;
=== lavf-based concatenation tool ===&lt;br /&gt;
&lt;br /&gt;
Unless we have multiple files input in FFmpeg, it would be nice to have some libavformat-based tool that would extract frames from multiple files (possible different containers as well) and put them into single one.&lt;br /&gt;
&lt;br /&gt;
:''Claimed by Geza Kovacs''&lt;br /&gt;
&lt;br /&gt;
=== cljr and vcr1 encoders ===&lt;br /&gt;
According to this: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-February/063647.html both of the encoders are disabled, and won't compile if enabled.  Michael would prefer to keep them around, and have someone grow them into full encoders.&lt;br /&gt;
&lt;br /&gt;
=== Add waveformat extensible support in wav muxer ===&lt;br /&gt;
http://article.gmane.org/gmane.comp.video.ffmpeg.devel/79503&lt;br /&gt;
Clean up that patch.&lt;br /&gt;
&lt;br /&gt;
:''Claimed by zhentan feng''&lt;br /&gt;
&lt;br /&gt;
=== implement some colorspace fourcc/codecs ===&lt;br /&gt;
some colorspace formats were uploaded to http://samples.mplayerhq.hu/V-codecs/&lt;br /&gt;
including:&lt;br /&gt;
 2vuy.avi&lt;br /&gt;
 CYUV.AVI&lt;br /&gt;
 P422.AVI&lt;br /&gt;
 UYNV.AVI&lt;br /&gt;
 UYNY.avi&lt;br /&gt;
 V422.AVI&lt;br /&gt;
 YUNV.AVI&lt;br /&gt;
 a12v.avi&lt;br /&gt;
 auv2.avi&lt;br /&gt;
 and V-codecs/yuv8/MAILTEST.AVI .&lt;br /&gt;
&lt;br /&gt;
step by step tutorial for adding new input formats to swscale:&lt;br /&gt;
 cd mplayer/libswscale/&lt;br /&gt;
 svn di -r20426:20427&lt;br /&gt;
 the hunks 3 and 5 you dont need, they are optional special converters&lt;br /&gt;
 also the change to isSupportedOut() you dont need&lt;br /&gt;
 above will add a new input format&lt;br /&gt;
&lt;br /&gt;
another example for adding an input format&lt;br /&gt;
 cd mplayer/libswscale/&lt;br /&gt;
 svn di -r20604:20605&lt;br /&gt;
&lt;br /&gt;
=== Create a libamr compatible library of the Android amr codec ===&lt;br /&gt;
http://android.git.kernel.org/?p=platform/external/opencore.git;a=tree;f=codecs_v2/audio/gsm_amr/amr_nb;h=4bac3ee5bd1ae8b6955f2d0bdac7de43c0d985c1;hb=HEAD&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Make the rtp demuxer support rtcp BYE packets ===&lt;br /&gt;
rtcp BYE (203) packets are sent from the sender to the receiver to notify that a stream has ended.&lt;br /&gt;
FFmpeg currently ignores them.&lt;br /&gt;
&lt;br /&gt;
Sample url rtsp://media.lscube.org/tests/tc.mov&lt;br /&gt;
&lt;br /&gt;
:Kevin DuBois is working on this GSoC qualification task&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Implement the RTP/Vorbis payload ===&lt;br /&gt;
This is supported by the [http://www.lscube.org/projects/feng feng RTSP server], and is described in [http://tools.ietf.org/html/rfc5215 RFC 5215]. For testing, you can set up a local feng RTSP server to stream some local Vorbis file, or you can use the online feng test-server (rtsp://media.lscube.org:554/tests/rms_profumo_1.ogv).&lt;br /&gt;
&lt;br /&gt;
Most likely, your implementation will consist of a file called rtp_vorbis.c in libavformat/, which will read the header packets available in the SDP (the &amp;quot;configuration&amp;quot; piece in the fmtp: line) and which parses individual incoming RTP packets from the RTSP demuxer (minus the generic RTP header bits). It should output Vorbis-encoded frames which can subsequently be decoded by the Vorbis decoder in libavcodec/.&lt;br /&gt;
&lt;br /&gt;
:Colin McQuillan is working on this GSoC qualification task&lt;br /&gt;
&lt;br /&gt;
=== Implement the RTP/Theora payload ===&lt;br /&gt;
The Theora payload is currently still a [http://svn.xiph.org/trunk/theora/doc/draft-ietf-avt-rtp-theora-00.txt draft]. Yet, it would be nice to support this payload. As per above, the [http://www.lscube.org/projects/feng feng RTSP server] supports the Theora RTP payload draft and can be used for testing your implementation of the draft, or you can use the online feng test-server (rtsp://media.lscube.org:554/tests/rms_profumo_1.ogv).&lt;br /&gt;
&lt;br /&gt;
Most likely, your implementation will consist of a file called rtp_theora.c in libavformat/, which will read the header packets available in the SDP (the &amp;quot;configuration&amp;quot; piece in the fmtp: line) and which parses individual incoming RTP packets from the RTSP demuxer (minus the generic RTP header bits). It should output Theora-encoded frames which can subsequently be decoder by the Theora decoder in libavcodec/.&lt;br /&gt;
&lt;br /&gt;
:''Claimed by Ilya S. Smelykh''&lt;br /&gt;
&lt;br /&gt;
=== cdg decoder + demuxer ===&lt;br /&gt;
create a [[CD Graphics]] decoder/demuxer. implementations: http://www.kibosh.org/pykaraoke/ or http://users.fbihome.de/~glogow/ or http://miageprojet.unice.fr/twiki/bin/view/Fun/JavaKarPlayer or http://www.kibosh.org/cdgtools/ or http://code.google.com/p/cdg2video/ (which uses ffmpeg).&lt;br /&gt;
&lt;br /&gt;
=== support for [[YCoCg]]/RGB colorspace in FFV1 ===&lt;br /&gt;
Add support for [[YCoCg]] and [[RGB]] encoded sources for the [[FFV1]] codec&lt;br /&gt;
&lt;br /&gt;
This would add a free lossless intra-frame RGB codec for all by FFmpeg supported platforms (most important MacOS + Windows) which is often asked for video editing in video forums (e.g. slashcam.de)&lt;br /&gt;
&lt;br /&gt;
=== Metal Gear Solid Video format demuxer ===&lt;br /&gt;
Write a demuxer to play video files harvested from the game Metal Gear Solid: The Twin Snakes. The format is described on the wiki page [[Metal Gear Solid VP3]] (which also contains links to samples). This page is based on observations and conjecture, so remember to engage the ffmpeg-devel mailing list with questions.&lt;br /&gt;
&lt;br /&gt;
=== [[IFF#ANIM|IFF ANIM]] decoder ===&lt;br /&gt;
Modify libavformat/iff.c to handle this chunk and write a decoder for the format. The wiki page at [[IFF#ANIM|IFF ANIM]] has links to more information and source code. Samples can be found at http://www-user.tu-chemnitz.de/~womar/projects/iffanim/iffanim_samplepack.zip .&lt;br /&gt;
&lt;br /&gt;
=== [[CDXL]] decoder ===&lt;br /&gt;
Write a decoder for this format using the information in the [[CDXL]] wiki page&lt;br /&gt;
:Erion Omeri is currently working on this task as a qualification for Google SoC 2009 --[[User:Ce|Ce]] 10:42, 6 April 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
=== Parse TrueHD and AC3 out of Blu-Ray m2ts files ===&lt;br /&gt;
Make libavformat properly parse this sample:&lt;br /&gt;
http://madshi.net/hd_dolby_true_hd.m2ts&lt;br /&gt;
Track #0.1 has TrueHD and AC3 interleaved. Check if the demuxer (libavformat/mpegts.c) is able to cleanly separate TrueHD and AC3. If that's impossible, call both TrueHD and AC3 parsers in a way that properly splits the packets. Use eac3to to see the expected split output.&lt;br /&gt;
&lt;br /&gt;
=== [[QCP]] demuxer ===&lt;br /&gt;
&lt;br /&gt;
Write a demuxer for these cell phone recordings using the RFC and samples linked on the wiki page.&lt;br /&gt;
&lt;br /&gt;
=== [[Apple Core Audio Format]] demuxer ===&lt;br /&gt;
&lt;br /&gt;
Write a demuxer for the caf file format. Specs / samples linked on the wiki page.&lt;br /&gt;
implementation: http://www.mega-nerd.com/libsndfile/&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10933</id>
		<title>Talk:FFmpeg Summer Of Code 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10933"/>
		<updated>2009-01-21T17:20:05Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* DTS-HD Master Audio decoder? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== S/PDIF muxer ===&lt;br /&gt;
&lt;br /&gt;
Is there any specific qualification task you would like done for this? -- Jai&lt;br /&gt;
&lt;br /&gt;
:Working Jpeg2000 decoder ;), cleaning up this http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2005-June/001673.html would be welcome. It's a rpza encoder. --[[User:Merbanan|Merbanan]] 06:22, 31 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== speex + gsm ===&lt;br /&gt;
&lt;br /&gt;
Aren't libgsm and libspeex distributed under a permissive license?&lt;br /&gt;
If yes, these tasks do not have very high priority, imo.&lt;br /&gt;
[[User:Ce|Ce]] 14:56, 11 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== DTS-HD Master Audio decoder? ===&lt;br /&gt;
Would [http://en.wikipedia.org/wiki/DTS-HD_Master_Audio DTS-HD Master Audio] decoder make good project suggestion?  [[User:Gamester17|Gamester17]] 02:51, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/DTS-HD_Master_Audio&lt;br /&gt;
:&amp;quot;&amp;quot;''DTS-HD Master Audio is a lossless audio codec created by Digital Theater System. It was previously known as DTS++ and DTS-HD. It is an extension of DTS which, when played back on devices which do not support the Master Audio extension, degrades to a 1.5 Mbit/s &amp;quot;core&amp;quot; track which is lossy. DTS-HD Master Audio is an optional audio format for both Blu-ray Disc and HD DVD''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Specs, please. From what I know the projects without spec take a looong time to complete. --[[User:Kostya|Kostya]] 03:32, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
:AFAIK, there is even no software implementation, so it would be even more difficult;-( [[User:Ce|Ce]] 20:14, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
::How about then qualification task for at least distinguishing between normal DTS and DTS-HD Master Audio, to let the users know that the audio stream DTS-HD Master Audio but they are only getting normal DTS output out of it from FFmpeg? As today FFmpeg reports all as just &amp;quot;''dca''&amp;quot;, (I understand that [http://mediainfo.sourceforge.net MediaInfo] is an open source C++ project that is capable of distinguishing between normal DTS and DTS-HD Master Audio. [[User:Gamester17|Gamester17]] 12:20, 21 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== WTV (Microsoft Windows Media Center Recording Format) demuxer? ===&lt;br /&gt;
Would a [[WTV|WTV (Microsoft Windows Media Center Recording Format)]] demuxer make good project suggestion? [[User:Gamester17|Gamester17]] 13:14, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
[[WTV|http://wiki.multimedia.cx/index.php?title=WTV]]&lt;br /&gt;
:&amp;quot;''WTV is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with Windows Media Center TV Pack 2008.''&amp;quot;, &amp;quot;''WTV is the successor of DVR-MS which is is being replaced with WTV''&amp;quot;, &amp;quot;''WRT is also the default recording format for Windows 7 Media Center''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
::This is tricky. It doesn't strike me as being involved enough to qualify as one of our usual SoC projects. OTOH, it seems a little too involved to be a qualification task. --[[User:Multimedia Mike|Multimedia Mike]] 14:24, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
::: That sounds great actually.  Maybe this could become one of the few SoC projects that are actually finished in time...--[[User:DonDiego|DonDiego]] 07:18, 18 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
:::: +1! [[User:Ce|Ce]] 11:54, 18 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== libavui (a common skins library)? ===&lt;br /&gt;
Would a common skins library make good project suggestion?&lt;br /&gt;
*MPlayer skin&lt;br /&gt;
*VLC skin&lt;br /&gt;
*Xine skin&lt;br /&gt;
*XMMS skin&lt;br /&gt;
*WINAMP skin&lt;br /&gt;
*Windows Media Player skin&lt;br /&gt;
*Rockbox skin&lt;br /&gt;
*foobar2000 skin&lt;br /&gt;
*Songbird feathers (skin)&lt;br /&gt;
-[[User:Nazo|Nazo]] 21:29, 16 January 2009 (EST)&lt;br /&gt;
: Personally, I would advocate a project to stamp out skinnable UIs across the computing landscape. But that's outside of the scope of an SoC project. I hate UI skins. --[[User:Multimedia Mike|Multimedia Mike]] 14:03, 17 January 2009 (EST)&lt;br /&gt;
:: I second that.  But I don't see how GUI stuff like promoting or discouraging skins relates to libav* in the first place. [[User:Koorogi|Koorogi]] 16:26, 17 January 2009 (EST)&lt;br /&gt;
: No, skins are outside the scope of FFmpeg.--[[User:DonDiego|DonDiego]] 07:18, 18 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==Refactor VDPAU patch for video editing ==&lt;br /&gt;
This might be a good project: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-January/059032.html but I don't know for sure, so that's why I am including it on this page. [[User:Dashcloud|Dashcloud]] 16:23, 20 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==More colorspaces support?==&lt;br /&gt;
Would more colorspaces support make good project suggestion? Here is crazy missing colorspaces list (from HDPhoto):&lt;br /&gt;
*1/2/4/32bpp gray - 8bpp and 16bpp are already supported&lt;br /&gt;
*16bpp gray fixedpoint&lt;br /&gt;
*32bpp gray float&lt;br /&gt;
*48/96bpp RGB - 24bpp is already supported&lt;br /&gt;
*48/64bpp RGB half&lt;br /&gt;
*48/64/96/128bpp RGB fixedpoint&lt;br /&gt;
*32bpp RGB101010&lt;br /&gt;
*96/128bpp RGB float&lt;br /&gt;
*64/128bpp RGBA - 32bpp is already supported&lt;br /&gt;
*64/128bpp RGBA fixedpoint&lt;br /&gt;
*64bpp RGBA half&lt;br /&gt;
*128bpp RGBA float&lt;br /&gt;
*32bpp BGR - 24bpp is already supported&lt;br /&gt;
*32bpp PBGRA&lt;br /&gt;
*64bpp PRGBA&lt;br /&gt;
*128bpp PRGBA float&lt;br /&gt;
*32bpp RGBE&lt;br /&gt;
*32/64bpp CMYK&lt;br /&gt;
*40/80bpp CMYKAlpha&lt;br /&gt;
*12bpp YUV420&lt;br /&gt;
*16bpp YUV422&lt;br /&gt;
*24bpp YUV444&lt;br /&gt;
*24bpp 3Channels&lt;br /&gt;
*32bpp 4Channels&lt;br /&gt;
*40bpp 5Channels&lt;br /&gt;
*48bpp 6Channels&lt;br /&gt;
*56bpp 7Channels&lt;br /&gt;
*64bpp 8Channels&lt;br /&gt;
*48bpp 3Channels&lt;br /&gt;
*64bpp 4Channels&lt;br /&gt;
*80bpp 5Channels&lt;br /&gt;
*96bpp 6Channels&lt;br /&gt;
*112bpp 7Channels&lt;br /&gt;
*128bpp 8Channels&lt;br /&gt;
*32bpp 3ChannelsAlpha&lt;br /&gt;
*40bpp 4ChannelsAlpha&lt;br /&gt;
*48bpp 5ChannelsAlpha&lt;br /&gt;
*56bpp 6ChannelsAlpha&lt;br /&gt;
*64bpp 7ChannelsAlpha&lt;br /&gt;
*72bpp 8ChannelsAlpha&lt;br /&gt;
*64bpp 3ChannelsAlpha&lt;br /&gt;
*80bpp 4ChannelsAlpha&lt;br /&gt;
*96bpp 5ChannelsAlpha&lt;br /&gt;
*112bpp 6ChannelsAlpha&lt;br /&gt;
*128bpp 7ChannelsAlpha&lt;br /&gt;
*144bpp 8ChannelsAlpha&lt;br /&gt;
--[[User:Nazo|Nazo]] 07:24, 21 January 2009 (EST)&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10932</id>
		<title>Talk:FFmpeg Summer Of Code 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10932"/>
		<updated>2009-01-21T17:07:23Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* WTV (Microsoft Windows Media Center Recording Format) demuxer? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== S/PDIF muxer ===&lt;br /&gt;
&lt;br /&gt;
Is there any specific qualification task you would like done for this? -- Jai&lt;br /&gt;
&lt;br /&gt;
:Working Jpeg2000 decoder ;), cleaning up this http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2005-June/001673.html would be welcome. It's a rpza encoder. --[[User:Merbanan|Merbanan]] 06:22, 31 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== speex + gsm ===&lt;br /&gt;
&lt;br /&gt;
Aren't libgsm and libspeex distributed under a permissive license?&lt;br /&gt;
If yes, these tasks do not have very high priority, imo.&lt;br /&gt;
[[User:Ce|Ce]] 14:56, 11 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== DTS-HD Master Audio decoder? ===&lt;br /&gt;
Would [http://en.wikipedia.org/wiki/DTS-HD_Master_Audio DTS-HD Master Audio] decoder make good project suggestion?  [[User:Gamester17|Gamester17]] 02:51, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/DTS-HD_Master_Audio&lt;br /&gt;
:&amp;quot;&amp;quot;''DTS-HD Master Audio is a lossless audio codec created by Digital Theater System. It was previously known as DTS++ and DTS-HD. It is an extension of DTS which, when played back on devices which do not support the Master Audio extension, degrades to a 1.5 Mbit/s &amp;quot;core&amp;quot; track which is lossy. DTS-HD Master Audio is an optional audio format for both Blu-ray Disc and HD DVD''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Specs, please. From what I know the projects without spec take a looong time to complete. --[[User:Kostya|Kostya]] 03:32, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
:AFAIK, there is even no software implementation, so it would be even more difficult;-( [[User:Ce|Ce]] 20:14, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== WTV (Microsoft Windows Media Center Recording Format) demuxer? ===&lt;br /&gt;
Would a [[WTV|WTV (Microsoft Windows Media Center Recording Format)]] demuxer make good project suggestion? [[User:Gamester17|Gamester17]] 13:14, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
[[WTV|http://wiki.multimedia.cx/index.php?title=WTV]]&lt;br /&gt;
:&amp;quot;''WTV is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with Windows Media Center TV Pack 2008.''&amp;quot;, &amp;quot;''WTV is the successor of DVR-MS which is is being replaced with WTV''&amp;quot;, &amp;quot;''WRT is also the default recording format for Windows 7 Media Center''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
::This is tricky. It doesn't strike me as being involved enough to qualify as one of our usual SoC projects. OTOH, it seems a little too involved to be a qualification task. --[[User:Multimedia Mike|Multimedia Mike]] 14:24, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
::: That sounds great actually.  Maybe this could become one of the few SoC projects that are actually finished in time...--[[User:DonDiego|DonDiego]] 07:18, 18 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
:::: +1! [[User:Ce|Ce]] 11:54, 18 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== libavui (a common skins library)? ===&lt;br /&gt;
Would a common skins library make good project suggestion?&lt;br /&gt;
*MPlayer skin&lt;br /&gt;
*VLC skin&lt;br /&gt;
*Xine skin&lt;br /&gt;
*XMMS skin&lt;br /&gt;
*WINAMP skin&lt;br /&gt;
*Windows Media Player skin&lt;br /&gt;
*Rockbox skin&lt;br /&gt;
*foobar2000 skin&lt;br /&gt;
*Songbird feathers (skin)&lt;br /&gt;
-[[User:Nazo|Nazo]] 21:29, 16 January 2009 (EST)&lt;br /&gt;
: Personally, I would advocate a project to stamp out skinnable UIs across the computing landscape. But that's outside of the scope of an SoC project. I hate UI skins. --[[User:Multimedia Mike|Multimedia Mike]] 14:03, 17 January 2009 (EST)&lt;br /&gt;
:: I second that.  But I don't see how GUI stuff like promoting or discouraging skins relates to libav* in the first place. [[User:Koorogi|Koorogi]] 16:26, 17 January 2009 (EST)&lt;br /&gt;
: No, skins are outside the scope of FFmpeg.--[[User:DonDiego|DonDiego]] 07:18, 18 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==Refactor VDPAU patch for video editing ==&lt;br /&gt;
This might be a good project: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-January/059032.html but I don't know for sure, so that's why I am including it on this page. [[User:Dashcloud|Dashcloud]] 16:23, 20 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
==More colorspaces support?==&lt;br /&gt;
Would more colorspaces support make good project suggestion? Here is crazy missing colorspaces list (from HDPhoto):&lt;br /&gt;
*1/2/4/32bpp gray - 8bpp and 16bpp are already supported&lt;br /&gt;
*16bpp gray fixedpoint&lt;br /&gt;
*32bpp gray float&lt;br /&gt;
*48/96bpp RGB - 24bpp is already supported&lt;br /&gt;
*48/64bpp RGB half&lt;br /&gt;
*48/64/96/128bpp RGB fixedpoint&lt;br /&gt;
*32bpp RGB101010&lt;br /&gt;
*96/128bpp RGB float&lt;br /&gt;
*64/128bpp RGBA - 32bpp is already supported&lt;br /&gt;
*64/128bpp RGBA fixedpoint&lt;br /&gt;
*64bpp RGBA half&lt;br /&gt;
*128bpp RGBA float&lt;br /&gt;
*32bpp BGR - 24bpp is already supported&lt;br /&gt;
*32bpp PBGRA&lt;br /&gt;
*64bpp PRGBA&lt;br /&gt;
*128bpp PRGBA float&lt;br /&gt;
*32bpp RGBE&lt;br /&gt;
*32/64bpp CMYK&lt;br /&gt;
*40/80bpp CMYKAlpha&lt;br /&gt;
*12bpp YUV420&lt;br /&gt;
*16bpp YUV422&lt;br /&gt;
*24bpp YUV444&lt;br /&gt;
*24bpp 3Channels&lt;br /&gt;
*32bpp 4Channels&lt;br /&gt;
*40bpp 5Channels&lt;br /&gt;
*48bpp 6Channels&lt;br /&gt;
*56bpp 7Channels&lt;br /&gt;
*64bpp 8Channels&lt;br /&gt;
*48bpp 3Channels&lt;br /&gt;
*64bpp 4Channels&lt;br /&gt;
*80bpp 5Channels&lt;br /&gt;
*96bpp 6Channels&lt;br /&gt;
*112bpp 7Channels&lt;br /&gt;
*128bpp 8Channels&lt;br /&gt;
*32bpp 3ChannelsAlpha&lt;br /&gt;
*40bpp 4ChannelsAlpha&lt;br /&gt;
*48bpp 5ChannelsAlpha&lt;br /&gt;
*56bpp 6ChannelsAlpha&lt;br /&gt;
*64bpp 7ChannelsAlpha&lt;br /&gt;
*72bpp 8ChannelsAlpha&lt;br /&gt;
*64bpp 3ChannelsAlpha&lt;br /&gt;
*80bpp 4ChannelsAlpha&lt;br /&gt;
*96bpp 5ChannelsAlpha&lt;br /&gt;
*112bpp 6ChannelsAlpha&lt;br /&gt;
*128bpp 7ChannelsAlpha&lt;br /&gt;
*144bpp 8ChannelsAlpha&lt;br /&gt;
--[[User:Nazo|Nazo]] 07:24, 21 January 2009 (EST)&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=User:Gamester17&amp;diff=10868</id>
		<title>User:Gamester17</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=User:Gamester17&amp;diff=10868"/>
		<updated>2009-01-16T18:18:12Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Andreas Setterlind (a.k.a. Gamester17) is one of the project managers of ''[[XBMC|XBMC Media Center''' (formally known as ''XBox Media Center'')]].&lt;br /&gt;
&lt;br /&gt;
Quote from [http://en.wikipedia.org/wiki/XBMC the wikipedia article on XBMC]:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;quot;''XBMC Media Cnter (XBox Media Center) is a free open source media player and entertainment hub software distributed under the GNU General Public License. Originally developed as Xbox Media Player for the first-generation Xbox game console in 2002, XBMC eventually became a complete graphical user interface replacement for the Xbox Dashboard, and has since been ported to also run under Linux operating system''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
http://xbmc.org&amp;lt;br&amp;gt;&lt;br /&gt;
http://xbmc.org/wiki/?title=User:Gamester17&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=User:Gamester17&amp;diff=10867</id>
		<title>User:Gamester17</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=User:Gamester17&amp;diff=10867"/>
		<updated>2009-01-16T18:16:38Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Andreas Setterlind (a.k.a. Gamester17) is one of the project managers of the [[XBMC|'''XBMC Media Center''' (formally known as ''XBox Media Center'')].&lt;br /&gt;
&lt;br /&gt;
Quote from [http://en.wikipedia.org/wiki/XBMC the wikipedia article on XBMC]:&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;quot;''XBMC Media Cnter (XBox Media Center) is a free open source media player and entertainment hub software distributed under the GNU General Public License. Originally developed as Xbox Media Player for the first-generation Xbox game console in 2002, XBMC eventually became a complete graphical user interface replacement for the Xbox Dashboard, and has since been ported to also run under Linux operating system''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
http://xbmc.org&amp;lt;br&amp;gt;&lt;br /&gt;
http://xbmc.org/wiki/?title=User:Gamester17&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=XBMC&amp;diff=10866</id>
		<title>XBMC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=XBMC&amp;diff=10866"/>
		<updated>2009-01-16T18:14:55Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''XBMC Media Center''' (formally known as '''XBox Media Center''') is a free open source media player and entertainment hub software distributed under the GNU General Public License. XBMC was originally developed as [[XBMP|XBox Media Player (XBMP)]] for the first-generation Xbox game-console in 2002, XBMC eventually became a complete GUI replacement for the Xbox dashboard, and the XBMC software has since been ported to also run under Linux operating-system, (plus Mac OS X and Windows/Win32 versions are also under development). As a media center, XBMC can, via software codecs, (using the [[libavcodec]] codec library and [[libavformat]] container library from the [[FFmpeg]] project), play audio and video files, as well as display images from virtually any source. XBMC is neither produced nor endorsed by [[Microsoft]] or any other officially recognized vendor, and, like all Xbox homebrew applications, requires a modchip or a softmod exploit to run on the Xbox.&lt;br /&gt;
&lt;br /&gt;
Through the C++ and Python programming languages, XBMC has been extended to include large metadata databases for multimedia libraries, weather forecasts, TV-guides, website streaming interaction (such as for YouTube videos and Apple.com movie trailers, among many other sites), SHOUTcast and Podcast streaming, among other things. XBMC also functions as a gaming platform by allowing users to play Python-based mini-games, while the Xbox version contains built-in support to launch Xbox console-games and also other homebrew applications (such as emulators), plus a free alternative to Xbox Live called XLink Kai.&lt;br /&gt;
&lt;br /&gt;
Due to the dated hardware of the Xbox, a Linux port was announced for personal computers in early 2007, without Xbox-specific features such as game trainers and Xbox console-games loading. XBMC for Linux is currently available as pre-alpha software through [[Subversion (software)|Subversion]] access. The greater processing power of newer hardware allow for it to render [[high-definition video]], including [[1080p]], (while the Xbox hardware can only output up to [[1080i]] through [[video scaler|upscaling]] at most [[High-Resolution High-Definition|HRHD]]-quality videos). However, as with the Xbox version, XBMC for Linux does not currently support hardware decoding nor GPU hardware-accelerated video-decoding (like for example through [[XvMC]] or [[VA API]]), thus all load is placed upon the CPU, limiting the use of [[sound card|sound]] and [[video card]]s to output only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Websites:&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.xbmc.org http://www.xbmc.org]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.xboxmediacenter.org http://www.xboxmediacenter.org]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Multimedia Programs]]&lt;br /&gt;
[[Category:Multimedia Projects]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10865</id>
		<title>Talk:FFmpeg Summer Of Code 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10865"/>
		<updated>2009-01-16T18:14:19Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== S/PDIF muxer ===&lt;br /&gt;
&lt;br /&gt;
Is there any specific qualification task you would like done for this? -- Jai&lt;br /&gt;
&lt;br /&gt;
:Working Jpeg2000 decoder ;), cleaning up this http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2005-June/001673.html would be welcome. It's a rpza encoder. --[[User:Merbanan|Merbanan]] 06:22, 31 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== speex + gsm ===&lt;br /&gt;
&lt;br /&gt;
Aren't libgsm and libspeex distributed under a permissive license?&lt;br /&gt;
If yes, these tasks do not have very high priority, imo.&lt;br /&gt;
[[User:Ce|Ce]] 14:56, 11 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== DTS-HD Master Audio decoder? ===&lt;br /&gt;
Would [http://en.wikipedia.org/wiki/DTS-HD_Master_Audio DTS-HD Master Audio] decoder make good project suggestion?  [[User:Gamester17|Gamester17]] 02:51, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/DTS-HD_Master_Audio&lt;br /&gt;
:&amp;quot;&amp;quot;''DTS-HD Master Audio is a lossless audio codec created by Digital Theater System. It was previously known as DTS++ and DTS-HD. It is an extension of DTS which, when played back on devices which do not support the Master Audio extension, degrades to a 1.5 Mbit/s &amp;quot;core&amp;quot; track which is lossy. DTS-HD Master Audio is an optional audio format for both Blu-ray Disc and HD DVD''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Specs, please. From what I know the projects without spec take a looong time to complete. --[[User:Kostya|Kostya]] 03:32, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== WTV (Microsoft Windows Media Center Recording Format) demuxer? ===&lt;br /&gt;
Would a [[WTV|WTV (Microsoft Windows Media Center Recording Format)]] demuxer make good project suggestion? [[User:Gamester17|Gamester17]] 13:14, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
http://wiki.multimedia.cx/index.php?title=WTV&lt;br /&gt;
:&amp;quot;''WTV is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with Windows Media Center TV Pack 2008.''&amp;quot;, &amp;quot;''WTV is the successor of DVR-MS which is is being replaced with WTV''&amp;quot;, &amp;quot;''WRT is also the default recording format for Windows 7 Media Center''&amp;quot;&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10864</id>
		<title>WTV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10864"/>
		<updated>2009-01-16T18:10:17Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WTV]] is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with [[Windows Media Center TV Pack 2008]].&lt;br /&gt;
&lt;br /&gt;
[[WTV]] is the successor of [[DVR-MS]] which is is being replaced with [[WTV]] since the introduction of [[Windows Media Center TV Pack 2008]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt; [[WRT]] is also the default recording format for Windows 7 Media Center, its video encoder will support encoding to H.264 1-pass CBR Baseline profile up to 1.5 Mbit/s, 640x480pixels at 30 frame/s, and the aadio encoder will support low complexity AAC stereo at 44.1 or 48 kHz sample rate and 96, 128, 160 or 192 kbit/s bit rate.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*http://msdn.microsoft.com/en-us/library/cc963726.aspx Specification of Consumption of a WTV file in DirectShow&lt;br /&gt;
*http://w14.easy-share.com/1701207119.html sample&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10863</id>
		<title>WTV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10863"/>
		<updated>2009-01-16T18:06:23Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WTV]] is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with [[Windows Media Center TV Pack 2008]].&lt;br /&gt;
&lt;br /&gt;
[[WTV]] is the successor of [[DVR-MS]] which is is being replaced with [[WTV]] since the introduction of [[Windows Media Center TV Pack 2008]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*http://msdn.microsoft.com/en-us/library/cc963726.aspx Specification of Consumption of a WTV file in DirectShow&lt;br /&gt;
*http://w14.easy-share.com/1701207119.html sample&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10862</id>
		<title>WTV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10862"/>
		<updated>2009-01-16T18:00:38Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* External Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WTV]] is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with [[Windows Media Center TV Pack 2008]].&lt;br /&gt;
&lt;br /&gt;
[[WTV]] is the successor of [[DVR-MS]] which is is being replaced with [[WTV]] since the introduction of [[Windows Media Center TV Pack 2008]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*http://msdn.microsoft.com/en-us/library/cc963726.aspx Specification&lt;br /&gt;
*http://w14.easy-share.com/1701207119.html sample&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10861</id>
		<title>WTV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10861"/>
		<updated>2009-01-16T17:54:26Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WTV]] is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with [[Windows Media Center TV Pack 2008]].&lt;br /&gt;
&lt;br /&gt;
[[WTV]] is the successor of [[DVR-MS]] which is is being replaced with [[WTV]] since the introduction of [[Windows Media Center TV Pack 2008]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
*http://msdn.microsoft.com/en-us/library/cc963726.aspx Specification&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10857</id>
		<title>Talk:FFmpeg Summer Of Code 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10857"/>
		<updated>2009-01-16T07:54:38Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== S/PDIF muxer ===&lt;br /&gt;
&lt;br /&gt;
Is there any specific qualification task you would like done for this? -- Jai&lt;br /&gt;
&lt;br /&gt;
:Working Jpeg2000 decoder ;), cleaning up this http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2005-June/001673.html would be welcome. It's a rpza encoder. --[[User:Merbanan|Merbanan]] 06:22, 31 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== speex + gsm ===&lt;br /&gt;
&lt;br /&gt;
Aren't libgsm and libspeex distributed under a permissive license?&lt;br /&gt;
If yes, these tasks do not have very high priority, imo.&lt;br /&gt;
[[User:Ce|Ce]] 14:56, 11 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== DTS-HD Master Audio decoder? ===&lt;br /&gt;
Would [http://en.wikipedia.org/wiki/DTS-HD_Master_Audio DTS-HD Master Audio] decoder make good project suggestion?  [[User:Gamester17|Gamester17]] 02:51, 16 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/DTS-HD_Master_Audio&lt;br /&gt;
:&amp;quot;&amp;quot;''DTS-HD Master Audio is a lossless audio codec created by Digital Theater System. It was previously known as DTS++ and DTS-HD. It is an extension of DTS which, when played back on devices which do not support the Master Audio extension, degrades to a 1.5 Mbit/s &amp;quot;core&amp;quot; track which is lossy. DTS-HD Master Audio is an optional audio format for both Blu-ray Disc and HD DVD&amp;quot;''&amp;quot;&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10856</id>
		<title>Talk:FFmpeg Summer Of Code 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Talk:FFmpeg_Summer_Of_Code_2009&amp;diff=10856"/>
		<updated>2009-01-16T07:51:25Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== S/PDIF muxer ===&lt;br /&gt;
&lt;br /&gt;
Is there any specific qualification task you would like done for this? -- Jai&lt;br /&gt;
&lt;br /&gt;
:Working Jpeg2000 decoder ;), cleaning up this http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2005-June/001673.html would be welcome. It's a rpza encoder. --[[User:Merbanan|Merbanan]] 06:22, 31 December 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
=== speex + gsm ===&lt;br /&gt;
&lt;br /&gt;
Aren't libgsm and libspeex distributed under a permissive license?&lt;br /&gt;
If yes, these tasks do not have very high priority, imo.&lt;br /&gt;
[[User:Ce|Ce]] 14:56, 11 January 2009 (EST)&lt;br /&gt;
&lt;br /&gt;
=== DTS-HD Master Audio decoder? ===&lt;br /&gt;
Would [http://en.wikipedia.org/wiki/DTS-HD_Master_Audio DTS-HD Master Audio] decoder make good project suggestion? http://en.wikipedia.org/wiki/DTS-HD_Master_Audio [[User:Gamester17|Gamester17]] 02:51, 16 January 2009 (EST)&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10494</id>
		<title>WTV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10494"/>
		<updated>2008-09-25T18:48:53Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WTV]] is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with [[Windows Media Center TV Pack 2008]].&lt;br /&gt;
&lt;br /&gt;
[[WTV]] is the successor of [[DVR-MS]] which is is being replaced with [[WTV]] since the introduction of [[Windows Media Center TV Pack 2008]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10493</id>
		<title>WTV</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=WTV&amp;diff=10493"/>
		<updated>2008-09-25T18:48:31Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[WTV]] is the new container format used to record television shows in Microsoft Windows Vista Media Center starting with [[Windows Media Center TV Pack 2008]]. [[WTV]] is the successor of [[DVR-MS]] which is is being replaced with [[WTV]] since the introduction of [[Windows Media Center TV Pack 2008]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=DVR-MS&amp;diff=10492</id>
		<title>DVR-MS</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=DVR-MS&amp;diff=10492"/>
		<updated>2008-09-25T18:44:49Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DVR-MS is the format used to record television shows in [[Microsoft]] Windows XP Media Center Edition. The format is based on the [[ASF]] specification. The video codec used is [[MPEG-2]] and the audio codec is normally [[MP2]] although it can be [[AC3]] for HDTV depending on how the signal is broadcast. The format is also currently used by MediaPortal to record television shows.&lt;br /&gt;
&lt;br /&gt;
DVR-MS files have built-in support for DRM which is added to the recording if the broadcast stream is marked as copy protected. In such cases the recording can only be played back on the device it is recorded on. (An exception to this is that hardware based Media Center Extenders can play back DRM-enabled files provided they have been upgraded to the latest firmware.)&lt;br /&gt;
&lt;br /&gt;
While DVR-MS files do conform to the ASF specification there are are some unusual features that are not publicly documented. In particular the following are of note:&lt;br /&gt;
&lt;br /&gt;
* Unlike in regular ASF files, the change of the media object number between video stream sub-packets does not imply that the frame has been completely read. The only way to detect the end of the video frame is to use a codec-specific process to analize the stream.&lt;br /&gt;
&lt;br /&gt;
* All frames in a DVR-MS file are marked as keyframes which makes it impossible to write correct stream-seeking functions without resorting to codec specific code.&lt;br /&gt;
&lt;br /&gt;
* The audio stream header in a DVR-MS file is stored in the header extension object rather than a standard stream header object. The [[GUID]] for the audio stream has never been published by Microsoft and this has made it difficult for open source programs to correctly play the format. However the GUID has now been discovered and several open sources media players are now finally capable of playing DVR-MS files.&lt;br /&gt;
&lt;br /&gt;
== Phasing out of DVR-MS ==&lt;br /&gt;
Starting with [[Windows Media Center TV Pack 2008]] and moving forward Microsoft has indicated that DVR-MS is being replaced with [[WTV]].&amp;lt;ref&amp;gt;[http://arstechnica.com/journals/microsoft.ars/2008/07/18/fiji-beta-over-windows-media-center-tv-pack-2008-hits-rtm Fiji beta over, Windows Media Center TV Pack 2008 hits RTM]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blogs.zdnet.com/microsoft/?p=1489 Microsoft Fiji beta over; final ‘TV Pack’ due soon]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Container Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Libavfilter&amp;diff=9814</id>
		<title>Libavfilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Libavfilter&amp;diff=9814"/>
		<updated>2008-03-27T14:10:23Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until libavfilter is fully incorporated into [[FFmpeg]], you may get the complete libavfilter source from [[FFmpeg Summer Of Code|GSoC]] SVN repository:&lt;br /&gt;
&lt;br /&gt;
svn checkout svn://svn.mplayerhq.hu/soc/libavfilter&lt;br /&gt;
&lt;br /&gt;
Please read [http://svn.mplayerhq.hu/soc/libavfilter/README?view=co the README.TXT for libavfilter] to discover how to integrate libavfilter into ffmpeg and ffplay.&lt;br /&gt;
&lt;br /&gt;
==Reasons why a filter API is needed in FFmpeg==&lt;br /&gt;
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality video API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.&lt;br /&gt;
&lt;br /&gt;
== Issues that have to be fixed before adding to main tree ==&lt;br /&gt;
* no frame rate estimation is supported (see post in -soc [http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/2007-December/002283.html])&lt;br /&gt;
* a padding filter is lacking (see [http://thread.gmane.org/gmane.comp.video.ffmpeg.user/14587/focus=14596]) -- '''Updated:''' vdmsss is working on it&lt;br /&gt;
* make ffmpeg.c honor the aspect ratio outputted by the filter chain (thanks vdmsss for the bug report) -- '''Updated:''' probably fixed, but maybe not printing the right PAR in the terminal&lt;br /&gt;
&lt;br /&gt;
== Feature wish list ==&lt;br /&gt;
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in the ffmpeg-devel mailing-list.&lt;br /&gt;
&lt;br /&gt;
* See the [http://svn.mplayerhq.hu/soc/libavfilter/TODO?view=co TODO file] in SoC SVN tree&lt;br /&gt;
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs&lt;br /&gt;
*Add support for audio filters&lt;br /&gt;
** See [[FFmpeg audio API]]&lt;br /&gt;
*Add support for subtitle filters&lt;br /&gt;
** Add a subtitle drawing support to simplify ffplay.c&lt;br /&gt;
* Create (or port) additional pre-process and post-process video filters to FFmpeg:&lt;br /&gt;
** General post-proc sources are [http://svn.mplayerhq.hu/mplayer/trunk/DOCS/tech/libmpcodecs.txt?revision=15625&amp;amp;view=markup MPlayer (libmpcodecs vf_*.c filters)], [http://xinehq.de/index.php/hackersguide#AEN864 Xine], [[ffdshow|FFdshow]], [[VLC media player|VLC]], [http://www.virtualdub.org/filtersdk VirtualDub], [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer], [http://www.foobar2000.org foobar], and [http://www.xmms.org/ XMMS], vhook&lt;br /&gt;
**More [http://en.wikipedia.org/wiki/Image_scaling image scaling] methods:&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Linear_interpolation linear interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Bilinear_interpolation bilinear interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Cubic_interpolation cubic interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Bicubic_interpolation bicubic interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Trilinear_interpolation trilinear interpolation]&lt;br /&gt;
** SSP (Statistical Post-Processing)&lt;br /&gt;
** DeBlocking&lt;br /&gt;
** DeRinging&lt;br /&gt;
** IVTC&lt;br /&gt;
** Sharpen / UnSharpen (Soften)&lt;br /&gt;
** ReQuantization&lt;br /&gt;
** Auto-Luminance&lt;br /&gt;
** Blurring / DeNoising / Spatial Blur / Temporal Blur&lt;br /&gt;
**  Deinterlace (weave AND bob) filters&lt;br /&gt;
*** Possible sources: [http://sourceforge.net/projects/deinterlace DScaler] or [http://www.mir.com/DMG/Software/y4mscaler.html y4mscale]?&lt;br /&gt;
** 2:3 pull-down / ivtc (inverse telecine) for 24 progressive-frames on 30 FPS TV's&lt;br /&gt;
*** Possible sources: [http://sourceforge.net/projects/deinterlace DScaler] or [http://www.mir.com/DMG/Software/y4mscaler.html y4mscale]?&lt;br /&gt;
** NTSC =&amp;gt; PAL, and PAL =&amp;gt; NTSC frame-rate (FPS) adjust and reclock filter for NTSC &amp;lt;=&amp;gt; PAL conversion&lt;br /&gt;
&lt;br /&gt;
== Past discussions on the topic ==&lt;br /&gt;
Threads with previous discussions in the subject:&lt;br /&gt;
* Possible adopt MPlayer's A/V filter system or create a new API 'from scratch' for pre-process and post-process audio/video filters:&lt;br /&gt;
** See http://article.gmane.org/gmane.comp.video.ffmpeg.devel/39130 for michaelni's idea of what to do.&lt;br /&gt;
***Also read this discussion thread on MPlayer's mailing-list:&lt;br /&gt;
****http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/051142.html&lt;br /&gt;
*****http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/thread.html#51142&lt;br /&gt;
&lt;br /&gt;
*Take a look at other existing players API for filter plugins, like for example;&lt;br /&gt;
** [http://svn.mplayerhq.hu/mplayer/trunk/DOCS/tech/libmpcodecs.txt?revision=15625&amp;amp;view=markup MPlayer (libmpcodecs vf_*.c filters)], [http://xinehq.de/index.php/hackersguide#AEN864 Xine], [[ffdshow|FFdshow]], [[VLC media player|VLC]], [http://www.virtualdub.org/filtersdk VirtualDub], [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer], [http://www.foobar2000.org foobar], and [http://www.xmms.org/ XMMS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mentors==&lt;br /&gt;
A'rpi (has expressed interest of possibly helping with implementing a filter API in FFmpeg, he also volunteering to help porting the MPlayer filters too if a such API becomes available http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/051164.html)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[FFmpeg filter howto]]&lt;br /&gt;
* [[FFmpeg audio API]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Libavfilter&amp;diff=9813</id>
		<title>Libavfilter</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Libavfilter&amp;diff=9813"/>
		<updated>2008-03-27T14:09:39Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Until libavfilter is fully incorporated into [[FFmpeg]], you may get the complete libavfilter source from [[FFmpeg Summer Of Code|GSoC]] SVN repository:&lt;br /&gt;
&lt;br /&gt;
svn checkout svn://svn.mplayerhq.hu/soc/libavfilter&lt;br /&gt;
&lt;br /&gt;
Please read its [http://svn.mplayerhq.hu/soc/libavfilter/README?view=co README] to discover how to integrate libavfilter into ffmpeg and ffplay.&lt;br /&gt;
&lt;br /&gt;
==Reasons why a filter API is needed in FFmpeg==&lt;br /&gt;
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality video API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.&lt;br /&gt;
&lt;br /&gt;
== Issues that have to be fixed before adding to main tree ==&lt;br /&gt;
* no frame rate estimation is supported (see post in -soc [http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/2007-December/002283.html])&lt;br /&gt;
* a padding filter is lacking (see [http://thread.gmane.org/gmane.comp.video.ffmpeg.user/14587/focus=14596]) -- '''Updated:''' vdmsss is working on it&lt;br /&gt;
* make ffmpeg.c honor the aspect ratio outputted by the filter chain (thanks vdmsss for the bug report) -- '''Updated:''' probably fixed, but maybe not printing the right PAR in the terminal&lt;br /&gt;
&lt;br /&gt;
== Feature wish list ==&lt;br /&gt;
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in the ffmpeg-devel mailing-list.&lt;br /&gt;
&lt;br /&gt;
* See the [http://svn.mplayerhq.hu/soc/libavfilter/TODO?view=co TODO file] in SoC SVN tree&lt;br /&gt;
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs&lt;br /&gt;
*Add support for audio filters&lt;br /&gt;
** See [[FFmpeg audio API]]&lt;br /&gt;
*Add support for subtitle filters&lt;br /&gt;
** Add a subtitle drawing support to simplify ffplay.c&lt;br /&gt;
* Create (or port) additional pre-process and post-process video filters to FFmpeg:&lt;br /&gt;
** General post-proc sources are [http://svn.mplayerhq.hu/mplayer/trunk/DOCS/tech/libmpcodecs.txt?revision=15625&amp;amp;view=markup MPlayer (libmpcodecs vf_*.c filters)], [http://xinehq.de/index.php/hackersguide#AEN864 Xine], [[ffdshow|FFdshow]], [[VLC media player|VLC]], [http://www.virtualdub.org/filtersdk VirtualDub], [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer], [http://www.foobar2000.org foobar], and [http://www.xmms.org/ XMMS], vhook&lt;br /&gt;
**More [http://en.wikipedia.org/wiki/Image_scaling image scaling] methods:&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Linear_interpolation linear interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Bilinear_interpolation bilinear interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Cubic_interpolation cubic interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Bicubic_interpolation bicubic interpolation]&lt;br /&gt;
***[http://en.wikipedia.org/wiki/Trilinear_interpolation trilinear interpolation]&lt;br /&gt;
** SSP (Statistical Post-Processing)&lt;br /&gt;
** DeBlocking&lt;br /&gt;
** DeRinging&lt;br /&gt;
** IVTC&lt;br /&gt;
** Sharpen / UnSharpen (Soften)&lt;br /&gt;
** ReQuantization&lt;br /&gt;
** Auto-Luminance&lt;br /&gt;
** Blurring / DeNoising / Spatial Blur / Temporal Blur&lt;br /&gt;
**  Deinterlace (weave AND bob) filters&lt;br /&gt;
*** Possible sources: [http://sourceforge.net/projects/deinterlace DScaler] or [http://www.mir.com/DMG/Software/y4mscaler.html y4mscale]?&lt;br /&gt;
** 2:3 pull-down / ivtc (inverse telecine) for 24 progressive-frames on 30 FPS TV's&lt;br /&gt;
*** Possible sources: [http://sourceforge.net/projects/deinterlace DScaler] or [http://www.mir.com/DMG/Software/y4mscaler.html y4mscale]?&lt;br /&gt;
** NTSC =&amp;gt; PAL, and PAL =&amp;gt; NTSC frame-rate (FPS) adjust and reclock filter for NTSC &amp;lt;=&amp;gt; PAL conversion&lt;br /&gt;
&lt;br /&gt;
== Past discussions on the topic ==&lt;br /&gt;
Threads with previous discussions in the subject:&lt;br /&gt;
* Possible adopt MPlayer's A/V filter system or create a new API 'from scratch' for pre-process and post-process audio/video filters:&lt;br /&gt;
** See http://article.gmane.org/gmane.comp.video.ffmpeg.devel/39130 for michaelni's idea of what to do.&lt;br /&gt;
***Also read this discussion thread on MPlayer's mailing-list:&lt;br /&gt;
****http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/051142.html&lt;br /&gt;
*****http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/thread.html#51142&lt;br /&gt;
&lt;br /&gt;
*Take a look at other existing players API for filter plugins, like for example;&lt;br /&gt;
** [http://svn.mplayerhq.hu/mplayer/trunk/DOCS/tech/libmpcodecs.txt?revision=15625&amp;amp;view=markup MPlayer (libmpcodecs vf_*.c filters)], [http://xinehq.de/index.php/hackersguide#AEN864 Xine], [[ffdshow|FFdshow]], [[VLC media player|VLC]], [http://www.virtualdub.org/filtersdk VirtualDub], [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer], [http://www.foobar2000.org foobar], and [http://www.xmms.org/ XMMS]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mentors==&lt;br /&gt;
A'rpi (has expressed interest of possibly helping with implementing a filter API in FFmpeg, he also volunteering to help porting the MPlayer filters too if a such API becomes available http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2007-April/051164.html)''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[FFmpeg filter howto]]&lt;br /&gt;
* [[FFmpeg audio API]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9561</id>
		<title>FFmpeg audio API</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9561"/>
		<updated>2008-02-29T13:59:23Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for discussion regarding the reworking of the FFmpeg audio API to accommodate the requirements needed for today's audio codecs.&lt;br /&gt;
&lt;br /&gt;
==Reasons why an audio API is needed in FFmpeg==&lt;br /&gt;
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality audio API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.&lt;br /&gt;
&lt;br /&gt;
== To Do ==&lt;br /&gt;
* Decide what will be implemented as functions in the public API and what will be implemented as a filter in the [[Libavfilter]] framework&lt;br /&gt;
&lt;br /&gt;
== Features needed ==&lt;br /&gt;
* Generalized channel mixing (SIMD optimized) - users should be able to set their own channel mixing coefficients.&lt;br /&gt;
* Codec alterable channel mixing coefficients - the codec should be able to set and update the channel mixing coefficients during runtime (DCA and AC-3 support this).&lt;br /&gt;
* Output channel request function - specify the number of desired output channels. The decoder may or may not be able to grant the request. If not, a general mixing filter should be used.&lt;br /&gt;
* Distinguish between number of coded channels, requested channels, and output channels. Demuxers and/or parsers would only need to set the number of coded channels.&lt;br /&gt;
* Channel reordering - currently there are different orders depending on the codec and/or container.&lt;br /&gt;
* SIMD optimized interleaving&lt;br /&gt;
* Allow planar output - don't duplicate the interleaving code in every codec&lt;br /&gt;
* Support bit depths other than 16-bit - 8-bit/24-bit/32-bit/float&lt;br /&gt;
* Channel selection - ability to access one channel from a multichannel stream&lt;br /&gt;
* SPDIF passthough support&lt;br /&gt;
* Decide on name of a such A/V filter API.&lt;br /&gt;
** libavmunge, or simply extend on the existing libavfilter have been suggested so far.&lt;br /&gt;
&lt;br /&gt;
== Feature wish list ==&lt;br /&gt;
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in the ffmpeg-devel mailing-list.&lt;br /&gt;
* Dolby Pro Logic Surround Sound decoding (Prologic 1 and Prologic 2).&lt;br /&gt;
* Add a better FFT routine. (Would the KISS implementation be a good candidate?)&lt;br /&gt;
* Fixed point MDCT/FFT implementations&lt;br /&gt;
* Custom audio filter support. (Basing it on the video filter API ideas?)&lt;br /&gt;
* Proper API for enabling SIMD optimized code.&lt;br /&gt;
* Create (or port) additional pre-process and post-process audio filters:&lt;br /&gt;
** Psychoacoustic audio processing&lt;br /&gt;
** Artificial reverberation&lt;br /&gt;
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs&lt;br /&gt;
* Replace AVCODEC_MAX_AUDIO_FRAME_SIZE with a run-time calculated buffer size, that is tailored to the selected encoder/decoder. Currently, user applications must supply ffmpeg with an input/output buffer of AVCODEC_MAX_AUDIO_FRAME_SIZE bytes, irrespective of whether the codec will read/write that many samples.&lt;br /&gt;
&lt;br /&gt;
== Current ideas ==&lt;br /&gt;
Threads with previous discussions in the subject:&lt;br /&gt;
&lt;br /&gt;
* http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/47485/focus=48097&lt;br /&gt;
** This thread has several ideas that has already been implemented.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-November/038323.html&lt;br /&gt;
** Discussion of general ideas and requirements for the new API.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-January/040816.html&lt;br /&gt;
** This thread goes in to futher ideas about expanding the audio bitdepth support &lt;br /&gt;
&lt;br /&gt;
*Take a look at other existing players API for filter plugins, like for example:&lt;br /&gt;
** [http://xinehq.de/index.php/hackersguide#AEN864 Xine]&lt;br /&gt;
** [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer]&lt;br /&gt;
** [http://www.xmms.org XMMS (X MultiMedia System)]&lt;br /&gt;
&lt;br /&gt;
== Proposal for internal audio mixing api/system ==&lt;br /&gt;
&lt;br /&gt;
=== ff_mix usage ===&lt;br /&gt;
To setup the mixing you need an AVMIXContext to hold all settings. After that just initialize the context with the proper mixing coefficient&lt;br /&gt;
tables and channel layouts.&lt;br /&gt;
&lt;br /&gt;
 AVMIXContext* mix=NULL;&lt;br /&gt;
 stream_dwChannelMask = FRONT_LEFT|FRONT_RIGHT|CENTER|LFE|REAR_LEFT|REAR_RIGHT;&lt;br /&gt;
 out_dwChannelMask = FRONT_LEFT|FRONT_RIGHT;&lt;br /&gt;
 result = ff_mix_init(mix, 6, 2, stream_dwChannelMask, out_dwChannelMask, codec_mixing_table ,mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
After this and if the result from ff_mix is 1 then set the pointers to the in and out buffers. Here is a possibility to reorder&lt;br /&gt;
the channels if that is needed.&lt;br /&gt;
&lt;br /&gt;
 mix-&amp;gt;inchannel[0]  = codec-&amp;gt;channel[0];&lt;br /&gt;
 mix-&amp;gt;inchannel[1]  = codec-&amp;gt;channel[1];&lt;br /&gt;
 mix-&amp;gt;inchannel[2]  = codec-&amp;gt;channel[2];&lt;br /&gt;
 mix-&amp;gt;inchannel[3]  = codec-&amp;gt;channel[3];&lt;br /&gt;
 mix-&amp;gt;inchannel[4]  = codec-&amp;gt;channel[4];&lt;br /&gt;
 mix-&amp;gt;inchannel[5]  = codec-&amp;gt;channel[5];&lt;br /&gt;
 mix-&amp;gt;outchannel[0] = codec-&amp;gt;outchannel[0];&lt;br /&gt;
 mix-&amp;gt;outchannel[1] = codec-&amp;gt;outchannel[1];&lt;br /&gt;
&lt;br /&gt;
Now everything should be setup properly. And to mix the buffers just use:&lt;br /&gt;
&lt;br /&gt;
 result = ff_mix(mix);&lt;br /&gt;
&lt;br /&gt;
If result is 0 then something was initialized wrongly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===struct codec_mix_struct===&lt;br /&gt;
&lt;br /&gt;
 /** This struct holds the possible stream channel configurations and the possible output configurations.&lt;br /&gt;
  *  The code will have a table of these struct's to define all the channel configurations it support.&lt;br /&gt;
  *  This table will be passes to the ff_mix_init function and the init will search through the table&lt;br /&gt;
  *  for a matching configuration and load the appropriate mixing coeffs.&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct av_codec_mix_struct {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     unsinged int stream_channel_mask,   ///&amp;lt; channelmask for the input stream&lt;br /&gt;
     unsinged int out_channel_mask,      ///&amp;lt; channelmask for the output data&lt;br /&gt;
     int8_t* mixing_coeff_index_matrix,  ///&amp;lt; mixing matrix that correspond to the mixing configuration&lt;br /&gt;
                                         ///&amp;lt; Table with inchannels*outchannels index elements, a negative index means that the mixing coeffs should be negated.&lt;br /&gt;
                                         ///&amp;lt; For example (simplified) [1,2] would mean coeff[1]+coeff[2] while [1,-2] would mean coeff[1]-coeff[2].&lt;br /&gt;
 } av_codec_mix_struct;&lt;br /&gt;
&lt;br /&gt;
===struct AVMIXContext===&lt;br /&gt;
&lt;br /&gt;
 /** Main AVMIX context&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct AVMIXContext {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     void* inchannel[MAX_MIX_CHANNELS];  ///&amp;lt; pointers to the inchannels in channelmask order&lt;br /&gt;
     void* outchannel[MAX_MIX_CHANNELS]; ///&amp;lt; pointers to the outchannels in channelmask order&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===function ff_mix_init===&lt;br /&gt;
 /** Initialization routine for the libavcodec multichannel audio mixer&lt;br /&gt;
  *&lt;br /&gt;
  * The multichannel mixer does not know the &amp;quot;position&amp;quot; of the speakers and it doesn't need to either. But&lt;br /&gt;
  * depending on the mixing matrix it will unknowingly reorder channels to the native order.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in|out] mix&lt;br /&gt;
  * This is the actual mixing context. It will hold all the information needed to perform mixing.&lt;br /&gt;
  * If the passed argument is NULL it will allocate a context. If not null it will reinit the passed&lt;br /&gt;
  * context. The mix context is of fixed size and will be large enough to support a MAX_MIX_CHANNELS&lt;br /&gt;
  * amount of channels.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels &lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] mixing_coeffs_table&lt;br /&gt;
  * Table with mixing coeffs, it is this table the mixing_coeff_index_matrix will refer too. It is declared as void* to&lt;br /&gt;
  * make it possible for a future addition of fixed point mixing.&lt;br /&gt;
  *&lt;br /&gt;
  * @return[out]&lt;br /&gt;
  * The init will do a lookup for a matching mixing configuration with the help of the in and out channel masks.&lt;br /&gt;
  * If there isn't any matching configuration return 0 otherwise return 1. &lt;br /&gt;
  */&lt;br /&gt;
 int ff_mix_init(AVMIXContext* mix, unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                 unsigned int out_channel_mask, av_codec_mix_table* mix_table, void* mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===select_mixing_matrix===&lt;br /&gt;
 /** Function to get the appropriate mixing_coeff_index_matrix.&lt;br /&gt;
  *&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels[in]&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels[in]&lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask[in]&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask[in]&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @returns[out]&lt;br /&gt;
  * A mixing_coeff_index_matrix if the configuration could be found in the mix_table, NULL if not.&lt;br /&gt;
  */&lt;br /&gt;
 int8_t* select_mixing_matrix(unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                              unsigned int out_channel_mask, av_codec_mix_table* mix_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Function to perform the mixing of audio in the input pointers to the output pointers&lt;br /&gt;
 *&lt;br /&gt;
 * This function should be called to initiate the mixing of source channels to the destination channels.&lt;br /&gt;
 *&lt;br /&gt;
 * @returns[out]&lt;br /&gt;
 * If something went bad (NULL pointers for src or dst etc) return 0 and if everything is ok return 1.&lt;br /&gt;
 */&lt;br /&gt;
int ff_mix(AVMIXContext* mix);&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Libavfilter]]&lt;br /&gt;
* [[FFmpeg filter howto]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=XvMC&amp;diff=9466</id>
		<title>XvMC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=XvMC&amp;diff=9466"/>
		<updated>2008-02-19T10:22:27Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''X-Video Motion Compensation (XvMC)''', is an extension of the [http://en.wikipedia.org/wiki/X_video_extension X video extension (Xv)] for the [http://en.wikipedia.org/wiki/X_Window_System X Window System (a.k.a. X11)] under Linux operating-systems. The XvMC API allows video programs to offload portions of the video decoding process to the [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] video-hardware. In theory this process should also reduce bus bandwidth requirements. Currently, the supported portions to be offloaded by XvMC onto the GPU are [[motion compensation|motion compensation (mo comp)]] and [[inverse discrete cosine transform|inverse discrete cosine transform (iDCT)]] for [[MPEG-2]] video. XvMC also supports offloading decoding of [[motion compensation|mo comp]], [[inverse discrete cosine transform|iDCT]], and Variable Length Decoding|VLD]] (&amp;quot;[[Variable Length Decoding]]&amp;quot;, more commonly known as &amp;quot;slice-level acceleration&amp;quot;) for not only [[MPEG-2]] but also [[MPEG-4 ASP|MPEG-4 ASP (H.263)]] and [[MPEG-4 AVC|MPEG-4 AVC (H.264)]] video on VIA Unichrome (S3 Graphics Chrome Series) hardware. Popular software applications known to take advantage of XvMC include [[MPlayer]], [[MythTV]], and [[xine]].&lt;br /&gt;
&lt;br /&gt;
XvMC is the UNIX equivalent of the Microsoft Windows [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]]. Mac OS X also includes MPEG-2 acceleration capabilities, but Apple has chosen not to expose that API for use outside their own DVD-Video player application.&lt;br /&gt;
&lt;br /&gt;
[[Motion compensation]] is an algorithmic technique employed in the encoding of video data, for example in the generation of [[MPEG-2]] files.&lt;br /&gt;
&lt;br /&gt;
== Device drivers ==&lt;br /&gt;
Each hardware video GPU capable of XvMC video acceleration requires a [http://en.wikipedia.org/wiki/X_Window_System X Window System (a.k.a. X11)] software device-driver to enable these features.&lt;br /&gt;
===Hardware manufactures===&lt;br /&gt;
====NVIDIA====&lt;br /&gt;
There are currently three X11 Nvidia drivers available: One open source developed by the Linux community called [http://en.wikipedia.org/wiki/Nouveau_%28graphics%29 Nouveau], one 2D only open source driver maintained by NVIDIA called nv, and one proprietary binary device driver by NVIDIA. Nouveau is currently working on XvMC support [http://nouveau.freedesktop.org/wiki/SoC][http://nouveau.freedesktop.org/wiki/RequiredFunctionality], the 2D nv driver does not support XvMC, and the official [[proprietary]] binary device driver by NVIDIA only supports MPEG-2 offloading (mo comp and iDCT).&lt;br /&gt;
&lt;br /&gt;
====VIA====&lt;br /&gt;
VIA provides open source device drivers for its VIA Unichrome (S3 Graphics Chrome Series) hardware, supporting offloading of [[MPEG-2]], [[MPEG-4 ASP|MPEG-4 ASP (H.263)]] and [[MPEG-4 AVC|MPEG-4 AVC (H.264)]] video.&lt;br /&gt;
Thanks to VLD level of decoding VIA offloads much more decoding tasks from CPU than GPUs supporting iDCT or mo comp levels only.&lt;br /&gt;
&lt;br /&gt;
====Intel====&lt;br /&gt;
Intel provides official open source device drivers which supports MPEG-2 offloading (mo comp and iDCT) on Intel's 8xx/9xx range of integrated graphics chips. [http://intellinuxgraphics.org/man.html]&lt;br /&gt;
&lt;br /&gt;
====ATI/AMD====&lt;br /&gt;
There are no device drivers which support XvMC on ATI/AMD hardware, (although all ATI/AMD Radeon GPU hardware has support for MPEG-2 acceleration on iDCT and mo comp levels).&lt;br /&gt;
&lt;br /&gt;
====Matrox====&lt;br /&gt;
There are no device drivers which support XvMC on Matrox hardware, (although the Matrox Parhelia GPU hardware has support for MPEG-2 acceleration on mo comp level).&lt;br /&gt;
&lt;br /&gt;
====S3====&lt;br /&gt;
Binary device driver by S3 only supports MPEG-2 offloading in initial 2.0.16 driver on Chrome 20 and up GPUs.&lt;br /&gt;
&lt;br /&gt;
==XvMC API technical overview==&lt;br /&gt;
This is from [http://www.xfree86.org/~mvojkovi/XvMC_API.txt X-Video Motion Compensation - API specification v. 1.0]&lt;br /&gt;
===XvPort===&lt;br /&gt;
XvMC extends the [http://en.wikipedia.org/wiki/X_video_extension X video extension (Xv)] and makes use of the familiar concept of the XvPort. Ports have attributes that can be set and queried through Xv. In XvMC ports can also have hardware [[motion compensation]] contexts created for use with them.  Ports which support XvImages (ie. they have an &amp;quot;XV_IMAGE&amp;quot; port encoding as described in the Xv version 2.2 API addendum) can be queried for the list of XvMCSurface types they support.  If they support any XvMCSurface types an XvMCContext can be created for that port.&lt;br /&gt;
&lt;br /&gt;
===XvMCContext===&lt;br /&gt;
XvMCContext describes the state of the [[motion compensation]] pipeline. An individual XvMCContext can be created for use with a single port, surface type, motion compensation type, width and height combination. For example, a context might be created for a particular port that does [[MPEG-2]] motion compensation on 720 x 480 4:2:0 surfaces. Once the context is created, referencing it implies  the port, surface type, size and the motion compensation type. Contexts may be &amp;quot;direct&amp;quot; or &amp;quot;indirect&amp;quot;.  For indirect contexts the [[X server]] renders all video using the data passed to it by the client. For direct contexts the client libraries render the video with little or no interaction with the X server.&lt;br /&gt;
&lt;br /&gt;
===XvMCSurfaces===&lt;br /&gt;
XvMCSurfaces are buffers into which the [[motion compensation]] hardware can render.  The data in the buffers themselves are not client accessible and may be stored in a hardware-specific format. Any number of buffers can be created for use with a particular context (resources permitting).&lt;br /&gt;
&lt;br /&gt;
===Video Pipeline===&lt;br /&gt;
XvMC provides video acceleration starting at one of two places in the video [[Pixel Pipelines|pipeline]]. Acceleration starting at the first point, which we shall call the &amp;quot;Motion Compensation&amp;quot; level, begins after the &amp;lt;!--duplicate--&amp;gt;the [[inverse quantization]] and [[inverse discrete cosine transform|IDCT]] at the place where [[motion compensation]] is to be applied.  The second point, which we shall call the &amp;quot;IDCT&amp;quot; level, begins before the IDCT just after the inverse quantization.&lt;br /&gt;
&lt;br /&gt;
===Rendering===&lt;br /&gt;
Rendering is done by presenting the library with a target XvMCSurface and up to two reference XvMCSurfaces for the motion compensation, a buffer of 8x8 blocks and a command buffer which describes how to use the 8x8 blocks along with motion compensation vectors to construct the data in the target XvMCSurface. When the pipeline starts at the iDCT level, Xv will perform the IDCT on the blocks before performing the motion compensation. A function is provided to copy/overlay a portion of the XvMCSurface to a drawable with arbitrary scaling.&lt;br /&gt;
&lt;br /&gt;
===XvMCSubpictures===&lt;br /&gt;
XvMCSubpictures are separate surfaces that may be blended with the target surface. Any number of XvMCSubpictures may be created for use with a context (resources permitting).  Both &amp;quot;backend&amp;quot; and &amp;quot;frontend&amp;quot; subpicture behavior are supported.&lt;br /&gt;
&lt;br /&gt;
==Software support==&lt;br /&gt;
XvMC acceleration is supported in:&lt;br /&gt;
* [[FFmpeg]]&lt;br /&gt;
* [[MPlayer]]&lt;br /&gt;
* [[xine]]&lt;br /&gt;
* [[MythTV]]&lt;br /&gt;
* [[VLC]]&lt;br /&gt;
&lt;br /&gt;
==Processes that could be accelerated==&lt;br /&gt;
Even though XvMC currently only support hardware acceleration of [[motion compensation|motion compensation (mo comp)]] and [[inverse discrete cosine transform|inverse discrete cosine transform (iDCT)]], (and Variable-Length Decoding for VIA Unichrome GPU), additional video decoding processes could be passed on to modern [[graphics processing unit|GPU]]s which on [[Microsoft Windows]] can accelerate many more via Microsoft's [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]]. XvMC could be extended in the future to support the same processes:&lt;br /&gt;
* [[Motion compensation|Motion compensation (mocomp)]]&lt;br /&gt;
* [[Inverse discrete cosine transform|Inverse discrete cosine transform (iDCT)]]&lt;br /&gt;
** [[Inverse telecine]] 3:2 and 2:2 pull-down correction&lt;br /&gt;
* Inverse [[modified discrete cosine transform]] (iMDCT)&lt;br /&gt;
* In-loop [[deblocking filter (video)|deblocking filter]]&lt;br /&gt;
* Intra-frame prediction&lt;br /&gt;
* Inverse [[Quantization (image processing)|quantization]] (IQ)&lt;br /&gt;
* [[Huffman_coding|Variable-Length Decoding (VLD)]], more commonly known as slice-level acceleration&lt;br /&gt;
* Spatial-temporal [[deinterlacing]] and automatic [[interlace]]/[[progressive scan|progressive]] source detection&lt;br /&gt;
* Bitstream processing ([[CAVLC]]/[[CABAC]])&lt;br /&gt;
&lt;br /&gt;
==Current limitations==&lt;br /&gt;
Besides not matching all of the features and function of [[DirectX Video Acceleration|DxVA]] (which is the [[Microsoft]] equivalent [[API]] for [[Microsoft Windows|Windows]]), and lacking support for other video formats than [[MPEG-2]] in Linux device drivers from [[ATI]] and [[NVIDIA]], the [http://www.xfree86.org/~mvojkovi/XvMC_API.txt XvMC API specification version 1.0] currently also has these other limitations: &lt;br /&gt;
*BOB and onefield are the only [[deinterlacing]] methods that work with XvMC. &lt;br /&gt;
*Picture in Picture (PiP) does work with XvMC. &lt;br /&gt;
*Stepping though the video frame by frame can cause artifacts with XvMC.&lt;br /&gt;
*Editing a video is difficult to impossible with XvMC activated.&lt;br /&gt;
*The client application must run as root&lt;br /&gt;
*Lacking network transparency in the XvMC API&lt;br /&gt;
*Lacking the ability for the client application to be completely independent of which client side library needs to be used (ie. a unified wrapper library).&lt;br /&gt;
&lt;br /&gt;
A project called [[Video Acceleration API|Video Acceleration API (VA API)]] is underway to develop a more modern video acceleration API which will support the video acceleration features of modern GPUs.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Video Acceleration API|Video Acceleration API (VA API)]]&lt;br /&gt;
* [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]] - Microsoft Windows equivalent to [[VA API]] and [[XvMC]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* http://en.wikipedia.org/wiki/XvMC&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
*[http://www.x.org X.Org Foundation]&lt;br /&gt;
*[http://www.xfree86.org The XFree86 Project, Inc.]&lt;br /&gt;
*[http://www.freedesktop.org freedesktop.org]&lt;br /&gt;
*[http://www.openchrome.org/ openChrome Project]&lt;br /&gt;
**[http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=HardwareCaveats openChrome supported hardware]&lt;br /&gt;
*[http://sourceforge.net/projects/unichrome The Unichrome Project]&lt;br /&gt;
*[http://www.mythtv.org/wiki/index.php/XvMC XvMC at MythTV's wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
[[Category:Application layer protocols]]&lt;br /&gt;
[[Category:Freedesktop.org]]&lt;br /&gt;
[[Category:Device drivers]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9465</id>
		<title>Blu Ray and HD-DVD Playback Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9465"/>
		<updated>2008-02-19T10:19:06Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Latest SVN is always recommended.&lt;br /&gt;
&lt;br /&gt;
Neither [[HD DVD]] nor [[Blu-ray]] disc decryption are supported yet. This page only details playing the files ripped/decrypted using other programs.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Codec&lt;br /&gt;
| FFmpeg demuxer&lt;br /&gt;
| MPlayer demuxer&lt;br /&gt;
| Works&lt;br /&gt;
| Status&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[H.264]]&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&amp;lt;ref&amp;gt;Due to the very high bitrate of H.264 streams on HD-DVD and Blu-ray, very high-end hardware might be needed for optimal playback.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Out of the box&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[VC-1]]&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Native and binary&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&amp;lt;ref&amp;gt;Native VC-1 implementation does not yet decode all samples correctly.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Out of the box&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEG-2]]&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&amp;lt;ref&amp;gt;Hardware acceleration via [[X-Video Motion Compensation|XvMC (X-Video Motion Compensation)]] is available.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Out of the box&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[EAC3]]&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | Patch needed&amp;lt;ref&amp;gt;The files are in the Mplayer Google Summer Of Code repository: http://svn.mplayerhq.hu/soc/eac3/ - Last working revision: libavcodec r11690&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[TrueHD]]&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | Patch needed&amp;lt;ref&amp;gt;[http://www.db-instable.org/misc/truehd-decoder.patch Working patch] (at least on libavcodec r11690) - [http://forum.doom9.org/showthread.php?t=130995&amp;amp;page=2 Source] - [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-October/036628.html Original patch] - [http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-January/040234.html Latest version]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Channels are not ordered properly by default (at least on Windows with the DirectX AO). Use -af channels=6:6:0:0:1:1:2:4:3:5:4:2:5:3 to fix the channel ordering.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[Blu-ray]] Subtitles&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[HD DVD]] Subtitles&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; |&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | In progress&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Menus&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Native and libmpeg2&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Unknown&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | Yes&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | Partially&amp;lt;ref&amp;gt;The menu background movie is displayed with dvdnav://.&amp;lt;/ref&amp;gt;&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | Patch needed&amp;lt;ref&amp;gt;[http://onebithq.com/root/mplayer/dvdnav DVD Menu patch for mplayer] - there is only so much free time :)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
HD-DVD samples: http://samples.mplayerhq.hu/evob/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[HD-DVD]] - a next-generation optical disc format designed for high-density storage of high-definition video and data.&lt;br /&gt;
* [[Blu-ray]] - another next-generation optical disc format designed for high-density storage of high-definition video and data&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]] - hardware accelerated video decoding API for X11&lt;br /&gt;
* [[Video Acceleration API |Video Acceleration API (VA API)]] - independent hardware accelerated video decoding API&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Blu-ray]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;br /&gt;
[[Category:MPlayer]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=ISO_MPEG-4&amp;diff=9464</id>
		<title>ISO MPEG-4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=ISO_MPEG-4&amp;diff=9464"/>
		<updated>2008-02-19T10:15:09Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: 3IV2, 3iv2, BLZ0, DIV1, div1, DIVX, divx, DX50, dx50, DXGM, FMP4, fmp4, HDX4, hdx4, M4S2, m4s2, MP4S, mp4s, MP4V, mp4v, RMP4, SEDG, SMP4, UMP4, WV1F, XVID, XviD, xvid, XVIX&lt;br /&gt;
* Matroska CodecIDs: V_MPEG4/ISO/SP (Simple Profile), V_MPEG4/ISO/ASP (Advanced Simple Profile)&lt;br /&gt;
* Samples:&lt;br /&gt;
** 3IV2: [http://samples.mplayerhq.hu/V-codecs/3iv2/ http://samples.mplayerhq.hu/V-codecs/3iv2/]&lt;br /&gt;
** BLZ0: [http://samples.mplayerhq.hu/V-codecs/BLZ0/ http://samples.mplayerhq.hu/V-codecs/BLZ0/]&lt;br /&gt;
** DX50: [http://samples.mplayerhq.hu/V-codecs/DX50-DivX5/ http://samples.mplayerhq.hu/V-codecs/DX50-DivX5/]&lt;br /&gt;
** M4S2: [http://samples.mplayerhq.hu/V-codecs/M4S2/ http://samples.mplayerhq.hu/V-codecs/M4S2/]&lt;br /&gt;
** MP4S: [http://samples.mplayerhq.hu/V-codecs/MP4S/ http://samples.mplayerhq.hu/V-codecs/MP4S/]&lt;br /&gt;
** RMP4: [http://samples.mplayerhq.hu/V-codecs/RMP4/ http://samples.mplayerhq.hu/V-codecs/RMP4/]&lt;br /&gt;
** SEDG: [http://samples.mplayerhq.hu/V-codecs/SEDG/ http://samples.mplayerhq.hu/V-codecs/SEDG/]&lt;br /&gt;
** SMP4: [http://samples.mplayerhq.hu/V-codecs/SMP4/ http://samples.mplayerhq.hu/V-codecs/SMP4/]&lt;br /&gt;
** UMP4: [http://samples.mplayerhq.hu/V-codecs/UMP4/ http://samples.mplayerhq.hu/V-codecs/UMP4/]&lt;br /&gt;
** WV1F: [http://samples.mplayerhq.hu/V-codecs/WV1F/ http://samples.mplayerhq.hu/V-codecs/WV1F/]&lt;br /&gt;
&lt;br /&gt;
'''MPEG-4 part 2''' video.  Different encoders use different FourCCs to identify MPEG-4 content in AVI files, with DIVX, XVID, DX50, and FMP4 being most common.  Strictly speaking, some of these FourCCs should refer only to simple profile rather than advanced simple profile, but this can not be relied upon.&lt;br /&gt;
&lt;br /&gt;
This does not include [[H.264]] video ([[MPEG-4 part 10]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In particular, specifically for FMP4 fourcc, accordingly with MPlayer FAQ :&lt;br /&gt;
&lt;br /&gt;
Q:	&lt;br /&gt;
Why do third-party players fail to play MPEG-4 movies encoded by MEncoder versions later than 1.0pre7?&lt;br /&gt;
&lt;br /&gt;
A:	&lt;br /&gt;
libavcodec, the native MPEG-4 encoding library usually shipped with MEncoder, used to set the FourCC to 'DIVX' when encoding MPEG-4 videos (the FourCC is an AVI tag to identify the software used to encode and the intended software to use for decoding the video). This led many people to think that libavcodec was a DivX encoding library, when in fact it is a completely different MPEG-4 encoding library which implements the MPEG-4 standard much better than DivX does. Therefore, the new default FourCC used by libavcodec is 'FMP4', but you may override this behavior using MEncoder's -ffourcc option. You may also change the FourCC of existing files in the same way:&lt;br /&gt;
&lt;br /&gt;
  mencoder input.avi -o output.avi -ovc copy -oac copy -ffourcc XVID&lt;br /&gt;
&lt;br /&gt;
Note that this will set the FourCC to XVID rather than DIVX. This is recommended as DIVX FourCC means DivX4, which is a very basic MPEG-4 codec, whereas DX50 and XVID both mean full MPEG-4 (ASP). Therefore, if you change the FourCC to DIVX, some bad software or hardware players may choke on some advanced features that libavcodec supports, but DivX doesn't; on the other hand XviD is closer to libavcodec in terms of functionality, and is supported by all decent players.&lt;br /&gt;
&lt;br /&gt;
Because of this annoying detail, third-party software may fail to decode video that has been encoded with software based on a recent libavcodec, such as VLC. &lt;br /&gt;
Modifying the fourcc with 'DX50' or 'XVID', for example, should resolve the problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[H.263]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=MPEG-4_part_2&amp;diff=9463</id>
		<title>MPEG-4 part 2</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=MPEG-4_part_2&amp;diff=9463"/>
		<updated>2008-02-19T10:13:26Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ISO MPEG-4]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=MPEG-4_part_10&amp;diff=9462</id>
		<title>MPEG-4 part 10</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=MPEG-4_part_10&amp;diff=9462"/>
		<updated>2008-02-19T10:13:09Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[H.264]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=H.263&amp;diff=9461</id>
		<title>H.263</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=H.263&amp;diff=9461"/>
		<updated>2008-02-19T10:12:28Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: D263, H263, L263, M263, S263, U263, X263&lt;br /&gt;
* Organization: [[ITU]]&lt;br /&gt;
* Specs : http://www.itu.int/rec/T-REC-H.263-200501-I/en&lt;br /&gt;
* Implementor's Guide: http://www.itu.int/rec/T-REC-H.Imp263/en&lt;br /&gt;
* Samples:&lt;br /&gt;
** h263: http://samples.mplayerhq.hu/V-codecs/h263/&lt;br /&gt;
** U263: http://samples.mplayerhq.hu/V-codecs/U263/&lt;br /&gt;
&lt;br /&gt;
H.263 is a video coding standard developed for telecommunications applications. Many other codecs are known to have borrowed concepts from the standard.&lt;br /&gt;
&lt;br /&gt;
This site containts more information as well as source code: [http://www.h263l.com/ http://www.h263l.com].&lt;br /&gt;
&lt;br /&gt;
These implementations are suspected to be identical to the standard H.263:&lt;br /&gt;
* D263: Originated at [[DEC]].&lt;br /&gt;
* L263: Originated at [[LEAD Technologies]]&lt;br /&gt;
* M263: Originated at [[Microsoft]]&lt;br /&gt;
* X263: Originated at [[Xirlink]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[ISO MPEG-4]] ([[MPEG-4 part 2]]) - sometime also refered to as &amp;quot;'''MPEG-4 ASP'''&amp;quot; or &amp;quot;'''MPEG-4 Advanced Simple Profile'''&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=ISO_MPEG-4&amp;diff=9460</id>
		<title>ISO MPEG-4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=ISO_MPEG-4&amp;diff=9460"/>
		<updated>2008-02-19T10:12:00Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: 3IV2, 3iv2, BLZ0, DIV1, div1, DIVX, divx, DX50, dx50, DXGM, FMP4, fmp4, HDX4, hdx4, M4S2, m4s2, MP4S, mp4s, MP4V, mp4v, RMP4, SEDG, SMP4, UMP4, WV1F, XVID, XviD, xvid, XVIX&lt;br /&gt;
* Matroska CodecIDs: V_MPEG4/ISO/SP (Simple Profile), V_MPEG4/ISO/ASP (Advanced Simple Profile)&lt;br /&gt;
* Samples:&lt;br /&gt;
** 3IV2: [http://samples.mplayerhq.hu/V-codecs/3iv2/ http://samples.mplayerhq.hu/V-codecs/3iv2/]&lt;br /&gt;
** BLZ0: [http://samples.mplayerhq.hu/V-codecs/BLZ0/ http://samples.mplayerhq.hu/V-codecs/BLZ0/]&lt;br /&gt;
** DX50: [http://samples.mplayerhq.hu/V-codecs/DX50-DivX5/ http://samples.mplayerhq.hu/V-codecs/DX50-DivX5/]&lt;br /&gt;
** M4S2: [http://samples.mplayerhq.hu/V-codecs/M4S2/ http://samples.mplayerhq.hu/V-codecs/M4S2/]&lt;br /&gt;
** MP4S: [http://samples.mplayerhq.hu/V-codecs/MP4S/ http://samples.mplayerhq.hu/V-codecs/MP4S/]&lt;br /&gt;
** RMP4: [http://samples.mplayerhq.hu/V-codecs/RMP4/ http://samples.mplayerhq.hu/V-codecs/RMP4/]&lt;br /&gt;
** SEDG: [http://samples.mplayerhq.hu/V-codecs/SEDG/ http://samples.mplayerhq.hu/V-codecs/SEDG/]&lt;br /&gt;
** SMP4: [http://samples.mplayerhq.hu/V-codecs/SMP4/ http://samples.mplayerhq.hu/V-codecs/SMP4/]&lt;br /&gt;
** UMP4: [http://samples.mplayerhq.hu/V-codecs/UMP4/ http://samples.mplayerhq.hu/V-codecs/UMP4/]&lt;br /&gt;
** WV1F: [http://samples.mplayerhq.hu/V-codecs/WV1F/ http://samples.mplayerhq.hu/V-codecs/WV1F/]&lt;br /&gt;
&lt;br /&gt;
[[MPEG-4 part 2]] video.  Different encoders use different FourCCs to identify MPEG-4 content in AVI files, with DIVX, XVID, DX50, and FMP4 being most common.  Strictly speaking, some of these FourCCs should refer only to simple profile rather than advanced simple profile, but this can not be relied upon.&lt;br /&gt;
&lt;br /&gt;
This does not include [[H.264]] video ([[MPEG-4 part 10]]).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In particular, specifically for FMP4 fourcc, accordingly with MPlayer FAQ :&lt;br /&gt;
&lt;br /&gt;
Q:	&lt;br /&gt;
Why do third-party players fail to play MPEG-4 movies encoded by MEncoder versions later than 1.0pre7?&lt;br /&gt;
&lt;br /&gt;
A:	&lt;br /&gt;
libavcodec, the native MPEG-4 encoding library usually shipped with MEncoder, used to set the FourCC to 'DIVX' when encoding MPEG-4 videos (the FourCC is an AVI tag to identify the software used to encode and the intended software to use for decoding the video). This led many people to think that libavcodec was a DivX encoding library, when in fact it is a completely different MPEG-4 encoding library which implements the MPEG-4 standard much better than DivX does. Therefore, the new default FourCC used by libavcodec is 'FMP4', but you may override this behavior using MEncoder's -ffourcc option. You may also change the FourCC of existing files in the same way:&lt;br /&gt;
&lt;br /&gt;
  mencoder input.avi -o output.avi -ovc copy -oac copy -ffourcc XVID&lt;br /&gt;
&lt;br /&gt;
Note that this will set the FourCC to XVID rather than DIVX. This is recommended as DIVX FourCC means DivX4, which is a very basic MPEG-4 codec, whereas DX50 and XVID both mean full MPEG-4 (ASP). Therefore, if you change the FourCC to DIVX, some bad software or hardware players may choke on some advanced features that libavcodec supports, but DivX doesn't; on the other hand XviD is closer to libavcodec in terms of functionality, and is supported by all decent players.&lt;br /&gt;
&lt;br /&gt;
Because of this annoying detail, third-party software may fail to decode video that has been encoded with software based on a recent libavcodec, such as VLC. &lt;br /&gt;
Modifying the fourcc with 'DX50' or 'XVID', for example, should resolve the problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[H.263]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=ISO_MPEG-4&amp;diff=9459</id>
		<title>ISO MPEG-4</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=ISO_MPEG-4&amp;diff=9459"/>
		<updated>2008-02-19T10:10:21Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: 3IV2, 3iv2, BLZ0, DIV1, div1, DIVX, divx, DX50, dx50, DXGM, FMP4, fmp4, HDX4, hdx4, M4S2, m4s2, MP4S, mp4s, MP4V, mp4v, RMP4, SEDG, SMP4, UMP4, WV1F, XVID, XviD, xvid, XVIX&lt;br /&gt;
* Matroska CodecIDs: V_MPEG4/ISO/SP (Simple Profile), V_MPEG4/ISO/ASP (Advanced Simple Profile)&lt;br /&gt;
* Samples:&lt;br /&gt;
** 3IV2: [http://samples.mplayerhq.hu/V-codecs/3iv2/ http://samples.mplayerhq.hu/V-codecs/3iv2/]&lt;br /&gt;
** BLZ0: [http://samples.mplayerhq.hu/V-codecs/BLZ0/ http://samples.mplayerhq.hu/V-codecs/BLZ0/]&lt;br /&gt;
** DX50: [http://samples.mplayerhq.hu/V-codecs/DX50-DivX5/ http://samples.mplayerhq.hu/V-codecs/DX50-DivX5/]&lt;br /&gt;
** M4S2: [http://samples.mplayerhq.hu/V-codecs/M4S2/ http://samples.mplayerhq.hu/V-codecs/M4S2/]&lt;br /&gt;
** MP4S: [http://samples.mplayerhq.hu/V-codecs/MP4S/ http://samples.mplayerhq.hu/V-codecs/MP4S/]&lt;br /&gt;
** RMP4: [http://samples.mplayerhq.hu/V-codecs/RMP4/ http://samples.mplayerhq.hu/V-codecs/RMP4/]&lt;br /&gt;
** SEDG: [http://samples.mplayerhq.hu/V-codecs/SEDG/ http://samples.mplayerhq.hu/V-codecs/SEDG/]&lt;br /&gt;
** SMP4: [http://samples.mplayerhq.hu/V-codecs/SMP4/ http://samples.mplayerhq.hu/V-codecs/SMP4/]&lt;br /&gt;
** UMP4: [http://samples.mplayerhq.hu/V-codecs/UMP4/ http://samples.mplayerhq.hu/V-codecs/UMP4/]&lt;br /&gt;
** WV1F: [http://samples.mplayerhq.hu/V-codecs/WV1F/ http://samples.mplayerhq.hu/V-codecs/WV1F/]&lt;br /&gt;
&lt;br /&gt;
MPEG-4 part 2 video.  Different encoders use different FourCCs to identify MPEG-4 content in AVI files, with DIVX, XVID, DX50, and FMP4 being most common.  Strictly speaking, some of these FourCCs should refer only to simple profile rather than advanced simple profile, but this can not be relied upon.&lt;br /&gt;
&lt;br /&gt;
This does not include [[H.264]] video (MPEG-4 part 10).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In particular, specifically for FMP4 fourcc, accordingly with MPlayer FAQ :&lt;br /&gt;
&lt;br /&gt;
Q:	&lt;br /&gt;
Why do third-party players fail to play MPEG-4 movies encoded by MEncoder versions later than 1.0pre7?&lt;br /&gt;
&lt;br /&gt;
A:	&lt;br /&gt;
libavcodec, the native MPEG-4 encoding library usually shipped with MEncoder, used to set the FourCC to 'DIVX' when encoding MPEG-4 videos (the FourCC is an AVI tag to identify the software used to encode and the intended software to use for decoding the video). This led many people to think that libavcodec was a DivX encoding library, when in fact it is a completely different MPEG-4 encoding library which implements the MPEG-4 standard much better than DivX does. Therefore, the new default FourCC used by libavcodec is 'FMP4', but you may override this behavior using MEncoder's -ffourcc option. You may also change the FourCC of existing files in the same way:&lt;br /&gt;
&lt;br /&gt;
  mencoder input.avi -o output.avi -ovc copy -oac copy -ffourcc XVID&lt;br /&gt;
&lt;br /&gt;
Note that this will set the FourCC to XVID rather than DIVX. This is recommended as DIVX FourCC means DivX4, which is a very basic MPEG-4 codec, whereas DX50 and XVID both mean full MPEG-4 (ASP). Therefore, if you change the FourCC to DIVX, some bad software or hardware players may choke on some advanced features that libavcodec supports, but DivX doesn't; on the other hand XviD is closer to libavcodec in terms of functionality, and is supported by all decent players.&lt;br /&gt;
&lt;br /&gt;
Because of this annoying detail, third-party software may fail to decode video that has been encoded with software based on a recent libavcodec, such as VLC. &lt;br /&gt;
Modifying the fourcc with 'DX50' or 'XVID', for example, should resolve the problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[H.263]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=H.263&amp;diff=9458</id>
		<title>H.263</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=H.263&amp;diff=9458"/>
		<updated>2008-02-19T10:09:41Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* FourCCs: D263, H263, L263, M263, S263, U263, X263&lt;br /&gt;
* Organization: [[ITU]]&lt;br /&gt;
* Specs : http://www.itu.int/rec/T-REC-H.263-200501-I/en&lt;br /&gt;
* Implementor's Guide: http://www.itu.int/rec/T-REC-H.Imp263/en&lt;br /&gt;
* Samples:&lt;br /&gt;
** h263: http://samples.mplayerhq.hu/V-codecs/h263/&lt;br /&gt;
** U263: http://samples.mplayerhq.hu/V-codecs/U263/&lt;br /&gt;
&lt;br /&gt;
H.263 is a video coding standard developed for telecommunications applications. Many other codecs are known to have borrowed concepts from the standard.&lt;br /&gt;
&lt;br /&gt;
This site containts more information as well as source code: [http://www.h263l.com/ http://www.h263l.com].&lt;br /&gt;
&lt;br /&gt;
These implementations are suspected to be identical to the standard H.263:&lt;br /&gt;
* D263: Originated at [[DEC]].&lt;br /&gt;
* L263: Originated at [[LEAD Technologies]]&lt;br /&gt;
* M263: Originated at [[Microsoft]]&lt;br /&gt;
* X263: Originated at [[Xirlink]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[ISO MPEG-4]] (sometime also refered to as '''MPEG-4 ASP''' or '''MPEG-4 Advanced Simple Profile''')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=MPEG-4_ASP&amp;diff=9457</id>
		<title>MPEG-4 ASP</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=MPEG-4_ASP&amp;diff=9457"/>
		<updated>2008-02-19T10:06:40Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[ISO MPEG-4]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=MPEG-4_AVC&amp;diff=9456</id>
		<title>MPEG-4 AVC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=MPEG-4_AVC&amp;diff=9456"/>
		<updated>2008-02-19T10:05:15Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[H.264]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Video_Acceleration_API&amp;diff=9455</id>
		<title>Video Acceleration API</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Video_Acceleration_API&amp;diff=9455"/>
		<updated>2008-02-19T10:03:28Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Video Acceleration API (VA API)''' is a software API specification which provides access to [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] video-hardware acceleration for video processing. Accelerated processing includes video decoding, subpicture blending and rendering.&lt;br /&gt;
&lt;br /&gt;
VA API is meant to some day replace [[XvMC]], [[XvMC]] which is the UNIX equivalent of the [[DirectX Video Acceleration|Microsoft Windows DirectX Video Acceleration (DxVA) API]]. The main motivation for VA API is to enable hardware accelerated video decode at various entry-points ([[iDCT]], [[Motion Compensation]], [[Variable Length Decoding|VLD]], etc.) for the prevailing coding standards today ([[MPEG-2]], [[MPEG-4 ASP]]/[[H.263]], [[MPEG-4 AVC]]/[[H.264]], and [[VC-1]]/[[VC-1|VMW3]]). Extending [[XvMC]] was considered, but due to its original design for MPEG-2 [[Motion Compensation|MotionComp]] only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today's GPUs.&lt;br /&gt;
&lt;br /&gt;
==Processes that could be accelerated==&lt;br /&gt;
* [[Motion compensation|Motion compensation (mocomp)]]&lt;br /&gt;
* [[Inverse discrete cosine transform|Inverse discrete cosine transform (iDCT)]]&lt;br /&gt;
** [[Inverse telecine]] 3:2 and 2:2 pull-down correction&lt;br /&gt;
* Inverse [[modified discrete cosine transform]] (iMDCT)&lt;br /&gt;
* In-loop [[deblocking filter (video)|deblocking filter]]&lt;br /&gt;
* Intra-frame prediction&lt;br /&gt;
* Inverse [[Quantization (image processing)|quantization]] (IQ)&lt;br /&gt;
* [[Huffman_coding|Variable-Length Decoding (VLD)]], more commonly known as slice-level acceleration&lt;br /&gt;
* Spatial-temporal [[deinterlacing]] and automatic [[interlace]]/[[progressive scan|progressive]] source detection&lt;br /&gt;
* Bitstream processing ([[CAVLC]]/[[CABAC]])&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
The current interface is focused on video decode only and is window system independent, so that potentially it can be used with graphics sub-systems other than the [[X Window System]]. In a nutshell it is basically a scheme to pass various types of data buffers from the application to the [[GPU]] for [[Video codec|decoding]] a [[Elementary stream|compressed bit-stream]]. Feedback on this [[API]] is greatly welcomed, as this is intended to be a community collaborative effort. &lt;br /&gt;
&lt;br /&gt;
[[Image:VAAPI.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
&amp;lt;!-- STEP 3: All articles must cite at least one PUBLISHED, SPECIFIC,   --&amp;gt;&lt;br /&gt;
&amp;lt;!--         THIRD-PARTY source for the information, such as a book or  --&amp;gt;&lt;br /&gt;
&amp;lt;!--         a page on a reputable website. Please provide a URL or     --&amp;gt;&lt;br /&gt;
&amp;lt;!--         link if you wish to use an internet source. WE MUST BE     --&amp;gt;&lt;br /&gt;
&amp;lt;!--         ABLE TO VERIFY YOUR SOURCE, so sources such as &amp;quot;Google&amp;quot; or --&amp;gt;&lt;br /&gt;
&amp;lt;!--         &amp;quot;personal knowledge&amp;quot; will be rejected.                     --&amp;gt;&lt;br /&gt;
&amp;lt;!--         IF YOU DO NOT INCLUDE AT LEAST ONE VALID SOURCE, YOUR      --&amp;gt;&lt;br /&gt;
&amp;lt;!--         ARTICLE WILL BE REJECTED.                                  --&amp;gt;&lt;br /&gt;
&amp;lt;!--                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!--         Please add your source(s) below this line.                 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This API is intended to provide an interface between a video decode application (client) and a hardware decode accelerator (server), to off-load video decode operations from the host to the hardware accelerator at various entry-points.&amp;quot;&lt;br /&gt;
http://www.freedesktop.org/wiki/Software/vaapi&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A new video acceleration API is being developed, in an effort lead by Intel. This new API supports more complete offload (VLD) as well as iDCT+MC, and can support acceleration of MPEG4, H.264, VC-1, as well as MPEG2.&amp;quot;&lt;br /&gt;
http://www.mythtv.org/wiki/index.php/XvMC&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Extending XvMC was considered, but due to its original design for MPEG-2 MoComp only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today's GPUs.&amp;quot;&lt;br /&gt;
http://www.xboxmediacenter.com/wiki/index.php?title=Hardware_Accelerated_Video_Decoding&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;VA API&amp;quot; and &amp;quot;libVA&amp;quot; can also be read about here:&lt;br /&gt;
&amp;quot;The end user impact is improved performance of H.264, VC-1, MPEG-2 and MPEG-4 video playback with media players that use the new API compared to playback using a pure software implementation.&amp;quot;&lt;br /&gt;
https://wiki.ubuntu.com/mobile-hw-decode&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]]&lt;br /&gt;
* [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]] - Microsoft Windows equivalent to [[VA API]] and [[XvMC]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* http://en.wikipedia.org/wiki/Video_Acceleration_API&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* http://www.freedesktop.org/wiki/Software/vaapi&lt;br /&gt;
* http://wiki.ubuntu.com/mobile-hw-decode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
[[Category:Application layer protocols]]&lt;br /&gt;
[[Category:Freedesktop.org]]&lt;br /&gt;
[[Category:Device drivers]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Video_Acceleration_API&amp;diff=9454</id>
		<title>Video Acceleration API</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Video_Acceleration_API&amp;diff=9454"/>
		<updated>2008-02-19T10:02:07Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* Processes that could be accelerated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Video Acceleration API (VA API)''' is a software API specification which provides access to [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] video-hardware acceleration for video processing. Accelerated processing includes video decoding, subpicture blending and rendering.&lt;br /&gt;
&lt;br /&gt;
VA API is meant to some day replace [[XvMC]], [[XvMC]] which is the UNIX equivalent of the [[DirectX Video Acceleration|Microsoft Windows DirectX Video Acceleration (DxVA) API]]. The main motivation for VA API is to enable hardware accelerated video decode at various entry-points ([[Variable-length code|VLD]], [[IDCT]], [[Motion Compensation]], etc.) for the prevailing coding standards today ([[MPEG-2]], [[MPEG-4 ASP]]/[[H.263]], [[MPEG-4 AVC]]/[[H.264]], and [[VC-1]]/[[VC-1|VMW3]]). Extending [[XvMC]] was considered, but due to its original design for MPEG-2 [[Motion Compensation|MotionComp]] only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today's GPUs.&lt;br /&gt;
&lt;br /&gt;
==Processes that could be accelerated==&lt;br /&gt;
* [[Motion compensation|Motion compensation (mocomp)]]&lt;br /&gt;
* [[Inverse discrete cosine transform|Inverse discrete cosine transform (iDCT)]]&lt;br /&gt;
** [[Inverse telecine]] 3:2 and 2:2 pull-down correction&lt;br /&gt;
* Inverse [[modified discrete cosine transform]] (iMDCT)&lt;br /&gt;
* In-loop [[deblocking filter (video)|deblocking filter]]&lt;br /&gt;
* Intra-frame prediction&lt;br /&gt;
* Inverse [[Quantization (image processing)|quantization]] (IQ)&lt;br /&gt;
* [[Huffman_coding|Variable-Length Decoding (VLD)]], more commonly known as slice-level acceleration&lt;br /&gt;
* Spatial-temporal [[deinterlacing]] and automatic [[interlace]]/[[progressive scan|progressive]] source detection&lt;br /&gt;
* Bitstream processing ([[CAVLC]]/[[CABAC]])&lt;br /&gt;
&lt;br /&gt;
== Architecture ==&lt;br /&gt;
The current interface is focused on video decode only and is window system independent, so that potentially it can be used with graphics sub-systems other than the [[X Window System]]. In a nutshell it is basically a scheme to pass various types of data buffers from the application to the [[GPU]] for [[Video codec|decoding]] a [[Elementary stream|compressed bit-stream]]. Feedback on this [[API]] is greatly welcomed, as this is intended to be a community collaborative effort. &lt;br /&gt;
&lt;br /&gt;
[[Image:VAAPI.jpg]]&lt;br /&gt;
&lt;br /&gt;
== Sources ==&lt;br /&gt;
&amp;lt;!-- STEP 3: All articles must cite at least one PUBLISHED, SPECIFIC,   --&amp;gt;&lt;br /&gt;
&amp;lt;!--         THIRD-PARTY source for the information, such as a book or  --&amp;gt;&lt;br /&gt;
&amp;lt;!--         a page on a reputable website. Please provide a URL or     --&amp;gt;&lt;br /&gt;
&amp;lt;!--         link if you wish to use an internet source. WE MUST BE     --&amp;gt;&lt;br /&gt;
&amp;lt;!--         ABLE TO VERIFY YOUR SOURCE, so sources such as &amp;quot;Google&amp;quot; or --&amp;gt;&lt;br /&gt;
&amp;lt;!--         &amp;quot;personal knowledge&amp;quot; will be rejected.                     --&amp;gt;&lt;br /&gt;
&amp;lt;!--         IF YOU DO NOT INCLUDE AT LEAST ONE VALID SOURCE, YOUR      --&amp;gt;&lt;br /&gt;
&amp;lt;!--         ARTICLE WILL BE REJECTED.                                  --&amp;gt;&lt;br /&gt;
&amp;lt;!--                                                                    --&amp;gt;&lt;br /&gt;
&amp;lt;!--         Please add your source(s) below this line.                 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This API is intended to provide an interface between a video decode application (client) and a hardware decode accelerator (server), to off-load video decode operations from the host to the hardware accelerator at various entry-points.&amp;quot;&lt;br /&gt;
http://www.freedesktop.org/wiki/Software/vaapi&lt;br /&gt;
&lt;br /&gt;
&amp;quot;A new video acceleration API is being developed, in an effort lead by Intel. This new API supports more complete offload (VLD) as well as iDCT+MC, and can support acceleration of MPEG4, H.264, VC-1, as well as MPEG2.&amp;quot;&lt;br /&gt;
http://www.mythtv.org/wiki/index.php/XvMC&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Extending XvMC was considered, but due to its original design for MPEG-2 MoComp only, it made more sense to design an interface from scratch that can fully expose the video decode capabilities in today's GPUs.&amp;quot;&lt;br /&gt;
http://www.xboxmediacenter.com/wiki/index.php?title=Hardware_Accelerated_Video_Decoding&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;VA API&amp;quot; and &amp;quot;libVA&amp;quot; can also be read about here:&lt;br /&gt;
&amp;quot;The end user impact is improved performance of H.264, VC-1, MPEG-2 and MPEG-4 video playback with media players that use the new API compared to playback using a pure software implementation.&amp;quot;&lt;br /&gt;
https://wiki.ubuntu.com/mobile-hw-decode&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]]&lt;br /&gt;
* [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]] - Microsoft Windows equivalent to [[VA API]] and [[XvMC]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* http://en.wikipedia.org/wiki/Video_Acceleration_API&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* http://www.freedesktop.org/wiki/Software/vaapi&lt;br /&gt;
* http://wiki.ubuntu.com/mobile-hw-decode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
[[Category:Application layer protocols]]&lt;br /&gt;
[[Category:Freedesktop.org]]&lt;br /&gt;
[[Category:Device drivers]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=XvMC&amp;diff=9453</id>
		<title>XvMC</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=XvMC&amp;diff=9453"/>
		<updated>2008-02-19T09:59:51Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* Processes that could be accelerated */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''X-Video Motion Compensation (XvMC)''', is an extension of the [http://en.wikipedia.org/wiki/X_video_extension X video extension (Xv)] for the [http://en.wikipedia.org/wiki/X_Window_System X Window System (a.k.a. X11)] under Linux operating-systems. The XvMC API allows video programs to offload portions of the video decoding process to the [http://en.wikipedia.org/wiki/Graphics_processing_unit GPU] video-hardware. In theory this process should also reduce bus bandwidth requirements. Currently, the supported portions to be offloaded by XvMC onto the GPU are [[motion compensation|motion compensation (mo comp)]] and [[inverse discrete cosine transform|inverse discrete cosine transform (iDCT)]] for [[MPEG-2]] video. XvMC also supports offloading decoding of [[motion compensation|mo comp]], [[inverse discrete cosine transform|iDCT]], and VLD (&amp;quot;Variable-Length Decoding&amp;quot;, more commonly known as &amp;quot;slice level acceleration&amp;quot;) for not only [[MPEG-2]] but also [[MPEG-4 ASP|MPEG-4 ASP (H.263)]] and [[MPEG-4 AVC|MPEG-4 AVC (H.264)]] video on VIA Unichrome (S3 Graphics Chrome Series) hardware. Popular software applications known to take advantage of XvMC include [[MPlayer]], [[MythTV]], and [[xine]].&lt;br /&gt;
&lt;br /&gt;
XvMC is the UNIX equivalent of the Microsoft Windows [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]]. Mac OS X also includes MPEG-2 acceleration capabilities, but Apple has chosen not to expose that API for use outside their own DVD-Video player application.&lt;br /&gt;
&lt;br /&gt;
[[Motion compensation]] is an algorithmic technique employed in the encoding of video data, for example in the generation of [[MPEG-2]] files.&lt;br /&gt;
&lt;br /&gt;
== Device drivers ==&lt;br /&gt;
Each hardware video GPU capable of XvMC video acceleration requires a [http://en.wikipedia.org/wiki/X_Window_System X Window System (a.k.a. X11)] software device-driver to enable these features.&lt;br /&gt;
===Hardware manufactures===&lt;br /&gt;
====NVIDIA====&lt;br /&gt;
There are currently three X11 Nvidia drivers available: One open source developed by the Linux community called [http://en.wikipedia.org/wiki/Nouveau_%28graphics%29 Nouveau], one 2D only open source driver maintained by NVIDIA called nv, and one proprietary binary device driver by NVIDIA. Nouveau is currently working on XvMC support [http://nouveau.freedesktop.org/wiki/SoC][http://nouveau.freedesktop.org/wiki/RequiredFunctionality], the 2D nv driver does not support XvMC, and the official [[proprietary]] binary device driver by NVIDIA only supports MPEG-2 offloading (mo comp and iDCT).&lt;br /&gt;
&lt;br /&gt;
====VIA====&lt;br /&gt;
VIA provides open source device drivers for its VIA Unichrome (S3 Graphics Chrome Series) hardware, supporting offloading of [[MPEG-2]], [[MPEG-4 ASP|MPEG-4 ASP (H.263)]] and [[MPEG-4 AVC|MPEG-4 AVC (H.264)]] video.&lt;br /&gt;
Thanks to VLD level of decoding VIA offloads much more decoding tasks from CPU than GPUs supporting iDCT or mo comp levels only.&lt;br /&gt;
&lt;br /&gt;
====Intel====&lt;br /&gt;
Intel provides official open source device drivers which supports MPEG-2 offloading (mo comp and iDCT) on Intel's 8xx/9xx range of integrated graphics chips. [http://intellinuxgraphics.org/man.html]&lt;br /&gt;
&lt;br /&gt;
====ATI/AMD====&lt;br /&gt;
There are no device drivers which support XvMC on ATI/AMD hardware, (although all ATI/AMD Radeon GPU hardware has support for MPEG-2 acceleration on iDCT and mo comp levels).&lt;br /&gt;
&lt;br /&gt;
====Matrox====&lt;br /&gt;
There are no device drivers which support XvMC on Matrox hardware, (although the Matrox Parhelia GPU hardware has support for MPEG-2 acceleration on mo comp level).&lt;br /&gt;
&lt;br /&gt;
====S3====&lt;br /&gt;
Binary device driver by S3 only supports MPEG-2 offloading in initial 2.0.16 driver on Chrome 20 and up GPUs.&lt;br /&gt;
&lt;br /&gt;
==XvMC API technical overview==&lt;br /&gt;
This is from [http://www.xfree86.org/~mvojkovi/XvMC_API.txt X-Video Motion Compensation - API specification v. 1.0]&lt;br /&gt;
===XvPort===&lt;br /&gt;
XvMC extends the [http://en.wikipedia.org/wiki/X_video_extension X video extension (Xv)] and makes use of the familiar concept of the XvPort. Ports have attributes that can be set and queried through Xv. In XvMC ports can also have hardware [[motion compensation]] contexts created for use with them.  Ports which support XvImages (ie. they have an &amp;quot;XV_IMAGE&amp;quot; port encoding as described in the Xv version 2.2 API addendum) can be queried for the list of XvMCSurface types they support.  If they support any XvMCSurface types an XvMCContext can be created for that port.&lt;br /&gt;
&lt;br /&gt;
===XvMCContext===&lt;br /&gt;
XvMCContext describes the state of the [[motion compensation]] pipeline. An individual XvMCContext can be created for use with a single port, surface type, motion compensation type, width and height combination. For example, a context might be created for a particular port that does [[MPEG-2]] motion compensation on 720 x 480 4:2:0 surfaces. Once the context is created, referencing it implies  the port, surface type, size and the motion compensation type. Contexts may be &amp;quot;direct&amp;quot; or &amp;quot;indirect&amp;quot;.  For indirect contexts the [[X server]] renders all video using the data passed to it by the client. For direct contexts the client libraries render the video with little or no interaction with the X server.&lt;br /&gt;
&lt;br /&gt;
===XvMCSurfaces===&lt;br /&gt;
XvMCSurfaces are buffers into which the [[motion compensation]] hardware can render.  The data in the buffers themselves are not client accessible and may be stored in a hardware-specific format. Any number of buffers can be created for use with a particular context (resources permitting).&lt;br /&gt;
&lt;br /&gt;
===Video Pipeline===&lt;br /&gt;
XvMC provides video acceleration starting at one of two places in the video [[Pixel Pipelines|pipeline]]. Acceleration starting at the first point, which we shall call the &amp;quot;Motion Compensation&amp;quot; level, begins after the &amp;lt;!--duplicate--&amp;gt;the [[inverse quantization]] and [[inverse discrete cosine transform|IDCT]] at the place where [[motion compensation]] is to be applied.  The second point, which we shall call the &amp;quot;IDCT&amp;quot; level, begins before the IDCT just after the inverse quantization.&lt;br /&gt;
&lt;br /&gt;
===Rendering===&lt;br /&gt;
Rendering is done by presenting the library with a target XvMCSurface and up to two reference XvMCSurfaces for the motion compensation, a buffer of 8x8 blocks and a command buffer which describes how to use the 8x8 blocks along with motion compensation vectors to construct the data in the target XvMCSurface. When the pipeline starts at the iDCT level, Xv will perform the IDCT on the blocks before performing the motion compensation. A function is provided to copy/overlay a portion of the XvMCSurface to a drawable with arbitrary scaling.&lt;br /&gt;
&lt;br /&gt;
===XvMCSubpictures===&lt;br /&gt;
XvMCSubpictures are separate surfaces that may be blended with the target surface. Any number of XvMCSubpictures may be created for use with a context (resources permitting).  Both &amp;quot;backend&amp;quot; and &amp;quot;frontend&amp;quot; subpicture behavior are supported.&lt;br /&gt;
&lt;br /&gt;
==Software support==&lt;br /&gt;
XvMC acceleration is supported in:&lt;br /&gt;
* [[FFmpeg]]&lt;br /&gt;
* [[MPlayer]]&lt;br /&gt;
* [[xine]]&lt;br /&gt;
* [[MythTV]]&lt;br /&gt;
* [[VLC]]&lt;br /&gt;
&lt;br /&gt;
==Processes that could be accelerated==&lt;br /&gt;
Even though XvMC currently only support hardware acceleration of [[motion compensation|motion compensation (mo comp)]] and [[inverse discrete cosine transform|inverse discrete cosine transform (iDCT)]], (and Variable-Length Decoding for VIA Unichrome GPU), additional video decoding processes could be passed on to modern [[graphics processing unit|GPU]]s which on [[Microsoft Windows]] can accelerate many more via Microsoft's [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]]. XvMC could be extended in the future to support the same processes:&lt;br /&gt;
* [[Motion compensation|Motion compensation (mocomp)]]&lt;br /&gt;
* [[Inverse discrete cosine transform|Inverse discrete cosine transform (iDCT)]]&lt;br /&gt;
** [[Inverse telecine]] 3:2 and 2:2 pull-down correction&lt;br /&gt;
* Inverse [[modified discrete cosine transform]] (iMDCT)&lt;br /&gt;
* In-loop [[deblocking filter (video)|deblocking filter]]&lt;br /&gt;
* Intra-frame prediction&lt;br /&gt;
* Inverse [[Quantization (image processing)|quantization]] (IQ)&lt;br /&gt;
* [[Huffman_coding|Variable-Length Decoding (VLD)]], more commonly known as slice-level acceleration&lt;br /&gt;
* Spatial-temporal [[deinterlacing]] and automatic [[interlace]]/[[progressive scan|progressive]] source detection&lt;br /&gt;
* Bitstream processing ([[CAVLC]]/[[CABAC]])&lt;br /&gt;
&lt;br /&gt;
==Current limitations==&lt;br /&gt;
Besides not matching all of the features and function of [[DirectX Video Acceleration|DxVA]] (which is the [[Microsoft]] equivalent [[API]] for [[Microsoft Windows|Windows]]), and lacking support for other video formats than [[MPEG-2]] in Linux device drivers from [[ATI]] and [[NVIDIA]], the [http://www.xfree86.org/~mvojkovi/XvMC_API.txt XvMC API specification version 1.0] currently also has these other limitations: &lt;br /&gt;
*BOB and onefield are the only [[deinterlacing]] methods that work with XvMC. &lt;br /&gt;
*Picture in Picture (PiP) does work with XvMC. &lt;br /&gt;
*Stepping though the video frame by frame can cause artifacts with XvMC.&lt;br /&gt;
*Editing a video is difficult to impossible with XvMC activated.&lt;br /&gt;
*The client application must run as root&lt;br /&gt;
*Lacking network transparency in the XvMC API&lt;br /&gt;
*Lacking the ability for the client application to be completely independent of which client side library needs to be used (ie. a unified wrapper library).&lt;br /&gt;
&lt;br /&gt;
A project called [[Video Acceleration API|Video Acceleration API (VA API)]] is underway to develop a more modern video acceleration API which will support the video acceleration features of modern GPUs.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Video Acceleration API|Video Acceleration API (VA API)]]&lt;br /&gt;
* [[DirectX Video Acceleration|DirectX Video Acceleration (DxVA) API]] - Microsoft Windows equivalent to [[VA API]] and [[XvMC]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* http://en.wikipedia.org/wiki/XvMC&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
*[http://www.x.org X.Org Foundation]&lt;br /&gt;
*[http://www.xfree86.org The XFree86 Project, Inc.]&lt;br /&gt;
*[http://www.freedesktop.org freedesktop.org]&lt;br /&gt;
*[http://www.openchrome.org/ openChrome Project]&lt;br /&gt;
**[http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=HardwareCaveats openChrome supported hardware]&lt;br /&gt;
*[http://sourceforge.net/projects/unichrome The Unichrome Project]&lt;br /&gt;
*[http://www.mythtv.org/wiki/index.php/XvMC XvMC at MythTV's wiki]&lt;br /&gt;
&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
[[Category:Application layer protocols]]&lt;br /&gt;
[[Category:Freedesktop.org]]&lt;br /&gt;
[[Category:Device drivers]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9387</id>
		<title>FFmpeg audio API</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9387"/>
		<updated>2008-01-21T14:27:37Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* Current ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for discussion regarding the reworking of the FFmpeg audio API to accommodate the requirements needed for today's audio codecs.&lt;br /&gt;
&lt;br /&gt;
==Reasons why an audio API is needed in FFmpeg==&lt;br /&gt;
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality audio API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.&lt;br /&gt;
&lt;br /&gt;
== To Do ==&lt;br /&gt;
* Decide what will be implemented as functions in the public API and what will be implemented as a filter in the [[Libavfilter]] framework&lt;br /&gt;
&lt;br /&gt;
== Features needed ==&lt;br /&gt;
* Generalized channel mixing (SIMD optimized) - users should be able to set their own channel mixing coefficients.&lt;br /&gt;
* Codec alterable channel mixing coefficients - the codec should be able to set and update the channel mixing coefficients during runtime (DCA and AC-3 support this).&lt;br /&gt;
* Output channel request function - specify the number of desired output channels. The decoder may or may not be able to grant the request. If not, a general mixing filter should be used.&lt;br /&gt;
* Distinguish between number of coded channels, requested channels, and output channels. Demuxers and/or parsers would only need to set the number of coded channels.&lt;br /&gt;
* Channel reordering - currently there are different orders depending on the codec and/or container.&lt;br /&gt;
* SIMD optimized interleaving&lt;br /&gt;
* Allow planar output - don't duplicate the interleaving code in every codec&lt;br /&gt;
* Support bit depths other than 16-bit - 8-bit/24-bit/32-bit/float&lt;br /&gt;
* Channel selection - ability to access one channel from a multichannel stream&lt;br /&gt;
&lt;br /&gt;
* Decide on name of a such A/V filter API.&lt;br /&gt;
** libavmunge, or simply extend on the existing libavfilter have been suggested so far.&lt;br /&gt;
&lt;br /&gt;
== Feature wish list ==&lt;br /&gt;
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in the ffmpeg-devel mailing-list.&lt;br /&gt;
* Dolby Pro Logic Surround Sound decoding (Prologic 1 and Prologic 2).&lt;br /&gt;
* Add a better FFT routine. (Would the KISS implementation be a good candidate?)&lt;br /&gt;
* Fixed point MDCT/FFT implementations&lt;br /&gt;
* Custom audio filter support. (Basing it on the video filter API ideas?)&lt;br /&gt;
* Proper API for enabling SIMD optimized code.&lt;br /&gt;
* Create (or port) additional pre-process and post-process audio filters:&lt;br /&gt;
** Psychoacoustic audio processing&lt;br /&gt;
** Artificial reverberation&lt;br /&gt;
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs&lt;br /&gt;
&lt;br /&gt;
== Current ideas ==&lt;br /&gt;
Threads with previous discussions in the subject:&lt;br /&gt;
&lt;br /&gt;
* http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/47485/focus=48097&lt;br /&gt;
** This thread has several ideas that has already been implemented.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-November/038323.html&lt;br /&gt;
** Discussion of general ideas and requirements for the new API.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-January/040816.html&lt;br /&gt;
** This thread goes in to futher ideas about expanding the audio bitdepth support &lt;br /&gt;
&lt;br /&gt;
*Take a look at other existing players API for filter plugins, like for example:&lt;br /&gt;
** [http://xinehq.de/index.php/hackersguide#AEN864 Xine]&lt;br /&gt;
** [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer]&lt;br /&gt;
** [http://www.xmms.org XMMS (X MultiMedia System)]&lt;br /&gt;
&lt;br /&gt;
== Proposal for internal audio mixing api/system ==&lt;br /&gt;
&lt;br /&gt;
=== ff_mix usage ===&lt;br /&gt;
To setup the mixing you need an AVMIXContext to hold all settings. After that just initialize the context with the proper mixing coefficient&lt;br /&gt;
tables and channel layouts.&lt;br /&gt;
&lt;br /&gt;
 AVMIXContext* mix=NULL;&lt;br /&gt;
 stream_dwChannelMask = FRONT_LEFT|FRONT_RIGHT|CENTER|LFE|REAR_LEFT|REAR_RIGHT;&lt;br /&gt;
 out_dwChannelMask = FRONT_LEFT|FRONT_RIGHT;&lt;br /&gt;
 result = ff_mix_init(mix, 6, 2, stream_dwChannelMask, out_dwChannelMask, codec_mixing_table ,mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
After this and if the result from ff_mix is 1 then set the pointers to the in and out buffers. Here is a possibility to reorder&lt;br /&gt;
the channels if that is needed.&lt;br /&gt;
&lt;br /&gt;
 mix-&amp;gt;inchannel[0]  = codec-&amp;gt;channel[0];&lt;br /&gt;
 mix-&amp;gt;inchannel[1]  = codec-&amp;gt;channel[1];&lt;br /&gt;
 mix-&amp;gt;inchannel[2]  = codec-&amp;gt;channel[2];&lt;br /&gt;
 mix-&amp;gt;inchannel[3]  = codec-&amp;gt;channel[3];&lt;br /&gt;
 mix-&amp;gt;inchannel[4]  = codec-&amp;gt;channel[4];&lt;br /&gt;
 mix-&amp;gt;inchannel[5]  = codec-&amp;gt;channel[5];&lt;br /&gt;
 mix-&amp;gt;outchannel[0] = codec-&amp;gt;outchannel[0];&lt;br /&gt;
 mix-&amp;gt;outchannel[1] = codec-&amp;gt;outchannel[1];&lt;br /&gt;
&lt;br /&gt;
Now everything should be setup properly. And to mix the buffers just use:&lt;br /&gt;
&lt;br /&gt;
 result = ff_mix(mix);&lt;br /&gt;
&lt;br /&gt;
If result is 0 then something was initialized wrongly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===struct codec_mix_struct===&lt;br /&gt;
&lt;br /&gt;
 /** This struct holds the possible stream channel configurations and the possible output configurations.&lt;br /&gt;
  *  The code will have a table of these struct's to define all the channel configurations it support.&lt;br /&gt;
  *  This table will be passes to the ff_mix_init function and the init will search through the table&lt;br /&gt;
  *  for a matching configuration and load the appropriate mixing coeffs.&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct av_codec_mix_struct {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     unsinged int stream_channel_mask,   ///&amp;lt; channelmask for the input stream&lt;br /&gt;
     unsinged int out_channel_mask,      ///&amp;lt; channelmask for the output data&lt;br /&gt;
     int8_t* mixing_coeff_index_matrix,  ///&amp;lt; mixing matrix that correspond to the mixing configuration&lt;br /&gt;
                                         ///&amp;lt; Table with inchannels*outchannels index elements, a negative index means that the mixing coeffs should be negated.&lt;br /&gt;
                                         ///&amp;lt; For example (simplified) [1,2] would mean coeff[1]+coeff[2] while [1,-2] would mean coeff[1]-coeff[2].&lt;br /&gt;
 } av_codec_mix_struct;&lt;br /&gt;
&lt;br /&gt;
===struct AVMIXContext===&lt;br /&gt;
&lt;br /&gt;
 /** Main AVMIX context&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct AVMIXContext {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     void* inchannel[MAX_MIX_CHANNELS];  ///&amp;lt; pointers to the inchannels in channelmask order&lt;br /&gt;
     void* outchannel[MAX_MIX_CHANNELS]; ///&amp;lt; pointers to the outchannels in channelmask order&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===function ff_mix_init===&lt;br /&gt;
 /** Initialization routine for the libavcodec multichannel audio mixer&lt;br /&gt;
  *&lt;br /&gt;
  * The multichannel mixer does not know the &amp;quot;position&amp;quot; of the speakers and it doesn't need to either. But&lt;br /&gt;
  * depending on the mixing matrix it will unknowingly reorder channels to the native order.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in|out] mix&lt;br /&gt;
  * This is the actual mixing context. It will hold all the information needed to perform mixing.&lt;br /&gt;
  * If the passed argument is NULL it will allocate a context. If not null it will reinit the passed&lt;br /&gt;
  * context. The mix context is of fixed size and will be large enough to support a MAX_MIX_CHANNELS&lt;br /&gt;
  * amount of channels.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels &lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] mixing_coeffs_table&lt;br /&gt;
  * Table with mixing coeffs, it is this table the mixing_coeff_index_matrix will refer too. It is declared as void* to&lt;br /&gt;
  * make it possible for a future addition of fixed point mixing.&lt;br /&gt;
  *&lt;br /&gt;
  * @return[out]&lt;br /&gt;
  * The init will do a lookup for a matching mixing configuration with the help of the in and out channel masks.&lt;br /&gt;
  * If there isn't any matching configuration return 0 otherwise return 1. &lt;br /&gt;
  */&lt;br /&gt;
 int ff_mix_init(AVMIXContext* mix, unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                 unsigned int out_channel_mask, av_codec_mix_table* mix_table, void* mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===select_mixing_matrix===&lt;br /&gt;
 /** Function to get the appropriate mixing_coeff_index_matrix.&lt;br /&gt;
  *&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels[in]&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels[in]&lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask[in]&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask[in]&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @returns[out]&lt;br /&gt;
  * A mixing_coeff_index_matrix if the configuration could be found in the mix_table, NULL if not.&lt;br /&gt;
  */&lt;br /&gt;
 int8_t* select_mixing_matrix(unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                              unsigned int out_channel_mask, av_codec_mix_table* mix_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Function to perform the mixing of audio in the input pointers to the output pointers&lt;br /&gt;
 *&lt;br /&gt;
 * This function should be called to initiate the mixing of source channels to the destination channels.&lt;br /&gt;
 *&lt;br /&gt;
 * @returns[out]&lt;br /&gt;
 * If something went bad (NULL pointers for src or dst etc) return 0 and if everything is ok return 1.&lt;br /&gt;
 */&lt;br /&gt;
int ff_mix(AVMIXContext* mix);&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Libavfilter]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9386</id>
		<title>FFmpeg audio API</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9386"/>
		<updated>2008-01-21T14:27:16Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* Current ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for discussion regarding the reworking of the FFmpeg audio API to accommodate the requirements needed for today's audio codecs.&lt;br /&gt;
&lt;br /&gt;
==Reasons why an audio API is needed in FFmpeg==&lt;br /&gt;
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality audio API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.&lt;br /&gt;
&lt;br /&gt;
== To Do ==&lt;br /&gt;
* Decide what will be implemented as functions in the public API and what will be implemented as a filter in the [[Libavfilter]] framework&lt;br /&gt;
&lt;br /&gt;
== Features needed ==&lt;br /&gt;
* Generalized channel mixing (SIMD optimized) - users should be able to set their own channel mixing coefficients.&lt;br /&gt;
* Codec alterable channel mixing coefficients - the codec should be able to set and update the channel mixing coefficients during runtime (DCA and AC-3 support this).&lt;br /&gt;
* Output channel request function - specify the number of desired output channels. The decoder may or may not be able to grant the request. If not, a general mixing filter should be used.&lt;br /&gt;
* Distinguish between number of coded channels, requested channels, and output channels. Demuxers and/or parsers would only need to set the number of coded channels.&lt;br /&gt;
* Channel reordering - currently there are different orders depending on the codec and/or container.&lt;br /&gt;
* SIMD optimized interleaving&lt;br /&gt;
* Allow planar output - don't duplicate the interleaving code in every codec&lt;br /&gt;
* Support bit depths other than 16-bit - 8-bit/24-bit/32-bit/float&lt;br /&gt;
* Channel selection - ability to access one channel from a multichannel stream&lt;br /&gt;
&lt;br /&gt;
* Decide on name of a such A/V filter API.&lt;br /&gt;
** libavmunge, or simply extend on the existing libavfilter have been suggested so far.&lt;br /&gt;
&lt;br /&gt;
== Feature wish list ==&lt;br /&gt;
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in the ffmpeg-devel mailing-list.&lt;br /&gt;
* Dolby Pro Logic Surround Sound decoding (Prologic 1 and Prologic 2).&lt;br /&gt;
* Add a better FFT routine. (Would the KISS implementation be a good candidate?)&lt;br /&gt;
* Fixed point MDCT/FFT implementations&lt;br /&gt;
* Custom audio filter support. (Basing it on the video filter API ideas?)&lt;br /&gt;
* Proper API for enabling SIMD optimized code.&lt;br /&gt;
* Create (or port) additional pre-process and post-process audio filters:&lt;br /&gt;
** Psychoacoustic audio processing&lt;br /&gt;
** Artificial reverberation&lt;br /&gt;
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs&lt;br /&gt;
&lt;br /&gt;
== Current ideas ==&lt;br /&gt;
Threads with previous discussions in the subject:&lt;br /&gt;
&lt;br /&gt;
* http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/47485/focus=48097&lt;br /&gt;
** This thread has several ideas that has already been implemented.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-November/038323.html&lt;br /&gt;
** Discussion of general ideas and requirements for the new API.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-January/040816.html&lt;br /&gt;
** This thread goes in to futher ideas about expanding the audio bitdepth support &lt;br /&gt;
&lt;br /&gt;
*Take a look at other existing players API for filter plugins, like for example:&lt;br /&gt;
* [http://xinehq.de/index.php/hackersguide#AEN864 Xine]&lt;br /&gt;
* [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer]&lt;br /&gt;
* [http://www.xmms.org XMMS (X MultiMedia System)]&lt;br /&gt;
&lt;br /&gt;
== Proposal for internal audio mixing api/system ==&lt;br /&gt;
&lt;br /&gt;
=== ff_mix usage ===&lt;br /&gt;
To setup the mixing you need an AVMIXContext to hold all settings. After that just initialize the context with the proper mixing coefficient&lt;br /&gt;
tables and channel layouts.&lt;br /&gt;
&lt;br /&gt;
 AVMIXContext* mix=NULL;&lt;br /&gt;
 stream_dwChannelMask = FRONT_LEFT|FRONT_RIGHT|CENTER|LFE|REAR_LEFT|REAR_RIGHT;&lt;br /&gt;
 out_dwChannelMask = FRONT_LEFT|FRONT_RIGHT;&lt;br /&gt;
 result = ff_mix_init(mix, 6, 2, stream_dwChannelMask, out_dwChannelMask, codec_mixing_table ,mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
After this and if the result from ff_mix is 1 then set the pointers to the in and out buffers. Here is a possibility to reorder&lt;br /&gt;
the channels if that is needed.&lt;br /&gt;
&lt;br /&gt;
 mix-&amp;gt;inchannel[0]  = codec-&amp;gt;channel[0];&lt;br /&gt;
 mix-&amp;gt;inchannel[1]  = codec-&amp;gt;channel[1];&lt;br /&gt;
 mix-&amp;gt;inchannel[2]  = codec-&amp;gt;channel[2];&lt;br /&gt;
 mix-&amp;gt;inchannel[3]  = codec-&amp;gt;channel[3];&lt;br /&gt;
 mix-&amp;gt;inchannel[4]  = codec-&amp;gt;channel[4];&lt;br /&gt;
 mix-&amp;gt;inchannel[5]  = codec-&amp;gt;channel[5];&lt;br /&gt;
 mix-&amp;gt;outchannel[0] = codec-&amp;gt;outchannel[0];&lt;br /&gt;
 mix-&amp;gt;outchannel[1] = codec-&amp;gt;outchannel[1];&lt;br /&gt;
&lt;br /&gt;
Now everything should be setup properly. And to mix the buffers just use:&lt;br /&gt;
&lt;br /&gt;
 result = ff_mix(mix);&lt;br /&gt;
&lt;br /&gt;
If result is 0 then something was initialized wrongly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===struct codec_mix_struct===&lt;br /&gt;
&lt;br /&gt;
 /** This struct holds the possible stream channel configurations and the possible output configurations.&lt;br /&gt;
  *  The code will have a table of these struct's to define all the channel configurations it support.&lt;br /&gt;
  *  This table will be passes to the ff_mix_init function and the init will search through the table&lt;br /&gt;
  *  for a matching configuration and load the appropriate mixing coeffs.&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct av_codec_mix_struct {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     unsinged int stream_channel_mask,   ///&amp;lt; channelmask for the input stream&lt;br /&gt;
     unsinged int out_channel_mask,      ///&amp;lt; channelmask for the output data&lt;br /&gt;
     int8_t* mixing_coeff_index_matrix,  ///&amp;lt; mixing matrix that correspond to the mixing configuration&lt;br /&gt;
                                         ///&amp;lt; Table with inchannels*outchannels index elements, a negative index means that the mixing coeffs should be negated.&lt;br /&gt;
                                         ///&amp;lt; For example (simplified) [1,2] would mean coeff[1]+coeff[2] while [1,-2] would mean coeff[1]-coeff[2].&lt;br /&gt;
 } av_codec_mix_struct;&lt;br /&gt;
&lt;br /&gt;
===struct AVMIXContext===&lt;br /&gt;
&lt;br /&gt;
 /** Main AVMIX context&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct AVMIXContext {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     void* inchannel[MAX_MIX_CHANNELS];  ///&amp;lt; pointers to the inchannels in channelmask order&lt;br /&gt;
     void* outchannel[MAX_MIX_CHANNELS]; ///&amp;lt; pointers to the outchannels in channelmask order&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===function ff_mix_init===&lt;br /&gt;
 /** Initialization routine for the libavcodec multichannel audio mixer&lt;br /&gt;
  *&lt;br /&gt;
  * The multichannel mixer does not know the &amp;quot;position&amp;quot; of the speakers and it doesn't need to either. But&lt;br /&gt;
  * depending on the mixing matrix it will unknowingly reorder channels to the native order.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in|out] mix&lt;br /&gt;
  * This is the actual mixing context. It will hold all the information needed to perform mixing.&lt;br /&gt;
  * If the passed argument is NULL it will allocate a context. If not null it will reinit the passed&lt;br /&gt;
  * context. The mix context is of fixed size and will be large enough to support a MAX_MIX_CHANNELS&lt;br /&gt;
  * amount of channels.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels &lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] mixing_coeffs_table&lt;br /&gt;
  * Table with mixing coeffs, it is this table the mixing_coeff_index_matrix will refer too. It is declared as void* to&lt;br /&gt;
  * make it possible for a future addition of fixed point mixing.&lt;br /&gt;
  *&lt;br /&gt;
  * @return[out]&lt;br /&gt;
  * The init will do a lookup for a matching mixing configuration with the help of the in and out channel masks.&lt;br /&gt;
  * If there isn't any matching configuration return 0 otherwise return 1. &lt;br /&gt;
  */&lt;br /&gt;
 int ff_mix_init(AVMIXContext* mix, unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                 unsigned int out_channel_mask, av_codec_mix_table* mix_table, void* mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===select_mixing_matrix===&lt;br /&gt;
 /** Function to get the appropriate mixing_coeff_index_matrix.&lt;br /&gt;
  *&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels[in]&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels[in]&lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask[in]&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask[in]&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @returns[out]&lt;br /&gt;
  * A mixing_coeff_index_matrix if the configuration could be found in the mix_table, NULL if not.&lt;br /&gt;
  */&lt;br /&gt;
 int8_t* select_mixing_matrix(unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                              unsigned int out_channel_mask, av_codec_mix_table* mix_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Function to perform the mixing of audio in the input pointers to the output pointers&lt;br /&gt;
 *&lt;br /&gt;
 * This function should be called to initiate the mixing of source channels to the destination channels.&lt;br /&gt;
 *&lt;br /&gt;
 * @returns[out]&lt;br /&gt;
 * If something went bad (NULL pointers for src or dst etc) return 0 and if everything is ok return 1.&lt;br /&gt;
 */&lt;br /&gt;
int ff_mix(AVMIXContext* mix);&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Libavfilter]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9385</id>
		<title>FFmpeg audio API</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=FFmpeg_audio_API&amp;diff=9385"/>
		<updated>2008-01-21T14:23:22Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* Current ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is for discussion regarding the reworking of the FFmpeg audio API to accommodate the requirements needed for today's audio codecs.&lt;br /&gt;
&lt;br /&gt;
==Reasons why an audio API is needed in FFmpeg==&lt;br /&gt;
FFmpeg's already well-known [[libavcodec]] module has become the de facto standard library for video decoding and encoding in free software projects. Unfortunately, no similar standard library has surfaced for audio/video filtering and otherwise working with audio/video stream once it has been decoded. Various multimedia projects (such as MPlayer, Xine, GStreamer, VirtualDub, etc.) have implemented their own filter systems to various degrees of success. What is needed is a high quality audio and video filter API - efficient, flexible enough to meet all the requirements which have led various projects to invent their own filter system, and yet easy to use or develop new filters with. This proposal is to implement a high quality audio API and filter library for FFmpeg, where it can be easily used by other multimedia-related software projects.&lt;br /&gt;
&lt;br /&gt;
== To Do ==&lt;br /&gt;
* Decide what will be implemented as functions in the public API and what will be implemented as a filter in the [[Libavfilter]] framework&lt;br /&gt;
&lt;br /&gt;
== Features needed ==&lt;br /&gt;
* Generalized channel mixing (SIMD optimized) - users should be able to set their own channel mixing coefficients.&lt;br /&gt;
* Codec alterable channel mixing coefficients - the codec should be able to set and update the channel mixing coefficients during runtime (DCA and AC-3 support this).&lt;br /&gt;
* Output channel request function - specify the number of desired output channels. The decoder may or may not be able to grant the request. If not, a general mixing filter should be used.&lt;br /&gt;
* Distinguish between number of coded channels, requested channels, and output channels. Demuxers and/or parsers would only need to set the number of coded channels.&lt;br /&gt;
* Channel reordering - currently there are different orders depending on the codec and/or container.&lt;br /&gt;
* SIMD optimized interleaving&lt;br /&gt;
* Allow planar output - don't duplicate the interleaving code in every codec&lt;br /&gt;
* Support bit depths other than 16-bit - 8-bit/24-bit/32-bit/float&lt;br /&gt;
* Channel selection - ability to access one channel from a multichannel stream&lt;br /&gt;
&lt;br /&gt;
* Decide on name of a such A/V filter API.&lt;br /&gt;
** libavmunge, or simply extend on the existing libavfilter have been suggested so far.&lt;br /&gt;
&lt;br /&gt;
== Feature wish list ==&lt;br /&gt;
'''Warning:''' This is not an official wish list. Before implementing any one of these items, ask first in the ffmpeg-devel mailing-list.&lt;br /&gt;
* Dolby Pro Logic Surround Sound decoding (Prologic 1 and Prologic 2).&lt;br /&gt;
* Add a better FFT routine. (Would the KISS implementation be a good candidate?)&lt;br /&gt;
* Fixed point MDCT/FFT implementations&lt;br /&gt;
* Custom audio filter support. (Basing it on the video filter API ideas?)&lt;br /&gt;
* Proper API for enabling SIMD optimized code.&lt;br /&gt;
* Create (or port) additional pre-process and post-process audio filters:&lt;br /&gt;
** Psychoacoustic audio processing&lt;br /&gt;
** Artificial reverberation&lt;br /&gt;
*Create a SDK (Software Development Kit) with templates for the A/V filter APIs&lt;br /&gt;
&lt;br /&gt;
== Current ideas ==&lt;br /&gt;
Threads with previous discussions in the subject:&lt;br /&gt;
&lt;br /&gt;
* http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/47485/focus=48097&lt;br /&gt;
** This thread has several ideas that has already been implemented.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-November/038323.html&lt;br /&gt;
** Discussion of general ideas and requirements for the new API.&lt;br /&gt;
* http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-January/040816.html&lt;br /&gt;
** This thread goes in to futher ideas about expanding the audio bitdepth support &lt;br /&gt;
&lt;br /&gt;
*Take a look at other existing players API for filter plugins, like for example:&lt;br /&gt;
* [http://xinehq.de/index.php/hackersguide#AEN864 Xine]&lt;br /&gt;
* [http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html GStreamer]&lt;br /&gt;
&lt;br /&gt;
== Proposal for internal audio mixing api/system ==&lt;br /&gt;
&lt;br /&gt;
=== ff_mix usage ===&lt;br /&gt;
To setup the mixing you need an AVMIXContext to hold all settings. After that just initialize the context with the proper mixing coefficient&lt;br /&gt;
tables and channel layouts.&lt;br /&gt;
&lt;br /&gt;
 AVMIXContext* mix=NULL;&lt;br /&gt;
 stream_dwChannelMask = FRONT_LEFT|FRONT_RIGHT|CENTER|LFE|REAR_LEFT|REAR_RIGHT;&lt;br /&gt;
 out_dwChannelMask = FRONT_LEFT|FRONT_RIGHT;&lt;br /&gt;
 result = ff_mix_init(mix, 6, 2, stream_dwChannelMask, out_dwChannelMask, codec_mixing_table ,mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
After this and if the result from ff_mix is 1 then set the pointers to the in and out buffers. Here is a possibility to reorder&lt;br /&gt;
the channels if that is needed.&lt;br /&gt;
&lt;br /&gt;
 mix-&amp;gt;inchannel[0]  = codec-&amp;gt;channel[0];&lt;br /&gt;
 mix-&amp;gt;inchannel[1]  = codec-&amp;gt;channel[1];&lt;br /&gt;
 mix-&amp;gt;inchannel[2]  = codec-&amp;gt;channel[2];&lt;br /&gt;
 mix-&amp;gt;inchannel[3]  = codec-&amp;gt;channel[3];&lt;br /&gt;
 mix-&amp;gt;inchannel[4]  = codec-&amp;gt;channel[4];&lt;br /&gt;
 mix-&amp;gt;inchannel[5]  = codec-&amp;gt;channel[5];&lt;br /&gt;
 mix-&amp;gt;outchannel[0] = codec-&amp;gt;outchannel[0];&lt;br /&gt;
 mix-&amp;gt;outchannel[1] = codec-&amp;gt;outchannel[1];&lt;br /&gt;
&lt;br /&gt;
Now everything should be setup properly. And to mix the buffers just use:&lt;br /&gt;
&lt;br /&gt;
 result = ff_mix(mix);&lt;br /&gt;
&lt;br /&gt;
If result is 0 then something was initialized wrongly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===struct codec_mix_struct===&lt;br /&gt;
&lt;br /&gt;
 /** This struct holds the possible stream channel configurations and the possible output configurations.&lt;br /&gt;
  *  The code will have a table of these struct's to define all the channel configurations it support.&lt;br /&gt;
  *  This table will be passes to the ff_mix_init function and the init will search through the table&lt;br /&gt;
  *  for a matching configuration and load the appropriate mixing coeffs.&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct av_codec_mix_struct {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     unsinged int stream_channel_mask,   ///&amp;lt; channelmask for the input stream&lt;br /&gt;
     unsinged int out_channel_mask,      ///&amp;lt; channelmask for the output data&lt;br /&gt;
     int8_t* mixing_coeff_index_matrix,  ///&amp;lt; mixing matrix that correspond to the mixing configuration&lt;br /&gt;
                                         ///&amp;lt; Table with inchannels*outchannels index elements, a negative index means that the mixing coeffs should be negated.&lt;br /&gt;
                                         ///&amp;lt; For example (simplified) [1,2] would mean coeff[1]+coeff[2] while [1,-2] would mean coeff[1]-coeff[2].&lt;br /&gt;
 } av_codec_mix_struct;&lt;br /&gt;
&lt;br /&gt;
===struct AVMIXContext===&lt;br /&gt;
&lt;br /&gt;
 /** Main AVMIX context&lt;br /&gt;
  *&lt;br /&gt;
  */&lt;br /&gt;
 typedef struct AVMIXContext {&lt;br /&gt;
     unsigned int inchannels,            ///&amp;lt; amount of channels in the input stream&lt;br /&gt;
     unsigned int outchannels,           ///&amp;lt; amount of channels in the requested output stream&lt;br /&gt;
     void* inchannel[MAX_MIX_CHANNELS];  ///&amp;lt; pointers to the inchannels in channelmask order&lt;br /&gt;
     void* outchannel[MAX_MIX_CHANNELS]; ///&amp;lt; pointers to the outchannels in channelmask order&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===function ff_mix_init===&lt;br /&gt;
 /** Initialization routine for the libavcodec multichannel audio mixer&lt;br /&gt;
  *&lt;br /&gt;
  * The multichannel mixer does not know the &amp;quot;position&amp;quot; of the speakers and it doesn't need to either. But&lt;br /&gt;
  * depending on the mixing matrix it will unknowingly reorder channels to the native order.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in|out] mix&lt;br /&gt;
  * This is the actual mixing context. It will hold all the information needed to perform mixing.&lt;br /&gt;
  * If the passed argument is NULL it will allocate a context. If not null it will reinit the passed&lt;br /&gt;
  * context. The mix context is of fixed size and will be large enough to support a MAX_MIX_CHANNELS&lt;br /&gt;
  * amount of channels.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels &lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] mixing_coeffs_table&lt;br /&gt;
  * Table with mixing coeffs, it is this table the mixing_coeff_index_matrix will refer too. It is declared as void* to&lt;br /&gt;
  * make it possible for a future addition of fixed point mixing.&lt;br /&gt;
  *&lt;br /&gt;
  * @return[out]&lt;br /&gt;
  * The init will do a lookup for a matching mixing configuration with the help of the in and out channel masks.&lt;br /&gt;
  * If there isn't any matching configuration return 0 otherwise return 1. &lt;br /&gt;
  */&lt;br /&gt;
 int ff_mix_init(AVMIXContext* mix, unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                 unsigned int out_channel_mask, av_codec_mix_table* mix_table, void* mixing_coeffs_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===select_mixing_matrix===&lt;br /&gt;
 /** Function to get the appropriate mixing_coeff_index_matrix.&lt;br /&gt;
  *&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] inchannels[in]&lt;br /&gt;
  * Number of inchannels, this is set by the input stream. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param[in] outchannels[in]&lt;br /&gt;
  * Number of outchannels, this is set by the user. This value will be stored in the mixing context.&lt;br /&gt;
  *&lt;br /&gt;
  * @param stream_channel_mask[in]&lt;br /&gt;
  * This is the parameter describing the possible channel configuration a codec can have. This info is taken from&lt;br /&gt;
  * the input stream and converted to a channel mask.&lt;br /&gt;
  *&lt;br /&gt;
  * @param out_channel_mask[in]&lt;br /&gt;
  * This mask will contain the user selected out channel configuration.&lt;br /&gt;
  *&lt;br /&gt;
  * @param mix_table[in]&lt;br /&gt;
  * Table of av_codec_mix_struct's. &lt;br /&gt;
  *&lt;br /&gt;
  * @returns[out]&lt;br /&gt;
  * A mixing_coeff_index_matrix if the configuration could be found in the mix_table, NULL if not.&lt;br /&gt;
  */&lt;br /&gt;
 int8_t* select_mixing_matrix(unsigned int inchannels, unsigned int outchannels, unsigned int stream_channel_mask,&lt;br /&gt;
                              unsigned int out_channel_mask, av_codec_mix_table* mix_table);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** Function to perform the mixing of audio in the input pointers to the output pointers&lt;br /&gt;
 *&lt;br /&gt;
 * This function should be called to initiate the mixing of source channels to the destination channels.&lt;br /&gt;
 *&lt;br /&gt;
 * @returns[out]&lt;br /&gt;
 * If something went bad (NULL pointers for src or dst etc) return 0 and if everything is ok return 1.&lt;br /&gt;
 */&lt;br /&gt;
int ff_mix(AVMIXContext* mix);&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Libavfilter]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FFmpeg]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9337</id>
		<title>Blu Ray and HD-DVD Playback Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9337"/>
		<updated>2008-01-07T12:15:13Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*HD-DVD samples: http://samples.mplayerhq.hu/evob/&lt;br /&gt;
&lt;br /&gt;
Last updated july 9 2007&lt;br /&gt;
&lt;br /&gt;
Latest SVN is always reccomended.&lt;br /&gt;
&lt;br /&gt;
Niether [[HD DVD]] nor [[Blue-ray]] disc decryption are supported yet.&lt;br /&gt;
&lt;br /&gt;
This page only details playing the files ripped/decrypted using other programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Codec&lt;br /&gt;
| FFmpeg (de)muxer&lt;br /&gt;
| MPlayer (de)muxer&lt;br /&gt;
| Works?&lt;br /&gt;
| Status?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[H.264]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[VC-1]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and binary&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEG-2]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[EAC3]] hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | works&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in soc repo&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueHD]] hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Blue-ray]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[HD DVD]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in progress&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|DVD menus&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and libmpeg2&lt;br /&gt;
| ??&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | [http://onebithq.com/root/mplayer/dvdnav dvd menu patch]&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | menu background movie displayed with dvdnav://&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | there is only so much free time :)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Notes!:'''&amp;lt;br&amp;gt;&lt;br /&gt;
H.264 implementation does not yet support PAFF.&amp;lt;br&amp;gt;&lt;br /&gt;
Native VC-1 implementation does not yet decode all samples correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
For MPEG-2, hardware acceleration via [[XvMC]] is available.&lt;br /&gt;
&lt;br /&gt;
http://svn.mplayerhq.hu/soc/eac3/&lt;br /&gt;
*for [[EAC3]] decoder + patch for [[FFmpeg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[HD DVD]] - a next-generation optical disc format designed for high-density storage of high-definition video and data.&lt;br /&gt;
* [[Blue-ray]] - another next-generation optical disc format designed for high-density storage of high-definition video and data&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]] - hardware accelerated video decoding API for X11&lt;br /&gt;
* [[Video Acceleration API |Video Acceleration API (VA API)]] - independent hardware accelerated video decoding API&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Blue-ray]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;br /&gt;
[[Category:MPlayer]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9336</id>
		<title>Blu Ray and HD-DVD Playback Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9336"/>
		<updated>2008-01-07T12:14:11Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*HD-DVD samples: http://samples.mplayerhq.hu/evob/&lt;br /&gt;
&lt;br /&gt;
Last updated july 9 2007&lt;br /&gt;
&lt;br /&gt;
Latest SVN is always reccomended.&lt;br /&gt;
&lt;br /&gt;
Niether [[HD DVD]] nor [[Blue-ray]] disc decryption are supported yet.&lt;br /&gt;
&lt;br /&gt;
This page only details playing the files ripped/decrypted using other programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Codec&lt;br /&gt;
| FFmpeg (de)muxer&lt;br /&gt;
| MPlayer (de)muxer&lt;br /&gt;
| Works?&lt;br /&gt;
| Status?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[H.264]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[VC-1]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and binary&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEG]]-2 hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[EAC3]] hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | works&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in soc repo&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueHD]] hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Blue-ray]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[HD DVD]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in progress&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|DVD menus&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and libmpeg2&lt;br /&gt;
| ??&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | [http://onebithq.com/root/mplayer/dvdnav dvd menu patch]&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | menu background movie displayed with dvdnav://&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | there is only so much free time :)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Notes!:'''&amp;lt;br&amp;gt;&lt;br /&gt;
H.264 implementation does not yet support PAFF.&amp;lt;br&amp;gt;&lt;br /&gt;
Native VC-1 implementation does not yet decode all samples correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
For MPEG-2, hardware acceleration via [[XvMC]] is available.&lt;br /&gt;
&lt;br /&gt;
http://svn.mplayerhq.hu/soc/eac3/&lt;br /&gt;
*for [[EAC3]] decoder + patch for [[FFmpeg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[HD DVD]] - a next-generation optical disc format designed for high-density storage of high-definition video and data.&lt;br /&gt;
* [[Blue-ray]] - another next-generation optical disc format designed for high-density storage of high-definition video and data&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]] - hardware accelerated video decoding API for X11&lt;br /&gt;
* [[Video Acceleration API |Video Acceleration API (VA API)]] - independent hardware accelerated video decoding API&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Blue-ray]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;br /&gt;
[[Category:MPlayer]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9335</id>
		<title>Blu Ray and HD-DVD Playback Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9335"/>
		<updated>2008-01-07T12:13:23Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*HD-DVD samples: http://samples.mplayerhq.hu/evob/&lt;br /&gt;
&lt;br /&gt;
Last updated july 9 2007&lt;br /&gt;
&lt;br /&gt;
Latest SVN is always reccomended.&lt;br /&gt;
&lt;br /&gt;
Niether [[HD DVD]] nor [[Blue-ray]] disc decryption are supported yet.&lt;br /&gt;
&lt;br /&gt;
This page only details playing the files ripped/decrypted using other programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Codec&lt;br /&gt;
| FFmpeg (de)muxer&lt;br /&gt;
| MPlayer (de)muxer&lt;br /&gt;
| Works?&lt;br /&gt;
| Status?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[H.264]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[VC-1]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and binary&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEG]]-2 hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[EAC3]] hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | works&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in soc repo&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[TrueHD]] hddvd audio&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Blue-ray]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[HD DVD]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in progress&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|DVD menus&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and libmpeg2&lt;br /&gt;
| ??&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | [http://onebithq.com/root/mplayer/dvdnav dvd menu patch]&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | menu background movie displayed with dvdnav://&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | there is only so much free time :)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Notes!:'''&amp;lt;br&amp;gt;&lt;br /&gt;
H.264 implementation does not yet support PAFF.&amp;lt;br&amp;gt;&lt;br /&gt;
Native VC-1 implementation does not yet decode all samples correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
For MPEG-2, hardware acceleration via [[XvMC]] is available.&lt;br /&gt;
&lt;br /&gt;
http://svn.mplayerhq.hu/soc/eac3/&lt;br /&gt;
*for [[EAC3]] decoder + patch for [[FFmpeg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[HD DVD]] - a next-generation optical disc format designed for high-density storage of high-definition video and data.&lt;br /&gt;
* [[Blue-ray]] - another next-generation optical disc format designed for high-density storage of high-definition video and data&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]] - hardware accelerated video decoding API for X11&lt;br /&gt;
* [[Video Acceleration API |Video Acceleration API (VA API)]] - independent hardware accelerated video decoding API&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Blue-ray]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;br /&gt;
[[Category:MPlayer]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Dolby_TrueHD&amp;diff=9334</id>
		<title>Dolby TrueHD</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Dolby_TrueHD&amp;diff=9334"/>
		<updated>2008-01-07T12:11:27Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[TrueHD]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=TrueHD&amp;diff=9333</id>
		<title>TrueHD</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=TrueHD&amp;diff=9333"/>
		<updated>2008-01-07T12:09:39Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Company: [[Dolby Technologies]]&lt;br /&gt;
* Website: http://www.dolby.com/consumer/technology/trueHD.html&lt;br /&gt;
&lt;br /&gt;
'''Dolby TrueHD''' is a lossless audio coding technology. It is basically a rebadge of [[Meridian Lossless Packing|Meridian Lossless Packing (MLP)]] but includes some extensions such as higher maximum bitrate and more channels.&lt;br /&gt;
&lt;br /&gt;
A Dolby TrueHD bitstream can carry up to 14 discrete sound channels. Sample-depths up to 24 bits/sample and audio sample-rates up to 192 kHz are supported. Like the more common legacy codec [[AC-3|Dolby Digital (a.k.a. AC3)]], TrueHD bitstreams carry program metadata. Metadata is separate from the coding format and compressed audio samples, but stores relevant information about the audio waveform. For example, dialog normalization and Dynamic range compression are controlled by metadata embedded in the TrueHD bitstream.&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio Codecs]]&lt;br /&gt;
[[Category:Lossless Audio Codecs]]&lt;br /&gt;
[[Category:Undiscovered Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9332</id>
		<title>Blu Ray and HD-DVD Playback Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9332"/>
		<updated>2008-01-07T12:05:25Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*HD-DVD samples: http://samples.mplayerhq.hu/evob/&lt;br /&gt;
&lt;br /&gt;
Last updated july 9 2007&lt;br /&gt;
&lt;br /&gt;
Latest SVN is always reccomended.&lt;br /&gt;
&lt;br /&gt;
Niether [[HD DVD]] nor [[Blue-ray]] disc decryption are supported yet.&lt;br /&gt;
&lt;br /&gt;
This page only details playing the files ripped/decrypted using other programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Codec&lt;br /&gt;
| FFmpeg (de)muxer&lt;br /&gt;
| MPlayer (de)muxer&lt;br /&gt;
| Works?&lt;br /&gt;
| Status?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[H.264]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[VC-1]] hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and binary&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[MPEG]]-2 hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[EAC3]] hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | works&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in soc repo&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Blue-ray]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[HD DVD]] subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in progress&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|DVD menus&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and libmpeg2&lt;br /&gt;
| ??&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | [http://onebithq.com/root/mplayer/dvdnav dvd menu patch]&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | menu background movie displayed with dvdnav://&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | there is only so much free time :)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Notes!:'''&amp;lt;br&amp;gt;&lt;br /&gt;
H.264 implementation does not yet support PAFF.&amp;lt;br&amp;gt;&lt;br /&gt;
Native VC-1 implementation does not yet decode all samples correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
For MPEG-2, hardware acceleration via [[XvMC]] is available.&lt;br /&gt;
&lt;br /&gt;
http://svn.mplayerhq.hu/soc/eac3/&lt;br /&gt;
*for [[EAC3]] decoder + patch for [[FFmpeg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[HD DVD]] - a next-generation optical disc format designed for high-density storage of high-definition video and data.&lt;br /&gt;
* [[Blue-ray]] - another next-generation optical disc format designed for high-density storage of high-definition video and data&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]] - hardware accelerated video decoding API for X11&lt;br /&gt;
* [[Video Acceleration API |Video Acceleration API (VA API)]] - independent hardware accelerated video decoding API&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Blue-ray]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;br /&gt;
[[Category:MPlayer]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=EAC3&amp;diff=9331</id>
		<title>EAC3</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=EAC3&amp;diff=9331"/>
		<updated>2008-01-07T12:00:15Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[A52]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=A52&amp;diff=9330</id>
		<title>A52</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=A52&amp;diff=9330"/>
		<updated>2008-01-07T11:58:56Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Codec ID: 0x2000&lt;br /&gt;
* Specification for A/52 (revision B): http://www.atsc.org/standards/a_52b.pdf ([[Mirrored Files|mirrored]])&lt;br /&gt;
&lt;br /&gt;
==AC3==&lt;br /&gt;
ATSC A/52a is a standard for lossy encoding of audio in digital television broadcasting in the United States.  It is the same as Dolby Digital AC3.&lt;br /&gt;
&lt;br /&gt;
==EAC3==&lt;br /&gt;
ATSC A/52b is an extension to A/52a and was approved for the [[Blue-ray]] and [[HD DVD]] standard. It is the same as Enhanced AC3 or EAC3 for short. EAC3 is also supposed to be backwards compatible with AC3.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* DTS (DTS Coherent Acoustics)&lt;br /&gt;
&lt;br /&gt;
[[Category: Audio Codecs]]&lt;br /&gt;
[[Category: MDCT Audio Codecs]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9329</id>
		<title>Blu Ray and HD-DVD Playback Status</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu_Ray_and_HD-DVD_Playback_Status&amp;diff=9329"/>
		<updated>2008-01-07T11:51:32Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*HD-DVD samples: http://samples.mplayerhq.hu/evob/&lt;br /&gt;
&lt;br /&gt;
Last updated july 9 2007&lt;br /&gt;
&lt;br /&gt;
Latest SVN is always reccomended.&lt;br /&gt;
&lt;br /&gt;
Niether [[HD DVD]] nor [[Blue-ray]] disc decryption are supported yet.&lt;br /&gt;
&lt;br /&gt;
This page only details playing the files ripped/decrypted using other programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;4&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| Codec&lt;br /&gt;
| FFmpeg (de)muxer&lt;br /&gt;
| MPlayer (de)muxer&lt;br /&gt;
| Works?&lt;br /&gt;
| Status?&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| H.264 hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| VC-1 hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and binary&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MPEG-2 hddvd&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| EAC3 hddvd audio&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | works&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in soc repo&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Blue-ray subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|HD DVD subtitles&lt;br /&gt;
|&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | yes&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | unknown&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | in progress&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|DVD menus&lt;br /&gt;
| bgcolor=&amp;quot;lime&amp;quot; | native and libmpeg2&lt;br /&gt;
| ??&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | [http://onebithq.com/root/mplayer/dvdnav dvd menu patch]&lt;br /&gt;
| bgcolor=&amp;quot;yellow&amp;quot; | menu background movie displayed with dvdnav://&lt;br /&gt;
| bgcolor=&amp;quot;silver&amp;quot; | there is only so much free time :)&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''Notes!:'''&amp;lt;br&amp;gt;&lt;br /&gt;
H.264 implementation does not yet support PAFF.&amp;lt;br&amp;gt;&lt;br /&gt;
Native VC-1 implementation does not yet decode all samples correctly.&amp;lt;br&amp;gt;&lt;br /&gt;
For MPEG-2, hardware acceleration via [[XvMC]] is available.&lt;br /&gt;
&lt;br /&gt;
http://svn.mplayerhq.hu/soc/eac3/&lt;br /&gt;
*for [[EAC3]] decoder + patch for [[FFmpeg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[HD DVD]] - a next-generation optical disc format designed for high-density storage of high-definition video and data.&lt;br /&gt;
* [[Blue-ray]] - another next-generation optical disc format designed for high-density storage of high-definition video and data&lt;br /&gt;
* [[X-Video Motion Compensation|X-Video Motion Compensation (XvMC)]] - hardware accelerated video decoding API for X11&lt;br /&gt;
* [[Video Acceleration API |Video Acceleration API (VA API)]] - independent hardware accelerated video decoding API&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Blue-ray]]&lt;br /&gt;
[[Category:FFmpeg]]&lt;br /&gt;
[[Category:MPlayer]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=HD_DVD&amp;diff=9328</id>
		<title>HD DVD</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=HD_DVD&amp;diff=9328"/>
		<updated>2008-01-07T11:43:58Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[HD DVD]] is the successor of [[DVD]] technology.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Blue-ray]] - competitive high-definition optical multimedia format disc&lt;br /&gt;
* [[HD-DVD Playback Status]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.emedialive.com/Articles/ReadArticle.aspx?ArticleID=11629 The Authoritative HD DVD FAQ] by Hugh Bennett&lt;br /&gt;
&lt;br /&gt;
[[Category:HD DVD]]&lt;br /&gt;
[[Category:Optical Multimedia Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blu-ray&amp;diff=9327</id>
		<title>Blu-ray</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blu-ray&amp;diff=9327"/>
		<updated>2008-01-07T11:43:51Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Blue-ray]] is a high-density [[Optical Multimedia Formats|optical multimedia format disc]]  for the storage of digital information, including high-definition video.&lt;br /&gt;
&lt;br /&gt;
==Blue-ray Disc==&lt;br /&gt;
'''Blu-ray Disc (BD)''' is a next-generation optical disc format designed for high-density storage of high-definition video and data. The offical homepage of the Blu-ray Disc Association is http://www.blu-raydisc.com. There are some public available technical white papers under http://www.blu-raydisc.com/Section-13470/Section-13628/Index.html . For the filesystem used on ths media have a look at the [[Universal Disc Format| UDF]] 2.5 and 2.6 specification at http://osta.org/specs/&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[HD DVD]] - competitive high-definition optical multimedia format disc&lt;br /&gt;
* [[HD-DVD Playback Status]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Blue-ray|http://en.wikipedia.org/wiki/Blue-ray]&lt;br /&gt;
* [http://www.emedialive.com/Articles/ReadArticle.aspx?ArticleID=11392 The Authoritative Blu-ray Disc (BD) FAQ] by Hugh Bennett&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Blue-ray]]&lt;br /&gt;
[[Category:Optical Multimedia Formats]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
	<entry>
		<id>https://wiki.multimedia.cx/index.php?title=Blueray&amp;diff=9326</id>
		<title>Blueray</title>
		<link rel="alternate" type="text/html" href="https://wiki.multimedia.cx/index.php?title=Blueray&amp;diff=9326"/>
		<updated>2008-01-07T11:43:16Z</updated>

		<summary type="html">&lt;p&gt;Gamester17: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#redirect [[Blue-ray]]&lt;/div&gt;</summary>
		<author><name>Gamester17</name></author>
	</entry>
</feed>