Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
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-gpu
Commits
f4f98d5c
Commit
f4f98d5c
authored
May 13, 2006
by
Antoine Cellerier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add <left>+<top>+<right>+<bottom> syntax for cropping.
parent
58961aa8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
55 additions
and
20 deletions
+55
-20
src/video_output/vout_intf.c
src/video_output/vout_intf.c
+55
-20
No files found.
src/video_output/vout_intf.c
View file @
f4f98d5c
/*****************************************************************************
* vout_intf.c : video output interface
*****************************************************************************
* Copyright (C) 2000-200
4
the VideoLAN team
* Copyright (C) 2000-200
6
the VideoLAN team
* $Id$
*
* Authors: Gildas Bazin <gbazin@videolan.org>
...
...
@@ -819,32 +819,67 @@ static int CropCallback( vlc_object_t *p_this, char const *psz_cmd,
}
else
{
/* Maybe we're using the <width> x <height> + <left> + <top> syntax */
unsigned
int
i_crop_width
,
i_crop_height
,
i_crop_top
,
i_crop_left
;
psz_parser
=
strchr
(
newval
.
psz_string
,
'x'
);
i_crop_width
=
strtol
(
newval
.
psz_string
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
if
(
psz_parser
)
{
/* Maybe we're using the <width>x<height>+<left>+<top> syntax */
unsigned
int
i_crop_width
,
i_crop_height
,
i_crop_top
,
i_crop_left
;
i_crop_width
=
strtol
(
newval
.
psz_string
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
psz_parser
=
strchr
(
++
psz_end
,
'+'
);
i_crop_height
=
strtol
(
psz_end
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
psz_parser
=
strchr
(
++
psz_end
,
'+'
);
i_crop_left
=
strtol
(
psz_end
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
i_crop_top
=
strtol
(
++
psz_end
,
&
psz_end
,
10
);
if
(
*
psz_end
!=
'\0'
)
goto
crop_end
;
i_width
=
i_crop_width
;
p_vout
->
fmt_in
.
i_visible_width
=
i_width
;
i_height
=
i_crop_height
;
p_vout
->
fmt_in
.
i_visible_height
=
i_height
;
p_vout
->
fmt_in
.
i_x_offset
=
i_crop_left
;
p_vout
->
fmt_in
.
i_y_offset
=
i_crop_top
;
}
else
{
/* Maybe we're using the <left>+<top>+<right>+<bottom> syntax */
unsigned
int
i_crop_top
,
i_crop_left
,
i_crop_bottom
,
i_crop_right
;
psz_parser
=
strchr
(
++
psz_end
,
'+'
);
i_crop_height
=
strtol
(
psz_end
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
psz_parser
=
strchr
(
newval
.
psz_string
,
'+'
);
i_crop_left
=
strtol
(
newval
.
psz_string
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
psz_parser
=
strchr
(
++
psz_end
,
'+'
);
i_crop_left
=
strtol
(
psz_end
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
psz_parser
=
strchr
(
++
psz_end
,
'+'
);
i_crop_top
=
strtol
(
psz_end
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
i_crop_top
=
strtol
(
++
psz_end
,
&
psz_end
,
10
);
if
(
*
psz_end
!=
'\0'
)
goto
crop_end
;
psz_parser
=
strchr
(
++
psz_end
,
'+'
);
i_crop_right
=
strtol
(
psz_end
,
&
psz_end
,
10
);
if
(
psz_end
!=
psz_parser
)
goto
crop_end
;
i_width
=
i_crop_width
;
p_vout
->
fmt_in
.
i_visible_width
=
i_width
;
i_crop_bottom
=
strtol
(
++
psz_end
,
&
psz_end
,
10
)
;
if
(
*
psz_end
!=
'\0'
)
goto
crop_end
;
i_height
=
i_crop_height
;
p_vout
->
fmt_in
.
i_visible_height
=
i_height
;
p_vout
->
fmt_in
.
i_x_offset
=
i_crop_left
;
p_vout
->
fmt_in
.
i_y_offset
=
i_crop_top
;
i_width
=
p_vout
->
fmt_render
.
i_visible_width
-
i_crop_left
-
i_crop_right
;
p_vout
->
fmt_in
.
i_visible_width
=
i_width
;
i_height
=
p_vout
->
fmt_render
.
i_visible_height
-
i_crop_top
-
i_crop_bottom
;
p_vout
->
fmt_in
.
i_visible_height
=
i_height
;
p_vout
->
fmt_in
.
i_x_offset
=
i_crop_left
;
p_vout
->
fmt_in
.
i_y_offset
=
i_crop_top
;
}
}
crop_end:
...
...
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