Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
f7228aee
Commit
f7228aee
authored
Aug 03, 2012
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
deinterlace: make pf_end_merge an x86-only thing
parent
be3f3666
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
9 deletions
+12
-9
modules/video_filter/deinterlace/deinterlace.c
modules/video_filter/deinterlace/deinterlace.c
+2
-6
modules/video_filter/deinterlace/deinterlace.h
modules/video_filter/deinterlace/deinterlace.h
+4
-2
modules/video_filter/deinterlace/merge.h
modules/video_filter/deinterlace/merge.h
+6
-1
No files found.
modules/video_filter/deinterlace/deinterlace.c
View file @
f7228aee
...
@@ -629,10 +629,7 @@ int Open( vlc_object_t *p_this )
...
@@ -629,10 +629,7 @@ int Open( vlc_object_t *p_this )
#if defined(CAN_COMPILE_C_ALTIVEC)
#if defined(CAN_COMPILE_C_ALTIVEC)
if
(
chroma
->
pixel_size
==
1
&&
vlc_CPU_ALTIVEC
()
)
if
(
chroma
->
pixel_size
==
1
&&
vlc_CPU_ALTIVEC
()
)
{
p_sys
->
pf_merge
=
MergeAltivec
;
p_sys
->
pf_merge
=
MergeAltivec
;
p_sys
->
pf_end_merge
=
NULL
;
}
else
else
#endif
#endif
#if defined(CAN_COMPILE_SSE)
#if defined(CAN_COMPILE_SSE)
...
@@ -661,15 +658,14 @@ int Open( vlc_object_t *p_this )
...
@@ -661,15 +658,14 @@ int Open( vlc_object_t *p_this )
#endif
#endif
#if defined __ARM_NEON__ // FIXME: runtime detect support
#if defined __ARM_NEON__ // FIXME: runtime detect support
if
(
chroma
->
pixel_size
==
1
&&
vlc_CPU_ARM_NEON
()
)
if
(
chroma
->
pixel_size
==
1
&&
vlc_CPU_ARM_NEON
()
)
{
p_sys
->
pf_merge
=
MergeNEON
;
p_sys
->
pf_merge
=
MergeNEON
;
p_sys
->
pf_end_merge
=
NULL
;
}
else
else
#endif
#endif
{
{
p_sys
->
pf_merge
=
chroma
->
pixel_size
==
1
?
Merge8BitGeneric
:
Merge16BitGeneric
;
p_sys
->
pf_merge
=
chroma
->
pixel_size
==
1
?
Merge8BitGeneric
:
Merge16BitGeneric
;
#if defined(__i386__) || defined(__x86_64__)
p_sys
->
pf_end_merge
=
NULL
;
p_sys
->
pf_end_merge
=
NULL
;
#endif
}
}
/* */
/* */
...
...
modules/video_filter/deinterlace/deinterlace.h
View file @
f7228aee
...
@@ -91,7 +91,7 @@ struct filter_sys_t
...
@@ -91,7 +91,7 @@ struct filter_sys_t
{
{
const
vlc_chroma_description_t
*
chroma
;
const
vlc_chroma_description_t
*
chroma
;
in
t
i_mode
;
/**< Deinterlace mode */
uint8_
t
i_mode
;
/**< Deinterlace mode */
/* Algorithm behaviour flags */
/* Algorithm behaviour flags */
bool
b_double_rate
;
/**< Shall we double the framerate? */
bool
b_double_rate
;
/**< Shall we double the framerate? */
...
@@ -100,8 +100,10 @@ struct filter_sys_t
...
@@ -100,8 +100,10 @@ struct filter_sys_t
/** Merge routine: C, MMX, SSE, ALTIVEC, NEON, ... */
/** Merge routine: C, MMX, SSE, ALTIVEC, NEON, ... */
void
(
*
pf_merge
)
(
void
*
,
const
void
*
,
const
void
*
,
size_t
);
void
(
*
pf_merge
)
(
void
*
,
const
void
*
,
const
void
*
,
size_t
);
/** Merge finalization routine: C, MMX, SSE, ALTIVEC, NEON, ... */
#if defined (__i386__) || defined (__x86_64__)
/** Merge finalization routine for SSE */
void
(
*
pf_end_merge
)
(
void
);
void
(
*
pf_end_merge
)
(
void
);
#endif
/**
/**
* Metadata history (PTS, nb_fields, TFF). Used for framerate doublers.
* Metadata history (PTS, nb_fields, TFF). Used for framerate doublers.
...
...
modules/video_filter/deinterlace/merge.h
View file @
f7228aee
...
@@ -64,7 +64,12 @@
...
@@ -64,7 +64,12 @@
* EndMerge() macro, which must be called after the merge is
* EndMerge() macro, which must be called after the merge is
* finished, if the Merge() macro was used to perform the merge.
* finished, if the Merge() macro was used to perform the merge.
*/
*/
#define EndMerge if(p_filter->p_sys->pf_end_merge) p_filter->p_sys->pf_end_merge
#if defined(__i386__) || defined(__x86_64__)
# define EndMerge() \
if(p_filter->p_sys->pf_end_merge) (p_filter->p_sys->pf_end_merge)()
#else
# define EndMerge() (void)0
#endif
/*****************************************************************************
/*****************************************************************************
* Merge routines
* Merge routines
...
...
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