diff options
Diffstat (limited to 'DOCS/tech')
-rw-r--r-- | DOCS/tech/MAINTAINERS | 2 | ||||
-rw-r--r-- | DOCS/tech/binary-packaging.txt | 22 | ||||
-rw-r--r-- | DOCS/tech/libmpcodecs.txt | 22 | ||||
-rw-r--r-- | DOCS/tech/slave.txt | 8 |
4 files changed, 23 insertions, 31 deletions
diff --git a/DOCS/tech/MAINTAINERS b/DOCS/tech/MAINTAINERS index 7b7b1c710c..e2fcf01862 100644 --- a/DOCS/tech/MAINTAINERS +++ b/DOCS/tech/MAINTAINERS @@ -84,8 +84,6 @@ MPlayer code: * playtree, input layer: Alban Bedel * libswscale: Michael Niedermayer, Luca Abeni * DVB support: Nico Sabbi - * GUI: None - * GUI skins: Diego Biurrun * EDL code: Oded Shimon Imported libs/projects: diff --git a/DOCS/tech/binary-packaging.txt b/DOCS/tech/binary-packaging.txt index 9d852372db..974a20d46f 100644 --- a/DOCS/tech/binary-packaging.txt +++ b/DOCS/tech/binary-packaging.txt @@ -66,9 +66,6 @@ the following features MUST be included in any official binary package: (*) if available for your OS/hardware -There is great demand for the GUI, so it SHOULD be included, but it MUST -come as a separate package (see Tips and Tricks for details). - Including other features, like LIVE.COM streaming or JACK support, is acceptable. They SHOULD, however, be build-time configurable, with the default build configuration containing the above set. @@ -111,7 +108,6 @@ for Red Hat and Fedora RPMs I am using FHS-compliant paths: /usr/share/doc/mplayer-version/ docs /usr/share/man/man1/ man page /usr/share/man/XX/man1/ translated man page -/usr/share/mplayer/skins/ GUI skins You MUST NOT include the codecs.conf file in your package. It is useful only for development purposes and often causes obscure problems for users. @@ -129,13 +125,9 @@ install only what you need. This is the layout I am using for Red Hat and Fedora RPMs: mencoder contains MEncoder binary (mencoder) -mplayer contains MPlayer binary without GUI (mplayer), - config files, man pages and documentation; - required by mplayer-gui +mplayer contains MPlayer binary config files, man pages and + documentation; mplayer-codecs-* contain binary codecs available from MPlayer's site -mplayer-gui contains MPlayer binary with GUI (gmplayer); - contains default skin (Blue) -mplayer-skin-* contain various MPlayer GUI skins There is no strict policy for now, just use your common sense. @@ -200,14 +192,8 @@ ao=alsa, Tips and tricks ~~~~~~~~~~~~~~~ -In my package layout, mplayer and mplayer-gui can be installed at the same -time, because they contain differently named binaries and there is no -conflict. The trick is to build MPlayer once with --enable-gui, rename the -resulting binary to "gmplayer" and then build it again, without GUI, but -keeping the rest of ./configure options the same. - -To provide man pages for all MPlayer suite binaries (mplayer, gmplayer, -mencoder), you can use man-links instead of regular symbolic links. +To provide man pages for all MPlayer suite binaries (mplayer, mencoder), you +can use man-links instead of regular symbolic links. Creating a mencoder man page linked to mplayer is as simple as: echo ".so mplayer.1" >> mencoder.1 diff --git a/DOCS/tech/libmpcodecs.txt b/DOCS/tech/libmpcodecs.txt index 3b6f2f261e..5015f5dcc0 100644 --- a/DOCS/tech/libmpcodecs.txt +++ b/DOCS/tech/libmpcodecs.txt @@ -153,7 +153,7 @@ vf_info_t* info; const char *name; // short name of the filter, must be FILTERNAME const char *author; // name and email/URL of the author(s) const char *comment; // comment, URL to papers describing algorithm etc. - int (*open)(struct vf_instance *vf,char* args); + int (*open)(struct vf_instance* vf,char* args); // pointer to the open() function: Sample: @@ -197,13 +197,13 @@ static int open(vf_instance_t *vf, char* args) return 1; } -Functions in struct vf_instance: +Functions in vf_instance: NOTE: All these are optional, their function pointer is either NULL or points to a default implementation. If you implement them, don't forget to set vf->FUNCNAME in your open() ! - int (*query_format)(struct vf_instance *vf, unsigned int fmt); + int (*query_format)(struct vf_instance* vf, unsigned int fmt); The query_format() function is called one or more times before the config(), to find out the capabilities and/or support status of a given colorspace (fmt). @@ -216,7 +216,7 @@ next filter will accept at least one of your possible output colorspaces! Sample: -static int query_format(struct vf_instance *vf, unsigned int fmt) +static int query_format(struct vf_instance* vf, unsigned int fmt) { switch(fmt){ case IMGFMT_YV12: @@ -232,7 +232,7 @@ For the more complex case, when you have an N -> M colorspace mapping matrix, see vf_scale or vf_rgb2bgr for examples. - int (*config)(struct vf_instance *vf, + int (*config)(struct vf_instance* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt); @@ -257,7 +257,7 @@ Its parameters are already well-known from libvo: Sample: -static int config(struct vf_instance *vf, +static int config(struct vf_instance* vf, int width, int height, int d_width, int d_height, unsigned int flags, unsigned int outfmt) { @@ -272,12 +272,12 @@ static int config(struct vf_instance *vf, return vf_next_config(vf,vf->priv->w,vf->priv->h,d_width,d_height,flags,outfmt); } - void (*uninit)(struct vf_instance *vf); + void (*uninit)(struct vf_instance* vf); Okay, uninit() is the simplest, it's called at the end. You can free your private buffers etc here. - int (*put_image)(struct vf_instance *vf, mp_image_t *mpi); + int (*put_image)(struct vf_instance* vf, mp_image_t *mpi); Ah, put_image(). This is the main filter function, it should convert/filter/ transform the image data from one format/size/color/whatever to another. @@ -332,7 +332,7 @@ image: Ok, the rest is for advanced functionality only: - int (*control)(struct vf_instance *vf, int request, void* data); + int (*control)(struct vf_instance* vf, int request, void* data); You can control the filter at runtime from MPlayer/MEncoder/dec_video: #define VFCTRL_QUERY_MAX_PP_LEVEL 4 /* test for postprocessing support (max level) */ @@ -343,7 +343,7 @@ You can control the filter at runtime from MPlayer/MEncoder/dec_video: #define VFCTRL_CHANGE_RECTANGLE 9 /* Change the rectangle boundaries */ - void (*get_image)(struct vf_instance *vf, mp_image_t *mpi); + void (*get_image)(struct vf_instance* vf, mp_image_t *mpi); This is for direct rendering support, works the same way as in libvo drivers. It makes in-place pixel modifications possible. @@ -359,7 +359,7 @@ order, while put_image is called for display) so the only safe place to save it is in the mpi struct itself: mpi->priv=(void*)dmpi; - void (*draw_slice)(struct vf_instance *vf, unsigned char** src, + void (*draw_slice)(struct vf_instance* vf, unsigned char** src, int* stride, int w,int h, int x, int y); It's the good old draw_slice callback, already known from libvo. diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt index a2e249dbe5..f03339aac3 100644 --- a/DOCS/tech/slave.txt +++ b/DOCS/tech/slave.txt @@ -285,6 +285,10 @@ set_mouse_pos <x> <y> set_property <property> <value> Set a property. +set_property_osd <property> <value> + Same as above, but show the new value on the OSD in the standard + manner defined for that property (if any). + speed_incr <value> Add <value> to the current playback speed. @@ -299,6 +303,10 @@ step_property <property> [value] [direction] not given or zero. The direction is reversed if direction is less than zero. +step_property_osd <property> [value] [direction] + Same as above, but show the new value on the OSD in the standard + manner defined for that property (if any). + stop Stop playback. |