]> git.sesse.net Git - vlc/blobdiff - doc/developer/decoders.xml
Slovenian translation update by Matej Urbančič
[vlc] / doc / developer / decoders.xml
index 354de019ebd78deb569db3767b19125694d0c916..50eefea20206faab97c6918d46cb17875824d95a 100644 (file)
@@ -23,20 +23,20 @@ chapters.
   <sect1> <title> Decoder configuration </title>
 
     <para>
-The input thread spawns the appropriate decoders [the relation is
-currently hard-wired in <filename>src/input/input_programs.c</filename>].
-It then launches <function> *_CreateThread()</function>, with either
-an <type>adec_config_t</type> (audio) or an <type> vdec_config_t</type>
-(video) structure, described in <filename> include/input_ext-dec.h</filename>.
+The input thread spawns the appropriate decoder modules from <filename>
+src/input/input_dec.c</filename>. The <function>Dec_CreateThread</function>
+function selects the more accurate decoder module. Each decoder module 
+looks at decoder_config.i_type and returns a score [ see the modules 
+section ]. It then launches <function> module.pf_run()</function>, 
+with a <type>decoder_config_t</type>, described in <filename> 
+include/input_ext-dec.h</filename>.
     </para>
 
     <para>
-It contains some parameters relative to the output thread, which will
-be described in the following chapters, and a generic <type>
-decoder_config_t</type>, which gives the decoder the ES ID and type, and
-pointers to a <type> stream_control_t </type> structure (gives
-information on the play status), a <type> decoder_fifo_t </type>
-and <parameter> pf_init_bit_stream</parameter>, which will be
+The generic <type>decoder_config_t</type> structure, gives the decoder 
+the ES ID and type, and pointers to a <type> stream_control_t </type> 
+structure (gives information on the play status), a <type> decoder_fifo_t 
+</type> and <parameter> pf_init_bit_stream</parameter>, which will be
 described in the next two sections.
     </para>
 
@@ -79,7 +79,7 @@ dropped.
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="ps.eps" format="EPS" scalefit="1" scale="95" />
+        <imagedata fileref="ps.png" format="PNG" scalefit="1" scale="95" />
       </imageobject>
       <imageobject>
         <imagedata fileref="ps.gif" format="GIF" />
@@ -97,7 +97,7 @@ dropped.
 
     <mediaobject>
       <imageobject>
-        <imagedata fileref="ts.eps" format="EPS" scalefit="1" scale="95" />
+        <imagedata fileref="ts.png" format="PNG" scalefit="1" scale="95" />
       </imageobject>
       <imageobject>
         <imagedata fileref="ts.gif" format="GIF" />
@@ -280,15 +280,15 @@ also a new <type>pes_packet_t</type>. You can store your own structure in
     <para>
 VLC already features an MPEG layer 1 and 2 audio decoder, an MPEG MP@ML
 video decoder, an AC3 decoder (borrowed from LiViD), a DVD SPU decoder,
-and an LPCM decoder [not functional yet]. You can write your own
-decoder, just mimic the video parser.
+and an LPCM decoder. You can write your own decoder, just mimic the 
+video parser.
     </para>
 
     <note> <title> Limitations in the current design </title>
     <para>
-Currently, decoders are not "plug-ins", that is they are not dynamically
-loadable. The way the input chooses a decoder is also not final - it
-is hard-wired in <filename> src/input/input_programs.c</filename>.
+To add a new decoder, you'll still have to add the stream type as there's 
+still a a hard-wired piece of code in <filename> src/input/input_programs.c
+</filename>.
     </para> </note>
 
     <para>
@@ -307,7 +307,7 @@ be described in the following section.
     <sect1> <title> The MPEG video decoder </title>
 
       <para>
-VideoLAN Client provides an MPEG-1, and an MPEG-2 Main Profile @
+VLC media player provides an MPEG-1, and an MPEG-2 Main Profile @
 Main Level decoder. It has been natively written for VLC, and is quite
 mature. Its status is a bit special, since it is splitted between two
 logicial entities : video parser and video decoder.
@@ -379,7 +379,8 @@ seven methods :
 
         <itemizedlist>
           <listitem> <para> <function> vdec_IDCT </function> <parameter>
-          ( vdec_thread_t * p_vdec, dctelem_t * p_block, int ) </parameter> :
+          ( decoder_config_t * p_config, dctelem_t * p_block, int ) 
+          </parameter> : 
           Does the complete 2-D IDCT. 64 coefficients are in <parameter>
           p_block</parameter>.
           </para> </listitem>