Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
videolan
vlc
Commits
01924381
Commit
01924381
authored
Oct 13, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
i420_yuy2: clobber MM and XMM registers correctly
parent
a865ced4
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
9 deletions
+17
-9
modules/video_chroma/i420_yuy2.c
modules/video_chroma/i420_yuy2.c
+9
-5
modules/video_chroma/i420_yuy2.h
modules/video_chroma/i420_yuy2.h
+8
-4
No files found.
modules/video_chroma/i420_yuy2.c
View file @
01924381
...
...
@@ -45,12 +45,16 @@
#if defined (MODULE_NAME_IS_i420_yuy2)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv,Y211"
# define VLC_TARGET
#elif defined (MODULE_NAME_IS_i420_yuy2_mmx)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv"
# define VLC_TARGET VLC_MMX
#elif defined (MODULE_NAME_IS_i420_yuy2_sse2)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422,IUYV,cyuv"
# define VLC_TARGET VLC_SSE
#elif defined (MODULE_NAME_IS_i420_yuy2_altivec)
# define DEST_FOURCC "YUY2,YUNV,YVYU,UYVY,UYNV,Y422"
# define VLC_TARGET
#endif
/*****************************************************************************
...
...
@@ -184,12 +188,12 @@ static inline unsigned long long read_cycles(void)
/* Following functions are local */
VIDEO_FILTER_WRAPPER
(
I420_YUY2
)
VIDEO_FILTER_WRAPPER
(
I420_YVYU
)
VIDEO_FILTER_WRAPPER
(
I420_UYVY
)
V
LC_TARGET
V
IDEO_FILTER_WRAPPER
(
I420_YUY2
)
V
LC_TARGET
V
IDEO_FILTER_WRAPPER
(
I420_YVYU
)
V
LC_TARGET
V
IDEO_FILTER_WRAPPER
(
I420_UYVY
)
#if !defined (MODULE_NAME_IS_i420_yuy2_altivec)
VIDEO_FILTER_WRAPPER
(
I420_IUYV
)
VIDEO_FILTER_WRAPPER
(
I420_cyuv
)
V
LC_TARGET
V
IDEO_FILTER_WRAPPER
(
I420_IUYV
)
V
LC_TARGET
V
IDEO_FILTER_WRAPPER
(
I420_cyuv
)
#endif
#if defined (MODULE_NAME_IS_i420_yuy2)
VIDEO_FILTER_WRAPPER
(
I420_Y211
)
...
...
modules/video_chroma/i420_yuy2.h
View file @
01924381
...
...
@@ -39,12 +39,14 @@ movq (%3), %%mm3 # Load 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 \n\
" \
: \
: "r" (p_u), "r" (p_v), \
"r" (p_y1), "r" (p_y2) ); \
"r" (p_y1), "r" (p_y2) \
: "mm0", "mm1", "mm2", "mm3"); \
__asm__ __volatile__( \
".p2align 3 \n\t" \
MMX_INSTRUCTIONS \
: \
: "r" (p_line1), "r" (p_line2) ); \
: "r" (p_line1), "r" (p_line2) \
: "mm0", "mm1", "mm2", "mm3"); \
p_line1 += 16; p_line2 += 16; \
p_y1 += 8; p_y2 += 8; \
p_u += 4; p_v += 4; \
...
...
@@ -199,13 +201,15 @@ movq (%0), %%xmm1 # Load 8 Cb u7 u6 u5 u4 u3 u2 u1 u0 \n\
movq (%1), %%xmm2 # Load 8 Cr v7 06 v5 v4 v3 v2 v1 v0 \n\
" \
: \
: "r" (p_u), "r" (p_v) ); \
: "r" (p_u), "r" (p_v) \
: "xmm1", "xmm2"); \
__asm__ __volatile__( \
".p2align 3 \n\t" \
SSE2_INSTRUCTIONS \
: \
: "r" (p_line1), "r" (p_line2), \
"r" (p_y1), "r" (p_y2) ); \
"r" (p_y1), "r" (p_y2) \
: "xmm0", "xmm1", "xmm2", "xmm3", "xmm4"); \
p_line1 += 32; p_line2 += 32; \
p_y1 += 16; p_y2 += 16; \
p_u += 8; p_v += 8; \
...
...
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