]> git.sesse.net Git - vlc/blobdiff - modules/codec/cvdsub.c
Removes trailing spaces. Removes tabs.
[vlc] / modules / codec / cvdsub.c
index 8a4e426b23ea9170c0035edd13994a3004265f43..eee1e99a438e5fdf4b56d7e04c18d16790a882ff 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * cvd.c : CVD Subtitle decoder
  *****************************************************************************
- * Copyright (C) 2003, 2004 VideoLAN (Centrale Réseaux) and its contributors
+ * Copyright (C) 2003, 2004 the VideoLAN team
  * $Id$
  *
  * Authors: Rocky Bernstein
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
 #include <vlc/vlc.h>
-#include <vlc/vout.h>
-#include <vlc/decoder.h>
+#include <vlc_vout.h>
+#include <vlc_codec.h>
 
 #include "vlc_bits.h"
 
@@ -272,14 +272,14 @@ static block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
   except the submux sample code and a couple of samples of dubious
   origin. Thus, this is the result of reading some code whose
   correctness is not known and some experimentation.
-  
+
   CVD subtitles are different in several ways from SVCD OGT subtitles.
   Image comes first and metadata is at the end.  So that the metadata
   can be found easily, the subtitle packet starts with two bytes
   (everything is big-endian again) that give the total size of the
   subtitle data and the offset to the metadata - i.e. size of the
   image data plus the four bytes at the beginning.
+
   Image data comes interlaced is run-length encoded.  Each field is a
   four-bit nibble. Each nibble contains a two-bit repeat count and a
   two-bit color number so that up to three pixels can be described in
@@ -306,16 +306,15 @@ static void ParseHeader( decoder_t *p_dec, block_t *p_block )
 
     p_sys->i_image_offset = 4;
     p_sys->i_image_length = p_sys->metadata_offset - p_sys->i_image_offset;
-  
+
 #ifdef DEBUG_CVDSUB
     msg_Dbg( p_dec, "total size: %d  image size: %d",
              p_sys->i_spu_size, p_sys->i_image_length );
 #endif
-
 }
 
-/* 
-  We parse the metadata information here. 
+/*
+  We parse the metadata information here.
 
   Although metadata information does not have to come in a fixed field
   order, every metadata field consists of a tag byte followed by
@@ -333,7 +332,7 @@ static void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
     decoder_sys_t *p_sys = p_dec->p_sys;
     uint8_t       *p     = p_spu->p_buffer + p_sys->metadata_offset;
     uint8_t       *p_end = p + p_sys->metadata_length;
-  
+
     for( ; p < p_end; p += 4 )
     {
         switch( p[0] )
@@ -347,14 +346,14 @@ static void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
 #endif
             p_sys->i_duration *= 100 / 9;
             break;
-      
+
         case 0x0c: /* unknown */
 #ifdef DEBUG_CVDSUB
             msg_Dbg( p_dec, "subtitle command unknown 0x%0x 0x%0x 0x%0x 0x%0x",
                      (int)p[0], (int)p[1], (int)p[2], (int)p[3] );
 #endif
             break;
-      
+
         case 0x17: /* coordinates of subtitle upper left x, y position */
             ExtractXY(p_sys->i_x_start, p_sys->i_y_start);
 
@@ -363,7 +362,7 @@ static void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
                      p_sys->i_x_start, p_sys->i_y_start );
 #endif
             break;
-      
+
         case 0x1f: /* coordinates of subtitle bottom right x, y position */
         {
             int lastx;
@@ -378,11 +377,11 @@ static void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
 #endif
             break;
         }
-      
+
         case 0x24:
         case 0x25:
         case 0x26:
-        case 0x27: 
+        case 0x27:
         {
             uint8_t v = p[0] - 0x24;
 
@@ -431,7 +430,7 @@ static void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
                      (int)p_sys->p_palette[2][3], (int)p_sys->p_palette[3][3]);
 #endif
             break;
-      
+
         case 0x3f:
             /* transparency for highlight palette */
             p_sys->p_palette_highlight[0][3] = (p[2] & 0x0f) << 4;
@@ -471,7 +470,7 @@ static void ParseMetaInfo( decoder_t *p_dec, block_t *p_spu  )
 
         default:
 #ifdef DEBUG_CVDSUB
-            msg_Warn( p_dec, "unknown sequence in control header " 
+            msg_Warn( p_dec, "unknown sequence in control header "
                       "0x%0x 0x%0x 0x%0x 0x%0x", p[0], p[1], p[2], p[3]);
 #endif
         }
@@ -496,6 +495,8 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
     p_spu = p_dec->pf_spu_buffer_new( p_dec );
     if( !p_spu ) return NULL;
 
+    p_spu->b_pausable = VLC_TRUE;
+
     p_spu->i_x = p_sys->i_x_start;
     p_spu->i_x = p_spu->i_x * 3 / 4; /* FIXME: use aspect ratio for x? */
     p_spu->i_y = p_sys->i_y_start;
@@ -538,7 +539,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
 /*****************************************************************************
  * ParseImage: parse and render the image part of the subtitle
  *****************************************************************************
- This part parses the subtitle graphical data and renders it. 
+ This part parses the subtitle graphical data and renders it.
 
  Image data comes interlaced and is run-length encoded (RLE). Each
  field is a four-bit nibbles that is further subdivided in a two-bit
@@ -554,7 +555,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
  may be untested.
 
  However we'll transform this so that that the RLE is expanded and
- interlacing will also be removed. On output each pixel entry will by 
+ interlacing will also be removed. On output each pixel entry will by
  a 4-bit alpha (filling 8 bits), and 8-bit y, u, and v entry.
 
  *****************************************************************************/