[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