videobox: Add support for filling the background with red, yellow and white

This commit is contained in:
Sebastian Dröge 2010-04-07 16:24:38 +02:00
parent a0fd92dfc1
commit 02a4a150e8
2 changed files with 26 additions and 11 deletions

View File

@ -69,17 +69,26 @@ GST_DEBUG_CATEGORY_STATIC (videobox_debug);
#define GST_CAT_DEFAULT videobox_debug #define GST_CAT_DEFAULT videobox_debug
/* From videotestsrc.c */ /* From videotestsrc.c */
static const guint8 yuv_sdtv_colors_Y[VIDEO_BOX_FILL_LAST] = { 16, 145, 41 }; static const guint8 yuv_sdtv_colors_Y[VIDEO_BOX_FILL_LAST] =
static const guint8 yuv_sdtv_colors_U[VIDEO_BOX_FILL_LAST] = { 128, 54, 240 }; { 16, 145, 41, 81, 210, 235 };
static const guint8 yuv_sdtv_colors_V[VIDEO_BOX_FILL_LAST] = { 128, 34, 110 }; static const guint8 yuv_sdtv_colors_U[VIDEO_BOX_FILL_LAST] =
{ 128, 54, 240, 90, 16, 128 };
static const guint8 yuv_sdtv_colors_V[VIDEO_BOX_FILL_LAST] =
{ 128, 34, 110, 240, 146, 128 };
static const guint8 yuv_hdtv_colors_Y[VIDEO_BOX_FILL_LAST] = { 16, 173, 32 }; static const guint8 yuv_hdtv_colors_Y[VIDEO_BOX_FILL_LAST] =
static const guint8 yuv_hdtv_colors_U[VIDEO_BOX_FILL_LAST] = { 128, 42, 240 }; { 16, 173, 32, 63, 219, 235 };
static const guint8 yuv_hdtv_colors_V[VIDEO_BOX_FILL_LAST] = { 128, 26, 118 }; static const guint8 yuv_hdtv_colors_U[VIDEO_BOX_FILL_LAST] =
{ 128, 42, 240, 102, 16, 128 };
static const guint8 yuv_hdtv_colors_V[VIDEO_BOX_FILL_LAST] =
{ 128, 26, 118, 240, 138, 128 };
static const guint8 rgb_colors_R[VIDEO_BOX_FILL_LAST] = { 0, 255, 0 }; static const guint8 rgb_colors_R[VIDEO_BOX_FILL_LAST] =
static const guint8 rgb_colors_G[VIDEO_BOX_FILL_LAST] = { 0, 0, 0 }; { 0, 0, 0, 255, 255, 255 };
static const guint8 rgb_colors_B[VIDEO_BOX_FILL_LAST] = { 0, 255, 255 }; static const guint8 rgb_colors_G[VIDEO_BOX_FILL_LAST] =
{ 0, 255, 0, 0, 255, 255 };
static const guint8 rgb_colors_B[VIDEO_BOX_FILL_LAST] =
{ 0, 0, 255, 0, 0, 255 };
/* Generated by -bad/ext/cog/generate_tables */ /* Generated by -bad/ext/cog/generate_tables */
static const int cog_ycbcr_to_rgb_matrix_8bit_hdtv[] = { static const int cog_ycbcr_to_rgb_matrix_8bit_hdtv[] = {
@ -1165,8 +1174,11 @@ gst_video_box_fill_get_type (void)
static GType video_box_fill_type = 0; static GType video_box_fill_type = 0;
static const GEnumValue video_box_fill[] = { static const GEnumValue video_box_fill[] = {
{VIDEO_BOX_FILL_BLACK, "Black", "black"}, {VIDEO_BOX_FILL_BLACK, "Black", "black"},
{VIDEO_BOX_FILL_GREEN, "Colorkey green", "green"}, {VIDEO_BOX_FILL_GREEN, "Green", "green"},
{VIDEO_BOX_FILL_BLUE, "Colorkey blue", "blue"}, {VIDEO_BOX_FILL_BLUE, "Blue", "blue"},
{VIDEO_BOX_FILL_RED, "Red", "red"},
{VIDEO_BOX_FILL_YELLOW, "Yellow", "yellow"},
{VIDEO_BOX_FILL_WHITE, "White", "white"},
{0, NULL, NULL}, {0, NULL, NULL},
}; };

View File

@ -43,6 +43,9 @@ typedef enum
VIDEO_BOX_FILL_BLACK, VIDEO_BOX_FILL_BLACK,
VIDEO_BOX_FILL_GREEN, VIDEO_BOX_FILL_GREEN,
VIDEO_BOX_FILL_BLUE, VIDEO_BOX_FILL_BLUE,
VIDEO_BOX_FILL_RED,
VIDEO_BOX_FILL_YELLOW,
VIDEO_BOX_FILL_WHITE,
VIDEO_BOX_FILL_LAST VIDEO_BOX_FILL_LAST
} }
GstVideoBoxFill; GstVideoBoxFill;