[vlc-commits] commit: Removed picture_heap_t rgb informations. (Laurent Aimar )

git at videolan.org git at videolan.org
Sun Apr 18 15:03:21 CEST 2010


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Sun Apr 18 04:17:02 2010 +0200| [4820423079799cb162c52ebdabb29dd0697124e6] | committer: Laurent Aimar 

Removed picture_heap_t rgb informations.

They are copies of vout->fmt_*.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4820423079799cb162c52ebdabb29dd0697124e6
---

 include/vlc_vout.h              |    5 ---
 src/input/decoder.c             |    7 ----
 src/video_output/video_output.c |   74 ++++-----------------------------------
 src/video_output/vout_wrapper.c |    6 ++--
 4 files changed, 10 insertions(+), 82 deletions(-)

diff --git a/include/vlc_vout.h b/include/vlc_vout.h
index 6f1c982..005467d 100644
--- a/include/vlc_vout.h
+++ b/include/vlc_vout.h
@@ -56,11 +56,6 @@ struct picture_heap_t
     /* Real pictures */
     picture_t*      pp_picture[VOUT_MAX_PICTURES];             /**< pictures */
     int             i_last_used_pic;              /**< last used pic in heap */
-
-    /* Stuff used for truecolor RGB planes */
-    uint32_t i_rmask; int i_rrshift, i_lrshift;
-    uint32_t i_gmask; int i_rgshift, i_lgshift;
-    uint32_t i_bmask; int i_rbshift, i_lbshift;
 };
 
 /*****************************************************************************
diff --git a/src/input/decoder.c b/src/input/decoder.c
index 2dc6404..a9594f1 100644
--- a/src/input/decoder.c
+++ b/src/input/decoder.c
@@ -2349,13 +2349,6 @@ static picture_t *vout_new_buffer( decoder_t *p_dec )
             p_dec->b_error = true;
             return NULL;
         }
-
-        if( p_owner->video.i_rmask )
-            p_owner->p_vout->render.i_rmask = p_owner->video.i_rmask;
-        if( p_owner->video.i_gmask )
-            p_owner->p_vout->render.i_gmask = p_owner->video.i_gmask;
-        if( p_owner->video.i_bmask )
-            p_owner->p_vout->render.i_bmask = p_owner->video.i_bmask;
     }
 
     /* Get a new picture
diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
index 3b428f7..391ac2d 100644
--- a/src/video_output/video_output.c
+++ b/src/video_output/video_output.c
@@ -66,9 +66,6 @@ static void     ErrorThread       ( vout_thread_t * );
 static void     CleanThread       ( vout_thread_t * );
 static void     EndThread         ( vout_thread_t * );
 
-static void VideoFormatImportRgb( video_format_t *, const picture_heap_t * );
-static void PictureHeapFixRgb( picture_heap_t * );
-
 static void     vout_Destructor   ( vlc_object_t * p_this );
 
 /* Object variables callbacks */
@@ -203,6 +200,8 @@ vout_thread_t *vout_Request( vlc_object_t *p_this, vout_thread_t *p_vout,
             free( psz_filter_chain );
         }
 
+#warning "FIXME: Check RGB masks in vout_Request"
+        /* FIXME: check RGB masks */
         if( p_vout->fmt_render.i_chroma != vlc_fourcc_GetCodec( VIDEO_ES, p_fmt->i_chroma ) ||
             p_vout->fmt_render.i_width != p_fmt->i_width ||
             p_vout->fmt_render.i_height != p_fmt->i_height ||
@@ -341,15 +340,14 @@ vout_thread_t * vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt )
     p_vout->fmt_render        = *p_fmt;   /* FIXME palette */
     p_vout->fmt_in            = *p_fmt;   /* FIXME palette */
 
+    video_format_FixRgb( &p_vout->fmt_render );
+    video_format_FixRgb( &p_vout->fmt_in );
+
     p_vout->render.i_width    = i_width;
     p_vout->render.i_height   = i_height;
     p_vout->render.i_chroma   = i_chroma;
     p_vout->render.i_aspect   = i_aspect;
 
-    p_vout->render.i_rmask    = p_fmt->i_rmask;
-    p_vout->render.i_gmask    = p_fmt->i_gmask;
-    p_vout->render.i_bmask    = p_fmt->i_bmask;
-
     p_vout->render.i_last_used_pic = -1;
 
     /* Zero the output heap */
@@ -359,10 +357,6 @@ vout_thread_t * vout_Create( vlc_object_t *p_parent, video_format_t *p_fmt )
     p_vout->output.i_chroma   = 0;
     p_vout->output.i_aspect   = 0;
 
-    p_vout->output.i_rmask    = 0;
-    p_vout->output.i_gmask    = 0;
-    p_vout->output.i_bmask    = 0;
-
     /* Initialize misc stuff */
     p_vout->i_changes    = 0;
     p_vout->b_fullscreen = 0;
