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
40ae1df5
Commit
40ae1df5
authored
Nov 29, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Xlib: remove (most) non-GLX stuff
parent
b25a657d
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1 addition
and
1468 deletions
+1
-1468
modules/video_output/x11/xcommon.c
modules/video_output/x11/xcommon.c
+1
-1217
modules/video_output/x11/xcommon.h
modules/video_output/x11/xcommon.h
+0
-251
No files found.
modules/video_output/x11/xcommon.c
View file @
40ae1df5
This diff is collapsed.
Click to expand it.
modules/video_output/x11/xcommon.h
View file @
40ae1df5
...
@@ -27,30 +27,6 @@
...
@@ -27,30 +27,6 @@
/*****************************************************************************
/*****************************************************************************
* Defines
* Defines
*****************************************************************************/
*****************************************************************************/
#if defined(MODULE_NAME_IS_xvmc)
# define IMAGE_TYPE XvImage
# define EXTRA_ARGS int i_xvport, int i_chroma, int i_bits_per_pixel
# define EXTRA_ARGS_SHM int i_xvport, int i_chroma, XShmSegmentInfo *p_shm
# define DATA_SIZE(p) (p)->data_size
# define IMAGE_FREE XFree
/* There is nothing like XvDestroyImage */
#else
# define IMAGE_TYPE XImage
# define EXTRA_ARGS Visual *p_visual, int i_depth, int i_bytes_per_pixel
# define EXTRA_ARGS_SHM Visual *p_visual, int i_depth, XShmSegmentInfo *p_shm
# define DATA_SIZE(p) ((p)->bytes_per_line * (p)->height)
# define IMAGE_FREE XDestroyImage
#endif
#define X11_FOURCC( a, b, c, d ) \
( ((uint32_t)a) | ( ((uint32_t)b) << 8 ) \
| ( ((uint32_t)c) << 16 ) | ( ((uint32_t)d) << 24 ) )
#define VLC2X11_FOURCC( i ) \
X11_FOURCC( ((char *)&i)[0], ((char *)&i)[1], ((char *)&i)[2], \
((char *)&i)[3] )
#define X112VLC_FOURCC( i ) \
VLC_FOURCC( i & 0xff, (i >> 8) & 0xff, (i >> 16) & 0xff, \
(i >> 24) & 0xff )
struct
vout_window_t
;
struct
vout_window_t
;
/*****************************************************************************
/*****************************************************************************
...
@@ -74,123 +50,6 @@ typedef struct x11_window_t
...
@@ -74,123 +50,6 @@ typedef struct x11_window_t
Atom
wm_delete_window
;
Atom
wm_delete_window
;
}
x11_window_t
;
}
x11_window_t
;
/*****************************************************************************
* Xxmc defines
*****************************************************************************/
#ifdef MODULE_NAME_IS_xvmc
typedef
struct
{
/* CLUT == Color LookUp Table */
uint8_t
cb
;
uint8_t
cr
;
uint8_t
y
;
uint8_t
foo
;
}
clut_t
;
#define XX44_PALETTE_SIZE 32
#define OVL_PALETTE_SIZE 256
#define XVMC_MAX_SURFACES 16
#define XVMC_MAX_SUBPICTURES 4
#define FOURCC_IA44 0x34344149
#define FOURCC_AI44 0x34344941
typedef
struct
{
unsigned
size
;
unsigned
max_used
;
uint32_t
cluts
[
XX44_PALETTE_SIZE
];
/* cache palette entries for both colors and clip_colors */
int
lookup_cache
[
OVL_PALETTE_SIZE
*
2
];
}
xx44_palette_t
;
/*
* Functions to handle the vlc-specific palette.
*/
void
clear_xx44_palette
(
xx44_palette_t
*
p
);
/*
* Convert the xine-specific palette to something useful.
*/
void
xx44_to_xvmc_palette
(
const
xx44_palette_t
*
p
,
unsigned
char
*
xvmc_palette
,
unsigned
first_xx44_entry
,
unsigned
num_xx44_entries
,
unsigned
num_xvmc_components
,
char
*
xvmc_components
);
typedef
struct
{
vlc_macroblocks_t
vlc_mc
;
XvMCBlockArray
blocks
;
/* pointer to memory for dct block array */
int
num_blocks
;
XvMCMacroBlock
*
macroblockptr
;
/* pointer to current macro block */
XvMCMacroBlock
*
macroblockbaseptr
;
/* pointer to base MacroBlock in MB array */
XvMCMacroBlockArray
macro_blocks
;
/* pointer to memory for macroblock array */
int
slices
;
}
xvmc_macroblocks_t
;
typedef
struct
{
unsigned
int
mpeg_flags
;
unsigned
int
accel_flags
;
unsigned
int
max_width
;
unsigned
int
max_height
;
unsigned
int
sub_max_width
;
unsigned
int
sub_max_height
;
int
type_id
;
XvImageFormatValues
subPicType
;
int
flags
;
}
xvmc_capabilities_t
;
typedef
struct
xvmc_surface_handler_s
{
XvMCSurface
surfaces
[
XVMC_MAX_SURFACES
];
int
surfInUse
[
XVMC_MAX_SURFACES
];
int
surfValid
[
XVMC_MAX_SURFACES
];
XvMCSubpicture
subpictures
[
XVMC_MAX_SUBPICTURES
];
int
subInUse
[
XVMC_MAX_SUBPICTURES
];
int
subValid
[
XVMC_MAX_SUBPICTURES
];
pthread_mutex_t
mutex
;
}
xvmc_surface_handler_t
;
typedef
struct
context_lock_s
{
pthread_mutex_t
mutex
;
pthread_cond_t
cond
;
int
num_readers
;
}
context_lock_t
;
#define XVMCLOCKDISPLAY(display) XLockDisplay(display);
#define XVMCUNLOCKDISPLAY(display) XUnlockDisplay(display);
void
xvmc_context_reader_unlock
(
context_lock_t
*
c
);
void
xvmc_context_reader_lock
(
context_lock_t
*
c
);
void
xvmc_context_writer_lock
(
context_lock_t
*
c
);
void
xvmc_context_writer_unlock
(
context_lock_t
*
c
);
void
free_context_lock
(
context_lock_t
*
c
);
void
xxmc_dispose_context
(
vout_thread_t
*
p_vout
);
int
xxmc_xvmc_surface_valid
(
vout_thread_t
*
p_vout
,
XvMCSurface
*
surf
);
void
xxmc_xvmc_free_surface
(
vout_thread_t
*
p_vout
,
XvMCSurface
*
surf
);
void
xvmc_vld_slice
(
picture_t
*
picture
);
void
xvmc_vld_frame
(
picture_t
*
picture
);
void
xxmc_do_update_frame
(
picture_t
*
picture
,
uint32_t
width
,
uint32_t
height
,
double
ratio
,
int
format
,
int
flags
);
int
checkXvMCCap
(
vout_thread_t
*
p_vout
);
XvMCSubpicture
*
xxmc_xvmc_alloc_subpicture
(
vout_thread_t
*
p_vout
,
XvMCContext
*
context
,
unsigned
short
width
,
unsigned
short
height
,
int
xvimage_id
);
void
xxmc_xvmc_free_subpicture
(
vout_thread_t
*
p_vout
,
XvMCSubpicture
*
sub
);
void
blend_xx44
(
uint8_t
*
dst_img
,
subpicture_t
*
sub_img
,
int
dst_width
,
int
dst_height
,
int
dst_pitch
,
xx44_palette_t
*
palette
,
int
ia44
);
#endif
/* XvMC defines */
/*****************************************************************************
/*****************************************************************************
* vout_sys_t: video output method descriptor
* vout_sys_t: video output method descriptor
*****************************************************************************
*****************************************************************************
...
@@ -207,17 +66,6 @@ struct vout_sys_t
...
@@ -207,17 +66,6 @@ struct vout_sys_t
/* Our window */
/* Our window */
x11_window_t
window
;
x11_window_t
window
;
/* X11 generic properties */
#if defined (HAVE_SYS_SHM_H) && !defined (MODULE_NAME_IS_glx)
int
i_shm_opcode
;
/* shared memory extension opcode */
#endif
#if defined(MODULE_NAME_IS_xvmc)
int
i_xvport
;
bool
b_paint_colourkey
;
int
i_colourkey
;
#endif
/* Screen saver properties */
/* Screen saver properties */
int
i_ss_timeout
;
/* timeout */
int
i_ss_timeout
;
/* timeout */
int
i_ss_interval
;
/* interval between changes */
int
i_ss_interval
;
/* interval between changes */
...
@@ -242,92 +90,11 @@ struct vout_sys_t
...
@@ -242,92 +90,11 @@ struct vout_sys_t
GLXWindow
gwnd
;
GLXWindow
gwnd
;
#endif
#endif
#ifdef MODULE_NAME_IS_xvmc
/* XvMC related stuff here */
xvmc_macroblocks_t
macroblocks
;
xvmc_capabilities_t
*
xvmc_cap
;
unsigned
int
xvmc_num_cap
;
unsigned
int
xvmc_max_subpic_x
;
unsigned
int
xvmc_max_subpic_y
;
int
xvmc_eventbase
;
int
xvmc_errbase
;
int
hwSubpictures
;
XvMCSubpicture
*
old_subpic
;
XvMCSubpicture
*
new_subpic
;
xx44_palette_t
palette
;
int
first_overlay
;
float
cpu_saver
;
int
cpu_save_enabled
;
int
reverse_nvidia_palette
;
int
context_flags
;
/*
* These variables are protected by the context lock:
*/
unsigned
xvmc_cur_cap
;
int
xvmc_backend_subpic
;
XvMCContext
context
;
int
contextActive
;
xvmc_surface_handler_t
xvmc_surf_handler
;
unsigned
xvmc_mpeg
;
unsigned
xvmc_accel
;
unsigned
last_accel_request
;
unsigned
xvmc_width
;
unsigned
xvmc_height
;
int
have_xvmc_autopaint
;
int
xvmc_xoverlay_type
;
int
unsigned_intra
;
/*
* Only creation and destruction of the below.
*/
char
*
xvmc_palette
;
XvImage
*
subImage
;
XShmSegmentInfo
subShmInfo
;
/*
* The mutex below is needed since XlockDisplay wasn't really enough
* to protect the XvMC Calls.
*/
context_lock_t
xvmc_lock
;
subpicture_t
*
p_last_subtitle_save
;
int
xvmc_deinterlace_method
;
int
xvmc_crop_style
;
mtime_t
last_date
;
//alphablend_t alphablend_extra_data;
#endif
#ifdef HAVE_XSP
#ifdef HAVE_XSP
int
i_hw_scale
;
int
i_hw_scale
;
#endif
#endif
};
};
#ifndef MODULE_NAME_IS_glx
/*****************************************************************************
* picture_sys_t: direct buffer method descriptor
*****************************************************************************
* This structure is part of the picture descriptor, it describes the
* XVideo specific properties of a direct buffer.
*****************************************************************************/
struct
picture_sys_t
{
IMAGE_TYPE
*
p_image
;
#ifdef HAVE_SYS_SHM_H
XShmSegmentInfo
shminfo
;
/* shared memory zone information */
#endif
#ifdef MODULE_NAME_IS_xvmc
XvMCSurface
*
xvmc_surf
;
vlc_xxmc_t
xxmc_data
;
int
last_sw_format
;
vout_thread_t
*
p_vout
;
int
nb_display
;
#endif
};
#endif
/*****************************************************************************
/*****************************************************************************
* mwmhints_t: window manager hints
* mwmhints_t: window manager hints
*****************************************************************************
*****************************************************************************
...
@@ -346,21 +113,3 @@ typedef struct mwmhints_t
...
@@ -346,21 +113,3 @@ typedef struct mwmhints_t
unsigned
long
status
;
unsigned
long
status
;
}
mwmhints_t
;
}
mwmhints_t
;
/*****************************************************************************
* Chroma defines
*****************************************************************************/
#if defined(MODULE_NAME_IS_xvmc)
# define MAX_DIRECTBUFFERS (VOUT_MAX_PICTURES+2)
#else
# define MAX_DIRECTBUFFERS 2
#endif
#ifndef MODULE_NAME_IS_glx
IMAGE_TYPE
*
CreateImage
(
vout_thread_t
*
,
Display
*
,
EXTRA_ARGS
,
int
,
int
);
#ifdef HAVE_SYS_SHM_H
IMAGE_TYPE
*
CreateShmImage
(
vout_thread_t
*
,
Display
*
,
EXTRA_ARGS_SHM
,
int
,
int
);
#endif
#endif
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