Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-1.1
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-1.1
Commits
3122f7af
Commit
3122f7af
authored
Jan 28, 2004
by
Eric Petit
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
+ macosx/vout* : cosmetic
parent
eafdc23a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
51 additions
and
49 deletions
+51
-49
modules/gui/macosx/vout.h
modules/gui/macosx/vout.h
+2
-2
modules/gui/macosx/vout.m
modules/gui/macosx/vout.m
+49
-47
No files found.
modules/gui/macosx/vout.h
View file @
3122f7af
...
...
@@ -2,7 +2,7 @@
* vout.h: MacOS X interface module
*****************************************************************************
* Copyright (C) 2001-2003 VideoLAN
* $Id: vout.h,v 1.1
8 2004/01/26 18:30:37
titer Exp $
* $Id: vout.h,v 1.1
9 2004/01/28 21:31:15
titer Exp $
*
* Authors: Colin Delacroix <colin@zoy.org>
* Florian G. Pflug <fgp@phlo.org>
...
...
@@ -62,7 +62,7 @@
int
i_init_done
;
int
i_textures_loaded
;
int
i_index
;
unsigned
long
pi_textures
[
3
]
;
unsigned
long
i_texture
;
}
@end
...
...
modules/gui/macosx/vout.m
View file @
3122f7af
...
...
@@ -2,7 +2,7 @@
* vout.m: MacOS X video output module
*****************************************************************************
* Copyright (C) 2001-2003 VideoLAN
* $Id: vout.m,v 1.7
3 2004/01/28 14:36:53
titer Exp $
* $Id: vout.m,v 1.7
4 2004/01/28 21:31:15
titer Exp $
*
* Authors: Colin Delacroix <colin@zoy.org>
* Florian G. Pflug <fgp@phlo.org>
...
...
@@ -1282,7 +1282,7 @@ static void QTFreePicture( vout_thread_t *p_vout, picture_t *p_pic )
if
(
!
fmt
)
{
fprintf
(
stderr
,
"Cannot create NSOpenGLPixelFormat
\n
"
);
return
self
;
return
nil
;
}
self
=
[
super
initWithFrame
:
frame
pixelFormat
:
fmt
];
...
...
@@ -1333,67 +1333,69 @@ static void QTFreePicture( vout_thread_t *p_vout, picture_t *p_pic )
if
(
!
i_textures_loaded
)
{
glGenTextures
(
3
,
pi_textures
);
glGenTextures
(
1
,
&
i_texture
);
glEnable
(
GL_TEXTURE_RECTANGLE_EXT
);
glBindTexture
(
GL_TEXTURE_RECTANGLE_EXT
,
i_texture
);
glTexImage2D
(
GL_TEXTURE_RECTANGLE_EXT
,
0
,
GL_RGBA
,
p_vout
->
output
.
i_width
,
p_vout
->
output
.
i_height
,
0
,
GL_YCBCR_422_APPLE
,
GL_UNSIGNED_SHORT_8_8_APPLE
,
PP_OUTPUTPICTURE
[
i_index
]
->
p_data
);
/* Turn on AGP transferts */
glTexParameterf
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_PRIORITY
,
0
.
0
);
/* Use AGP texturing */
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_STORAGE_HINT_APPLE
,
GL_STORAGE_CACHED_APPLE
);
/* Tell the driver not to make a copy of the texture but to use
our buffer */
glPixelStorei
(
GL_UNPACK_CLIENT_STORAGE_APPLE
,
GL_TRUE
);
/* Linear interpolation */
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_MIN_FILTER
,
GL_LINEAR
);
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_MAG_FILTER
,
GL_LINEAR
);
/* I have no idea what this exactly does, but it seems to be
necessary for scaling */
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_WRAP_S
,
GL_CLAMP_TO_EDGE
);
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_WRAP_T
,
GL_CLAMP_TO_EDGE
);
glPixelStorei
(
GL_UNPACK_ROW_LENGTH
,
0
);
i_textures_loaded
=
1
;
}
else
{
glDisable
(
GL_TEXTURE_2D
);
glEnable
(
GL_TEXTURE_RECTANGLE_EXT
);
glBindTexture
(
GL_TEXTURE_RECTANGLE_EXT
,
pi_textures
[
i_index
]);
/* Map our buffer to the texture */
glTexImage2D
(
GL_TEXTURE_RECTANGLE_EXT
,
0
,
GL_RGBA
,
p_vout
->
output
.
i_width
,
p_vout
->
output
.
i_height
,
0
,
/* glTexSubImage2D is supposed to be faster than glTexImage2D,
so we use it starting from the second frame */
glBindTexture
(
GL_TEXTURE_RECTANGLE_EXT
,
i_texture
);
glTexSubImage2D
(
GL_TEXTURE_RECTANGLE_EXT
,
0
,
0
,
0
,
p_vout
->
output
.
i_width
,
p_vout
->
output
.
i_height
,
GL_YCBCR_422_APPLE
,
GL_UNSIGNED_SHORT_8_8_APPLE
,
PP_OUTPUTPICTURE
[
i_index
]
->
p_data
);
}
glDisable
(
GL_TEXTURE_2D
);
glEnable
(
GL_TEXTURE_RECTANGLE_EXT
);
glBindTexture
(
GL_TEXTURE_RECTANGLE_EXT
,
pi_textures
[
i_index
]
);
/* Turn on AGP transferts */
glTexParameterf
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_PRIORITY
,
0
.
0
);
/* Use AGP texturing */
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_STORAGE_HINT_APPLE
,
GL_STORAGE_CACHED_APPLE
);
/* Tell the driver not to make a copy of the texture but to use out
buffer */
glPixelStorei
(
GL_UNPACK_CLIENT_STORAGE_APPLE
,
GL_TRUE
);
/* Linear interpolation */
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_MIN_FILTER
,
GL_LINEAR
);
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_MAG_FILTER
,
GL_LINEAR
);
/* I have no idea what this exactly does, but it seems to be
necessary for scaling */
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_WRAP_S
,
GL_CLAMP_TO_EDGE
);
glTexParameteri
(
GL_TEXTURE_RECTANGLE_EXT
,
GL_TEXTURE_WRAP_T
,
GL_CLAMP_TO_EDGE
);
glPixelStorei
(
GL_UNPACK_ROW_LENGTH
,
0
);
/* Draw a quad with our texture on it */
/* Draw a quad with our texture on it. Quad size is set in order
to preserve the aspect ratio */
NSRect
bounds
=
[
self
bounds
];
float
f_x
,
f_y
;
if
(
bounds
.
size
.
height
*
p_vout
->
i_window_width
<
bounds
.
size
.
width
*
p_vout
->
i_window_height
)
if
(
bounds
.
size
.
height
*
p_vout
->
output
.
i_aspect
<
bounds
.
size
.
width
*
VOUT_ASPECT_FACTOR
)
{
f_x
=
bounds
.
size
.
height
*
p_vout
->
i_window_width
/
bounds
.
size
.
width
/
p_vout
->
i_window_height
;
f_x
=
bounds
.
size
.
height
*
p_vout
->
output
.
i_aspect
/
VOUT_ASPECT_FACTOR
/
bounds
.
size
.
width
;
f_y
=
1
.
0
;
}
else
{
f_x
=
1
.
0
;
f_y
=
bounds
.
size
.
width
*
p_vout
->
i_window_height
/
bounds
.
size
.
height
/
p_vout
->
i_window_width
;
f_y
=
bounds
.
size
.
width
*
VOUT_ASPECT_FACTOR
/
p_vout
->
output
.
i_aspect
/
bounds
.
size
.
height
;
}
glBegin
(
GL_QUADS
);
...
...
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