]> git.sesse.net Git - vlc/blobdiff - modules/codec/cvdsub.c
Ogg: no tabs in source-code
[vlc] / modules / codec / cvdsub.c
index 5b4982e179e848f914c862a64cb49c0e131f48e1..9406db5d3ab8f9374d7b277237a5a8730e8e6f58 100644 (file)
@@ -230,7 +230,7 @@ static block_t *Reassemble( decoder_t *p_dec, block_t *p_block )
      * to detect the first packet in a subtitle.  The first packet
      * seems to have a valid PTS while later packets for the same
      * image don't. */
-    if( p_sys->i_state == SUBTITLE_BLOCK_EMPTY && p_block->i_pts == 0 )
+    if( p_sys->i_state == SUBTITLE_BLOCK_EMPTY && p_block->i_pts <= VLC_TS_INVALID )
     {
         msg_Warn( p_dec, "first packet expected but no PTS present");
         return NULL;
@@ -500,7 +500,7 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
     int i;
 
     /* Allocate the subpicture internal data. */
-    p_spu = decoder_NewSubpicture( p_dec );
+    p_spu = decoder_NewSubpicture( p_dec, NULL );
     if( !p_spu ) return NULL;
 
     p_spu->i_start = p_data->i_pts;
@@ -510,7 +510,8 @@ static subpicture_t *DecodePacket( decoder_t *p_dec, block_t *p_data )
     /* Create new SPU region */
     memset( &fmt, 0, sizeof(video_format_t) );
     fmt.i_chroma = VLC_CODEC_YUVP;
-    fmt.i_aspect = VOUT_ASPECT_FACTOR;
+    fmt.i_sar_num = 1;
+    fmt.i_sar_den = 1;
     fmt.i_width = fmt.i_visible_width = p_sys->i_width;
     fmt.i_height = fmt.i_visible_height = p_sys->i_height;
     fmt.i_x_offset = fmt.i_y_offset = 0;
@@ -573,9 +574,9 @@ static void RenderImage( decoder_t *p_dec, block_t *p_data,
     int i_field;            /* The subtitles are interlaced */
     int i_row, i_column;    /* scanline row/column number */
     uint8_t i_color, i_count;
-    bsw_t bsw;
+    bs_t bs;
 
-    bsw_init_writable( &bsw, p_data->p_buffer + p_sys->i_image_offset,
+    bs_init( &bs, p_data->p_buffer + p_sys->i_image_offset,
              p_data->i_buffer - p_sys->i_image_offset );
 
     for( i_field = 0; i_field < 2; i_field++ )
@@ -584,12 +585,12 @@ static void RenderImage( decoder_t *p_dec, block_t *p_data,
         {
             for( i_column = 0; i_column < p_sys->i_width; i_column++ )
             {
-                uint8_t i_val = bsw_read( &bsw, 4 );
+                uint8_t i_val = bs_read( &bs, 4 );
 
                 if( i_val == 0 )
                 {
                     /* Fill the rest of the line with next color */
-                    i_color = bsw_read( &bsw, 4 );
+                    i_color = bs_read( &bs, 4 );
 
                     memset( &p_dest[i_row * p_region->p_picture->Y_PITCH +
                                     i_column], i_color,
@@ -612,7 +613,7 @@ static void RenderImage( decoder_t *p_dec, block_t *p_data,
                 }
             }
 
-            bsw_align( &bsw );
+            bs_align( &bs );
         }
     }
 }