Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
George Kiagiadakis
gst-plugins-base
Commits
8d14994b
Commit
8d14994b
authored
Sep 16, 2010
by
Thijs Vermeir
Browse files
videotestsrc: add bar pattern
Simple bar with foreground color on the background color
parent
2a868b70
Changes
4
Hide whitespace changes
Inline
Side-by-side
gst/videotestsrc/gstvideotestsrc.c
View file @
8d14994b
...
...
@@ -135,6 +135,7 @@ gst_video_test_src_pattern_get_type (void)
{
GST_VIDEO_TEST_SRC_SOLID
,
"Solid color"
,
"solid-color"
},
{
GST_VIDEO_TEST_SRC_BALL
,
"Moving ball"
,
"ball"
},
{
GST_VIDEO_TEST_SRC_SMPTE100
,
"SMPTE 100% color bars"
,
"smpte100"
},
{
GST_VIDEO_TEST_SRC_BAR
,
"Bar"
,
"bar"
},
{
0
,
NULL
,
NULL
}
};
...
...
@@ -424,6 +425,9 @@ gst_video_test_src_set_pattern (GstVideoTestSrc * videotestsrc,
case
GST_VIDEO_TEST_SRC_SMPTE100
:
videotestsrc
->
make_image
=
gst_video_test_src_smpte100
;
break
;
case
GST_VIDEO_TEST_SRC_BAR
:
videotestsrc
->
make_image
=
gst_video_test_src_bar
;
break
;
default:
g_assert_not_reached
();
}
...
...
gst/videotestsrc/gstvideotestsrc.h
View file @
8d14994b
...
...
@@ -58,6 +58,7 @@ G_BEGIN_DECLS
* @GST_VIDEO_TEST_SRC_CHROMA_ZONE_PLATE: Chroma zone plate
* @GST_VIDEO_TEST_SRC_BALL: Moving ball
* @GST_VIDEO_TEST_SRC_SMPTE100: SMPTE test pattern (100% color bars)
* @GST_VIDEO_TEST_SRC_BAR: Bar with foreground color
*
* The test pattern to produce.
*
...
...
@@ -98,7 +99,8 @@ typedef enum {
GST_VIDEO_TEST_SRC_CHROMA_ZONE_PLATE
,
GST_VIDEO_TEST_SRC_SOLID
,
GST_VIDEO_TEST_SRC_BALL
,
GST_VIDEO_TEST_SRC_SMPTE100
GST_VIDEO_TEST_SRC_SMPTE100
,
GST_VIDEO_TEST_SRC_BAR
}
GstVideoTestSrcPattern
;
/**
...
...
gst/videotestsrc/videotestsrc.c
View file @
8d14994b
...
...
@@ -887,6 +887,33 @@ gst_video_test_src_smpte100 (GstVideoTestSrc * v, unsigned char *dest, int w,
}
}
void
gst_video_test_src_bar
(
GstVideoTestSrc
*
v
,
unsigned
char
*
dest
,
int
w
,
int
h
)
{
int
j
;
paintinfo
pi
=
{
NULL
,
};
paintinfo
*
p
=
&
pi
;
struct
fourcc_list_struct
*
fourcc
;
videotestsrc_setup_paintinfo
(
v
,
p
,
w
,
h
);
fourcc
=
v
->
fourcc
;
if
(
fourcc
==
NULL
)
return
;
fourcc
->
paint_setup
(
p
,
dest
);
for
(
j
=
0
;
j
<
h
;
j
++
)
{
/* use fixed size for now */
int
x2
=
w
/
7
;
p
->
color
=
&
p
->
foreground_color
;
p
->
paint_tmpline
(
p
,
0
,
x2
);
p
->
color
=
&
p
->
background_color
;
p
->
paint_tmpline
(
p
,
x2
,
(
w
-
x2
));
videotestsrc_convert_tmpline
(
p
,
j
);
}
}
void
gst_video_test_src_snow
(
GstVideoTestSrc
*
v
,
unsigned
char
*
dest
,
int
w
,
int
h
)
{
...
...
gst/videotestsrc/videotestsrc.h
View file @
8d14994b
...
...
@@ -139,6 +139,8 @@ void gst_video_test_src_ball (GstVideoTestSrc * v,
unsigned
char
*
dest
,
int
w
,
int
h
);
void
gst_video_test_src_smpte100
(
GstVideoTestSrc
*
v
,
unsigned
char
*
dest
,
int
w
,
int
h
);
void
gst_video_test_src_bar
(
GstVideoTestSrc
*
v
,
unsigned
char
*
dest
,
int
w
,
int
h
);
extern
struct
fourcc_list_struct
fourcc_list
[];
extern
int
n_fourccs
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment