Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gst-plugins-base
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Seungha Yang
gst-plugins-base
Commits
a1d8cfde
Commit
a1d8cfde
authored
Apr 15, 2009
by
Sebastian Dröge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
video: Add support for YVYU YUV colorspace
parent
75acca28
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
23 additions
and
1 deletion
+23
-1
gst-libs/gst/video/video.c
gst-libs/gst/video/video.c
+20
-0
gst-libs/gst/video/video.h
gst-libs/gst/video/video.h
+3
-1
No files found.
gst-libs/gst/video/video.c
View file @
a1d8cfde
...
...
@@ -570,6 +570,8 @@ gst_video_format_from_fourcc (guint32 fourcc)
return
GST_VIDEO_FORMAT_YV12
;
case
GST_MAKE_FOURCC
(
'Y'
,
'U'
,
'Y'
,
'2'
):
return
GST_VIDEO_FORMAT_YUY2
;
case
GST_MAKE_FOURCC
(
'Y'
,
'V'
,
'Y'
,
'U'
):
return
GST_VIDEO_FORMAT_YVYU
;
case
GST_MAKE_FOURCC
(
'U'
,
'Y'
,
'V'
,
'Y'
):
return
GST_VIDEO_FORMAT_UYVY
;
case
GST_MAKE_FOURCC
(
'A'
,
'Y'
,
'U'
,
'V'
):
...
...
@@ -607,6 +609,8 @@ gst_video_format_to_fourcc (GstVideoFormat format)
return
GST_MAKE_FOURCC
(
'Y'
,
'V'
,
'1'
,
'2'
);
case
GST_VIDEO_FORMAT_YUY2
:
return
GST_MAKE_FOURCC
(
'Y'
,
'U'
,
'Y'
,
'2'
);
case
GST_VIDEO_FORMAT_YVYU
:
return
GST_MAKE_FOURCC
(
'Y'
,
'V'
,
'Y'
,
'U'
);
case
GST_VIDEO_FORMAT_UYVY
:
return
GST_MAKE_FOURCC
(
'U'
,
'Y'
,
'V'
,
'Y'
);
case
GST_VIDEO_FORMAT_AYUV
:
...
...
@@ -710,6 +714,7 @@ gst_video_format_is_rgb (GstVideoFormat format)
case
GST_VIDEO_FORMAT_I420
:
case
GST_VIDEO_FORMAT_YV12
:
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
case
GST_VIDEO_FORMAT_AYUV
:
case
GST_VIDEO_FORMAT_Y41B
:
...
...
@@ -748,6 +753,7 @@ gst_video_format_is_yuv (GstVideoFormat format)
case
GST_VIDEO_FORMAT_I420
:
case
GST_VIDEO_FORMAT_YV12
:
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
case
GST_VIDEO_FORMAT_AYUV
:
case
GST_VIDEO_FORMAT_Y41B
:
...
...
@@ -787,6 +793,7 @@ gst_video_format_has_alpha (GstVideoFormat format)
case
GST_VIDEO_FORMAT_I420
:
case
GST_VIDEO_FORMAT_YV12
:
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
case
GST_VIDEO_FORMAT_Y41B
:
case
GST_VIDEO_FORMAT_Y42B
:
...
...
@@ -844,6 +851,7 @@ gst_video_format_get_row_stride (GstVideoFormat format, int component,
return
GST_ROUND_UP_4
(
GST_ROUND_UP_2
(
width
)
/
2
);
}
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
return
GST_ROUND_UP_4
(
width
*
2
);
case
GST_VIDEO_FORMAT_AYUV
:
...
...
@@ -903,6 +911,7 @@ gst_video_format_get_pixel_stride (GstVideoFormat format, int component)
case
GST_VIDEO_FORMAT_Y42B
:
return
1
;
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
if
(
component
==
0
)
{
return
2
;
...
...
@@ -953,6 +962,7 @@ gst_video_format_get_component_width (GstVideoFormat format, int component,
case
GST_VIDEO_FORMAT_I420
:
case
GST_VIDEO_FORMAT_YV12
:
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
if
(
component
==
0
)
{
return
width
;
...
...
@@ -1021,6 +1031,7 @@ gst_video_format_get_component_height (GstVideoFormat format, int component,
case
GST_VIDEO_FORMAT_Y41B
:
case
GST_VIDEO_FORMAT_Y42B
:
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
case
GST_VIDEO_FORMAT_AYUV
:
case
GST_VIDEO_FORMAT_RGBx
:
...
...
@@ -1096,6 +1107,14 @@ gst_video_format_get_component_offset (GstVideoFormat format, int component,
if
(
component
==
2
)
return
3
;
return
0
;
case
GST_VIDEO_FORMAT_YVYU
:
if
(
component
==
0
)
return
0
;
if
(
component
==
1
)
return
3
;
if
(
component
==
2
)
return
1
;
return
0
;
case
GST_VIDEO_FORMAT_UYVY
:
if
(
component
==
0
)
return
1
;
...
...
@@ -1224,6 +1243,7 @@ gst_video_format_get_size (GstVideoFormat format, int width, int height)
(
GST_ROUND_UP_2
(
height
)
/
2
)
*
2
;
return
size
;
case
GST_VIDEO_FORMAT_YUY2
:
case
GST_VIDEO_FORMAT_YVYU
:
case
GST_VIDEO_FORMAT_UYVY
:
return
GST_ROUND_UP_4
(
width
*
2
)
*
height
;
case
GST_VIDEO_FORMAT_AYUV
:
...
...
gst-libs/gst/video/video.h
View file @
a1d8cfde
...
...
@@ -47,6 +47,7 @@ G_BEGIN_DECLS
* @GST_VIDEO_FORMAT_BGR: reverse rgb
* @GST_VIDEO_FORMAT_Y41B: planar 4:1:1 YUV (Since: 0.10.18)
* @GST_VIDEO_FORMAT_Y42B: planar 4:2:2 YUV (Since: 0.10.18)
* @GST_VIDEO_FORMAT_YVYU: packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...) (Since: 0.10.23)
*
* Enum value describing the most common video formats.
*/
...
...
@@ -68,7 +69,8 @@ typedef enum {
GST_VIDEO_FORMAT_RGB
,
GST_VIDEO_FORMAT_BGR
,
GST_VIDEO_FORMAT_Y41B
,
GST_VIDEO_FORMAT_Y42B
GST_VIDEO_FORMAT_Y42B
,
GST_VIDEO_FORMAT_YVYU
}
GstVideoFormat
;
#define GST_VIDEO_BYTE1_MASK_32 "0xFF000000"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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