Convert vo_x11_border (used in vo_gl/gl2 though the vo_gl_border
macro) to use a wrapper macro in old-style VOs which do not provide a
VO object argument. Before this function had an explicit global_vo
argument in vo_gl/gl2. New vo_vdpau uses it too so use the same
mechanism as most other functions.
The commit adding vo_vdpau had two bugs that broke compilation when
VDPAU was not enabled.
- video_out.c used "#ifdef CONFIG_VDPAU", but it's always set to 0 or 1
- In configure, MPEG1_VDPAU_DECODER was dropped from the list of
libavcodec codecs to disable when moving VDPAU-related ones from the
always-disabled list to a conditinal one.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28620 b3059339-0415-0410-9bf9-f77b7e298cf2
which part of the video source must be scaled onto which part of the window.
Direct3D and (future) VDPAU need this, for XvMC it makes it easier to add
cropping support and Xv is changed to keep the diff to XvMC small.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28546 b3059339-0415-0410-9bf9-f77b7e298cf2
alphabetically. For now, vo_directx should be preferred over
vo_direct3d.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27956 b3059339-0415-0410-9bf9-f77b7e298cf2
Patch by Georgi Petrov (gogothebee gmail com)
Panscan handling is still disabled and needs to be fixed for negative
-panscan.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27955 b3059339-0415-0410-9bf9-f77b7e298cf2
This avoids a pointless indirection that only obscures what is really done.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27761 b3059339-0415-0410-9bf9-f77b7e298cf2
Original patch by Jing Liu <fatersh-1@yahoo.com>,
based on vo_fbdev.c and adapted to Nintendo's specific GPU.
This driver handles dedicated ATI GPU, which can be found in:
- Nintendo GameCube (ATI LSI Flipper @ 162 MHz)
- Nintendo Wii (ATI Hollywood @ 243 MHz)
Flipper and Hollywood chipsets are pretty similar, except from clock speed:
- Embedded framebuffer is 2MB.
- Texture cache is 1MB.
- Vertex cache is 0.1 MB.
- Framebuffer is YUY2, not RGB.
- Best resolution is 480p (854x480)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27407 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit creates the struct and passes it to some functions that
needs to access OSD state but does not yet move much data from globals
to it.
vf_expand accesses the OSD state for rendering purposes outside of the
normal OSD draw time. The way this currently works is suboptimal, but
I did not attempt to clean it up now. To keep things working the same
way vf_expand needs to know the address of the state object to be able
to access the data even in the functions that should normally not need
it. For that purpose this commit adds a VFCTRL to tell vf_expand the
address of the object.
Remove the global and Add a corresponding field to the vo struct, plus
another which tells whether the LAST config call was successful.The
latter value which tells whether the VO should be properly configured
at the moment seems a better match for the semantics actually needed
in most places where the old value was used. The 'count' field with
the old semantics is not currently used by anything, but I'm leaving
it there for vo drivers which would need those semantics if converted
to use the struct.
Existing uses of the global outside old vo drivers are either converted
to use the struct field or moved inside the vo_xyz() calls (instead of
"if (vo_config_count) vo_flip_page(..." just call vo_flip_page which
will now do nothing if not configured). The removal of the check in
mpcommon.c/update_subtitles() is less trivial than the others, but I
think it shouldn't cause problems.
Will be used for common data between X11 VOs. The main reasons for
making it a separate struct rather than extra fields in the main VO
struct are that some field definitions need X headers and that the code
keeps basic X state such as the display connection over opening and
closing of individual VOs.
Add a 'struct vo *vo' argument to the x11_common.c functions that
access the variable so it's available as vo->opts->vo_ontop. To keep
VOs using the old API working create a global vo variable that is set
to the currently used old vo. "vo_ontop" will be #defined to
"global_vo->opts->vo_ontop", and x11_common.h will add defines like
the following when it is included by old VOs:
#define vo_x11_ontop() vo_x11_ontop(global_vo)
so that they will call the function according to the new declaration.
Create new video driver API that has a per-instance context structure
and does not rely on keeping status in global or static variables.
Existing drivers are not yet converted to this API; instead there is a
wrapper which translates calls to them.
In the new API, an old API call vo_functions->xyz(args) is generally
replaced by vo_xyz(vo_instance, args).
The changes to keep the vesa, dxr2 and xover drivers compiling have
not been tested.
if the vo responds that it supports this scheme by providing VOCTRL_UPDATE_SCREENINFO.
Fixes vo_xmga
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22342 b3059339-0415-0410-9bf9-f77b7e298cf2
patch replaces '()' for the correct '(void)' in function
declarations/prototypes which have no parameters. The '()' syntax tell
thats there is a variable list of arguments, so that the compiler cannot
check this. The extra CFLAG '-Wstrict-declarations' shows those cases.
Comments about a similar patch applied to ffmpeg:
That in C++ these mean the same, but in ANSI C the semantics are
different; function() is an (obsolete) K&R C style forward declaration,
it basically means that the function can have any number and any types
of parameters, effectively completely preventing the compiler from doing
any sort of type checking. -- Erik Slagter
Defining functions with unspecified arguments is allowed but bad.
With arguments unspecified the compiler can't report an error/warning
if the function is called with incorrect arguments. -- Måns Rullgård
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17567 b3059339-0415-0410-9bf9-f77b7e298cf2
Based on a patch by Sebastian Hegler <s_hegler at gmx dot de>.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13788 b3059339-0415-0410-9bf9-f77b7e298cf2
It's now possible to compile libvo without pnm and/or md5sum support.
Default is enable.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13745 b3059339-0415-0410-9bf9-f77b7e298cf2
and vo_md5sum. If one tries to use the old video output drivers, a message
is printed to direct them to the new drivers.
Manual page is updated (or is this called downdated? :-) ).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13508 b3059339-0415-0410-9bf9-f77b7e298cf2