@@ -807,11 +801,8 @@ static int InitThread( vout_thread_t *p_vout )
 
     /* FIXME removed the need of both fmt_* and heap infos */
     /* Calculate shifts from system-updated masks */
-    PictureHeapFixRgb( &p_vout->render );
-    VideoFormatImportRgb( &p_vout->fmt_render, &p_vout->render );
-
-    PictureHeapFixRgb( &p_vout->output );
-    VideoFormatImportRgb( &p_vout->fmt_out, &p_vout->output );
+    video_format_FixRgb( &p_vout->fmt_render );
+    video_format_FixRgb( &p_vout->fmt_out );
 
     /* print some usefull debug info about different vout formats
      */
@@ -1339,57 +1330,6 @@ static void EndThread( vout_thread_t *p_vout )
 
 /* following functions are local */
 
-/**
- * This function copies all RGB informations from a picture_heap_t into
- * a video_format_t
- */
-static void VideoFormatImportRgb( video_format_t *p_fmt, const picture_heap_t *p_heap )
-{
-    p_fmt->i_rmask = p_heap->i_rmask;
-    p_fmt->i_gmask = p_heap->i_gmask;
-    p_fmt->i_bmask = p_heap->i_bmask;
-    p_fmt->i_rrshift = p_heap->i_rrshift;
-    p_fmt->i_lrshift = p_heap->i_lrshift;
-    p_fmt->i_rgshift = p_heap->i_rgshift;
-    p_fmt->i_lgshift = p_heap->i_lgshift;
-    p_fmt->i_rbshift = p_heap->i_rbshift;
-    p_fmt->i_lbshift = p_heap->i_lbshift;
-}
-
-/**
- * This funtion copes all RGB informations from a video_format_t into
- * a picture_heap_t
- */
-static void VideoFormatExportRgb( const video_format_t *p_fmt, picture_heap_t *p_heap )
-{
-    p_heap->i_rmask = p_fmt->i_rmask;
-    p_heap->i_gmask = p_fmt->i_gmask;
-    p_heap->i_bmask = p_fmt->i_bmask;
-    p_heap->i_rrshift = p_fmt->i_rrshift;
-    p_heap->i_lrshift = p_fmt->i_lrshift;
-    p_heap->i_rgshift = p_fmt->i_rgshift;
-    p_heap->i_lgshift = p_fmt->i_lgshift;
-    p_heap->i_rbshift = p_fmt->i_rbshift;
-    p_heap->i_lbshift = p_fmt->i_lbshift;
-}
-
-/**
- * This function computes rgb shifts from masks
- */
-static void PictureHeapFixRgb( picture_heap_t *p_heap )
-{
-    video_format_t fmt;
-
-    /* */
-    fmt.i_chroma = p_heap->i_chroma;
-    VideoFormatImportRgb( &fmt, p_heap );
-
-    /* */
-    video_format_FixRgb( &fmt );
-
-    VideoFormatExportRgb( &fmt, p_heap );
-}
-
 /*****************************************************************************
  * object variables callbacks: a bunch of object variables are used by the
  * interfaces to interact with the vout.
diff --git a/src/video_output/vout_wrapper.c b/src/video_output/vout_wrapper.c
index 9ea1486..7a97877 100644
--- a/src/video_output/vout_wrapper.c
+++ b/src/video_output/vout_wrapper.c
@@ -150,9 +150,6 @@ int vout_InitWrapper(vout_thread_t *vout)
     vout->output.i_width  = source.i_width;
     vout->output.i_height = source.i_height;
     vout->output.i_aspect = (int64_t)source.i_sar_num * source.i_width * VOUT_ASPECT_FACTOR / source.i_sar_den / source.i_height;
-    vout->output.i_rmask  = source.i_rmask;
-    vout->output.i_gmask  = source.i_gmask;
-    vout->output.i_bmask  = source.i_bmask;
 
     /* also set fmt_out (completly broken API) */
     vout->fmt_out.i_chroma         = vout->output.i_chroma;
@@ -164,6 +161,9 @@ int vout_InitWrapper(vout_thread_t *vout)
     vout->fmt_out.i_sar_den        = VOUT_ASPECT_FACTOR    * vout->output.i_width;
     vout->fmt_out.i_x_offset       = 0;
     vout->fmt_out.i_y_offset       = 0;
+    vout->fmt_out.i_rmask          = source.i_rmask;
+    vout->fmt_out.i_gmask          = source.i_gmask;
+    vout->fmt_out.i_bmask          = source.i_bmask;
 
     if (vout->fmt_in.i_visible_width  != source.i_visible_width ||
         vout->fmt_in.i_visible_height != source.i_visible_height ||



More information about the vlc-commits mailing list