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
d5da2712
Commit
d5da2712
authored
Feb 04, 2012
by
Antoine Cellerier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use function defined in filter_picture.h
parent
ad3507aa
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
51 deletions
+44
-51
modules/video_filter/extract.c
modules/video_filter/extract.c
+44
-51
No files found.
modules/video_filter/extract.c
View file @
d5da2712
...
@@ -252,13 +252,6 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
...
@@ -252,13 +252,6 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic )
return
CopyInfoAndRelease
(
p_outpic
,
p_pic
);
return
CopyInfoAndRelease
(
p_outpic
,
p_pic
);
}
}
static
inline
uint8_t
crop
(
int
a
)
{
if
(
a
<
0
)
return
0
;
if
(
a
>
255
)
return
255
;
else
return
(
uint8_t
)
a
;
}
#define U 128
#define U 128
#define V 128
#define V 128
...
@@ -348,17 +341,17 @@ static void get_custom_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -348,17 +341,17 @@ static void get_custom_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
y2out
=
y1out
+
i_out_pitch
;
y2out
=
y1out
+
i_out_pitch
;
while
(
y1in
<
y1end
)
while
(
y1in
<
y1end
)
{
{
*
uout
++
=
crop
(
(
*
y1in
*
m
[
3
]
+
(
*
uin
-
U
)
*
m
[
4
]
+
(
*
vin
-
V
)
*
m
[
5
])
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
m
[
3
]
+
(
*
uin
-
U
)
*
m
[
4
]
+
(
*
vin
-
V
)
*
m
[
5
])
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
m
[
6
]
+
(
*
uin
-
U
)
*
m
[
7
]
+
(
*
vin
-
V
)
*
m
[
8
])
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
m
[
6
]
+
(
*
uin
-
U
)
*
m
[
7
]
+
(
*
vin
-
V
)
*
m
[
8
])
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
m
[
0
]
+
(
*
uin
++
-
U
)
*
m
[
1
]
+
(
*
vin
++
-
V
)
*
m
[
2
])
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
m
[
0
]
+
(
*
uin
++
-
U
)
*
m
[
1
]
+
(
*
vin
++
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
}
}
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
...
@@ -393,13 +386,13 @@ static void get_custom_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -393,13 +386,13 @@ static void get_custom_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
const
uint8_t
*
y1end
=
y1in
+
i_visible_pitch
;
const
uint8_t
*
y1end
=
y1in
+
i_visible_pitch
;
while
(
y1in
<
y1end
)
while
(
y1in
<
y1end
)
{
{
*
uout
++
=
crop
(
(
*
y1in
*
m
[
3
]
+
(
*
uin
-
U
)
*
m
[
4
]
+
(
*
vin
-
V
)
*
m
[
5
])
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
m
[
3
]
+
(
*
uin
-
U
)
*
m
[
4
]
+
(
*
vin
-
V
)
*
m
[
5
])
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
m
[
6
]
+
(
*
uin
-
U
)
*
m
[
7
]
+
(
*
vin
-
V
)
*
m
[
8
])
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
m
[
6
]
+
(
*
uin
-
U
)
*
m
[
7
]
+
(
*
vin
-
V
)
*
m
[
8
])
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
++
-
U
)
*
m
[
1
]
+
(
*
vin
++
-
V
)
*
m
[
2
])
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
m
[
0
]
+
(
*
uin
++
-
U
)
*
m
[
1
]
+
(
*
vin
++
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
}
}
y1in
+=
i_in_pitch
-
i_visible_pitch
;
y1in
+=
i_in_pitch
-
i_visible_pitch
;
...
@@ -439,17 +432,17 @@ static void get_custom_from_packedyuv422( picture_t *p_inpic,
...
@@ -439,17 +432,17 @@ static void get_custom_from_packedyuv422( picture_t *p_inpic,
const
uint8_t
*
ylend
=
yin
+
i_visible_pitch
;
const
uint8_t
*
ylend
=
yin
+
i_visible_pitch
;
while
(
yin
<
ylend
)
while
(
yin
<
ylend
)
{
{
*
uout
=
crop
(
(
*
yin
*
m
[
3
]
+
(
*
uin
-
U
)
*
m
[
4
]
+
(
*
vin
-
V
)
*
m
[
5
])
*
uout
=
vlc_uint8
(
(
*
yin
*
m
[
3
]
+
(
*
uin
-
U
)
*
m
[
4
]
+
(
*
vin
-
V
)
*
m
[
5
])
/
65536
+
U
);
/
65536
+
U
);
uout
+=
4
;
uout
+=
4
;
*
vout
=
crop
(
(
*
yin
*
m
[
6
]
+
(
*
uin
-
U
)
*
m
[
7
]
+
(
*
vin
-
V
)
*
m
[
8
])
*
vout
=
vlc_uint8
(
(
*
yin
*
m
[
6
]
+
(
*
uin
-
U
)
*
m
[
7
]
+
(
*
vin
-
V
)
*
m
[
8
])
/
65536
+
V
);
/
65536
+
V
);
vout
+=
4
;
vout
+=
4
;
*
yout
=
crop
(
(
*
yin
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
*
yout
=
vlc_uint8
(
(
*
yin
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
yin
+=
2
;
yin
+=
2
;
yout
+=
2
;
yout
+=
2
;
*
yout
=
crop
(
(
*
yin
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
*
yout
=
vlc_uint8
(
(
*
yin
*
m
[
0
]
+
(
*
uin
-
U
)
*
m
[
1
]
+
(
*
vin
-
V
)
*
m
[
2
])
/
65536
);
/
65536
);
yin
+=
2
;
yin
+=
2
;
yout
+=
2
;
yout
+=
2
;
...
@@ -497,17 +490,17 @@ static void get_red_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -497,17 +490,17 @@ static void get_red_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
-11058 0 -15504
-11058 0 -15504
32768 0 45941
32768 0 45941
*/
*/
*
uout
++
=
crop
(
(
*
y1in
*
-
11058
+
(
*
vin
-
V
)
*
-
15504
)
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
-
11058
+
(
*
vin
-
V
)
*
-
15504
)
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
32768
+
(
*
vin
-
V
)
*
45941
)
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
32768
+
(
*
vin
-
V
)
*
45941
)
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
19595
+
(
*
vin
-
V
)
*
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
19595
+
(
*
vin
-
V
)
*
27473
)
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
19595
+
(
*
vin
-
V
)
*
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
19595
+
(
*
vin
-
V
)
*
27473
)
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
19594
+
(
*
vin
-
V
)
*
27473
)
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
19594
+
(
*
vin
-
V
)
*
27473
)
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
19594
+
(
*
vin
++
-
V
)
*
27473
)
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
19594
+
(
*
vin
++
-
V
)
*
27473
)
/
65536
);
/
65536
);
}
}
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
...
@@ -552,17 +545,17 @@ static void get_green_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -552,17 +545,17 @@ static void get_green_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
-21710 7471 15504
-21710 7471 15504
-27439 9443 19595
-27439 9443 19595
*/
*/
*
uout
++
=
crop
(
(
*
y1in
*
-
21710
+
(
*
uin
-
U
)
*
7471
+
(
*
vin
-
V
)
*
15504
)
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
-
21710
+
(
*
uin
-
U
)
*
7471
+
(
*
vin
-
V
)
*
15504
)
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
-
27439
+
(
*
uin
-
U
)
*
9443
+
(
*
vin
-
V
)
*
19595
)
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
-
27439
+
(
*
uin
-
U
)
*
9443
+
(
*
vin
-
V
)
*
19595
)
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
38470
+
(
*
uin
++
-
U
)
*
-
13239
+
(
*
vin
++
-
V
)
*
-
27473
)
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
38470
+
(
*
uin
++
-
U
)
*
-
13239
+
(
*
vin
++
-
V
)
*
-
27473
)
/
65536
);
/
65536
);
}
}
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
...
@@ -606,17 +599,17 @@ static void get_blue_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -606,17 +599,17 @@ static void get_blue_from_yuv420( picture_t *p_inpic, picture_t *p_outpic,
32768 58065 0
32768 58065 0
-5329 -9443 0
-5329 -9443 0
*/
*/
*
uout
++
=
crop
(
(
*
y1in
*
32768
+
(
*
uin
-
U
)
*
58065
)
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
32768
+
(
*
uin
-
U
)
*
58065
)
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
-
5329
+
(
*
uin
-
U
)
*
-
9443
)
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
-
5329
+
(
*
uin
-
U
)
*
-
9443
)
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
/
65536
);
/
65536
);
*
y2out
++
=
crop
(
(
*
y2in
++
*
7471
+
(
*
uin
++
-
U
)
*
13239
)
*
y2out
++
=
vlc_uint8
(
(
*
y2in
++
*
7471
+
(
*
uin
++
-
U
)
*
13239
)
/
65536
);
/
65536
);
}
}
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
y1in
+=
2
*
i_in_pitch
-
i_visible_pitch
;
...
@@ -655,13 +648,13 @@ static void get_red_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -655,13 +648,13 @@ static void get_red_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
-11058 0 -15504
-11058 0 -15504
32768 0 45941
32768 0 45941
*/
*/
*
uout
++
=
crop
(
(
*
y1in
*
-
11058
+
(
*
vin
-
V
)
*
-
15504
)
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
-
11058
+
(
*
vin
-
V
)
*
-
15504
)
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
32768
+
(
*
vin
-
V
)
*
45941
)
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
32768
+
(
*
vin
-
V
)
*
45941
)
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
19595
+
(
*
vin
-
V
)
*
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
19595
+
(
*
vin
-
V
)
*
27473
)
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
19595
+
(
*
vin
++
-
V
)
*
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
19595
+
(
*
vin
++
-
V
)
*
27473
)
/
65536
);
/
65536
);
}
}
y1in
+=
i_in_pitch
-
i_visible_pitch
;
y1in
+=
i_in_pitch
-
i_visible_pitch
;
...
@@ -701,13 +694,13 @@ static void get_green_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -701,13 +694,13 @@ static void get_green_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
-21710 7471 15504
-21710 7471 15504
-27439 9443 19595
-27439 9443 19595
*/
*/
*
uout
++
=
crop
(
(
*
y1in
*
-
21710
+
(
*
uin
-
U
)
*
7471
+
(
*
vin
-
V
)
*
15504
)
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
-
21710
+
(
*
uin
-
U
)
*
7471
+
(
*
vin
-
V
)
*
15504
)
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
-
27439
+
(
*
uin
-
U
)
*
9443
+
(
*
vin
-
V
)
*
19595
)
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
-
27439
+
(
*
uin
-
U
)
*
9443
+
(
*
vin
-
V
)
*
19595
)
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
38470
+
(
*
uin
-
U
)
*
-
13239
+
(
*
vin
-
V
)
*
-
27473
)
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
38470
+
(
*
uin
++-
U
)
*
-
13239
+
(
*
vin
++-
V
)
*
-
27473
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
38470
+
(
*
uin
++-
U
)
*
-
13239
+
(
*
vin
++-
V
)
*
-
27473
)
/
65536
);
/
65536
);
}
}
y1in
+=
i_in_pitch
-
i_visible_pitch
;
y1in
+=
i_in_pitch
-
i_visible_pitch
;
...
@@ -747,13 +740,13 @@ static void get_blue_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
...
@@ -747,13 +740,13 @@ static void get_blue_from_yuv422( picture_t *p_inpic, picture_t *p_outpic,
32768 58065 0
32768 58065 0
-5329 -9443 0
-5329 -9443 0
*/
*/
*
uout
++
=
crop
(
(
*
y1in
*
32768
+
(
*
uin
-
U
)
*
58065
)
*
uout
++
=
vlc_uint8
(
(
*
y1in
*
32768
+
(
*
uin
-
U
)
*
58065
)
/
65536
+
U
);
/
65536
+
U
);
*
vout
++
=
crop
(
(
*
y1in
*
-
5329
+
(
*
uin
-
U
)
*
-
9443
)
*
vout
++
=
vlc_uint8
(
(
*
y1in
*
-
5329
+
(
*
uin
-
U
)
*
-
9443
)
/
65536
+
V
);
/
65536
+
V
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
7471
+
(
*
uin
-
U
)
*
13239
)
/
65536
);
/
65536
);
*
y1out
++
=
crop
(
(
*
y1in
++
*
7471
+
(
*
uin
++
-
U
)
*
13239
)
*
y1out
++
=
vlc_uint8
(
(
*
y1in
++
*
7471
+
(
*
uin
++
-
U
)
*
13239
)
/
65536
);
/
65536
);
}
}
y1in
+=
i_in_pitch
-
i_visible_pitch
;
y1in
+=
i_in_pitch
-
i_visible_pitch
;
...
...
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