1
mirror of https://github.com/mpv-player/mpv synced 2024-10-18 10:25:02 +02:00

Merge svn changes up to r30683

This commit is contained in:
Uoti Urpala 2010-03-10 00:52:17 +02:00
commit 5099b1458d
86 changed files with 206 additions and 165 deletions

View File

@ -1507,6 +1507,9 @@ This option is obsolete now that MPlayer has OpenDML support.
.TP .TP
.B \-mc <seconds/frame> .B \-mc <seconds/frame>
maximum A-V sync correction per frame (in seconds) maximum A-V sync correction per frame (in seconds)
.br
\-mc 0 should always be combined with \-noskip for mencoder, otherwise
it will almost certainly cause A-V desync.
. .
.TP .TP
.B \-mf <option1:option2:...> .B \-mf <option1:option2:...>

View File

@ -9,6 +9,17 @@ release 20090308
; VIDEO CODECS ; VIDEO CODECS
;============================================================================= ;=============================================================================
videocodec ffbinkvideo
info "FFmpeg Bink Video"
status working
fourcc BIKf ; internal MPlayer FourCC
fourcc BIKg ; internal MPlayer FourCC
fourcc BIKh ; internal MPlayer FourCC
fourcc BIKi ; internal MPlayer FourCC
driver ffmpeg
dll binkvideo
out YV12
videocodec ffcdgraphics videocodec ffcdgraphics
info "FFmpeg CD-Graphics" info "FFmpeg CD-Graphics"
status working status working
@ -3755,6 +3766,20 @@ audiocodec ffsmkaud
driver ffmpeg driver ffmpeg
dll "smackaud" dll "smackaud"
audiocodec ffbinkdctaud
info "FFmpeg Bink Audio (DCT)"
status buggy
fourcc BAU1 ; internal MPlayer FourCC
driver ffmpeg
dll "binkaudio_dct"
audiocodec ffbinkrdftaud
info "FFmpeg Bink Audio (RDFT)"
status working
fourcc BAU2 ; internal MPlayer FourCC
driver ffmpeg
dll "binkaudio_rdft"
audiocodec ffdsicinaudio audiocodec ffdsicinaudio
info "FFmpeg Delphine CIN audio" info "FFmpeg Delphine CIN audio"
status working status working

View File

@ -16,12 +16,15 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/ */
#include "config.h"
#if HAVE_MALLOC_H
#include <malloc.h>
#endif
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
#include "config.h"
#include "mp_msg.h" #include "mp_msg.h"
#include "help_mp.h" #include "help_mp.h"

View File

@ -475,7 +475,7 @@ struct vf_instance *vf_open_plugin_noerr(struct MPOpts *opts,
args = (char**)args[1]; args = (char**)args[1];
else else
args = NULL; args = NULL;
*retcode = vf->info->open(vf,(char*)args); *retcode = vf->info->vf_open(vf,(char*)args);
if (*retcode > 0) if (*retcode > 0)
return vf; return vf;
free(vf); free(vf);

View File

@ -30,7 +30,7 @@ typedef struct vf_info_s {
const char *name; const char *name;
const char *author; const char *author;
const char *comment; const char *comment;
int (*open)(struct vf_instance* vf,char* args); int (*vf_open)(struct vf_instance* vf,char* args);
// Ptr to a struct dscribing the options // Ptr to a struct dscribing the options
const void* opts; const void* opts;
} vf_info_t; } vf_info_t;

View File

@ -180,7 +180,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return vf->next->query_format(vf->next,best); return vf->next->query_format(vf->next,best);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -194,7 +194,7 @@ const vf_info_t vf_info_1bpp = {
"1bpp", "1bpp",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -316,7 +316,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -328,7 +328,7 @@ const vf_info_t vf_info_2xsai = {
"2xsai", "2xsai",
"A'rpi", "A'rpi",
"http://elektron.its.tudelft.nl/~dalikifa/", "http://elektron.its.tudelft.nl/~dalikifa/",
open, vf_open,
NULL NULL
}; };

View File

@ -382,7 +382,7 @@ static const unsigned int fmt_list[]={
0 0
}; };
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
int flags; int flags;
vf->priv->outfmt = vf_match_csp(&vf->next,fmt_list,IMGFMT_YV12); vf->priv->outfmt = vf_match_csp(&vf->next,fmt_list,IMGFMT_YV12);
@ -427,6 +427,6 @@ const vf_info_t vf_info_ass = {
"ass", "ass",
"Evgeniy Stepanov", "Evgeniy Stepanov",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -118,7 +118,7 @@ static void uninit(struct vf_instance *vf) {
if (vf->priv) free(vf->priv); if (vf->priv) free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->priv = malloc(sizeof(struct vf_priv_s)); vf->priv = malloc(sizeof(struct vf_priv_s));
if (!vf->priv) return 0; if (!vf->priv) return 0;
@ -143,6 +143,6 @@ const vf_info_t vf_info_blackframe = {
"blackframe", "blackframe",
"Brian J. Murrell, Julian Hall, Ivo van Poorten", "Brian J. Murrell, Julian Hall, Ivo van Poorten",
"Useful for detecting scene transitions", "Useful for detecting scene transitions",
open, vf_open,
NULL NULL
}; };

View File

@ -458,7 +458,7 @@ put_image(struct vf_instance* vf, mp_image_t* mpi, double pts){
} // put_image } // put_image
static int static int
vf_open(vf_instance_t* vf, char* args) vf_open(vf_instance_t *vf, char *args)
{ {
char filename[1000]; char filename[1000];

View File

@ -171,7 +171,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int e; int e;
vf->config=config; vf->config=config;
@ -207,7 +207,7 @@ const vf_info_t vf_info_boxblur = {
"boxblur", "boxblur",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -155,7 +155,7 @@ static void draw_slice(struct vf_instance* vf,
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->start_slice=start_slice; vf->start_slice=start_slice;
@ -190,7 +190,7 @@ const vf_info_t vf_info_crop = {
"crop", "crop",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -174,7 +174,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt) {
} }
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -194,7 +194,7 @@ const vf_info_t vf_info_cropdetect = {
"cropdetect", "cropdetect",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -169,7 +169,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->put_image = put_image; vf->put_image = put_image;
@ -193,6 +193,6 @@ const vf_info_t vf_info_decimate = {
"decimate", "decimate",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -196,7 +196,7 @@ static const unsigned int fmt_list[]={
0 0
}; };
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->get_image=get_image; vf->get_image=get_image;
@ -255,7 +255,7 @@ const vf_info_t vf_info_delogo = {
"delogo", "delogo",
"Jindrich Makovicka, Alex Beregszaszi", "Jindrich Makovicka, Alex Beregszaszi",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -182,7 +182,7 @@ static void PrecalcCoefs(int *Ct, double Dist25)
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
double LumSpac, LumTmp, ChromSpac, ChromTmp; double LumSpac, LumTmp, ChromSpac, ChromTmp;
double Param1, Param2, Param3; double Param1, Param2, Param3;
@ -261,7 +261,7 @@ const vf_info_t vf_info_denoise3d = {
"denoise3d", "denoise3d",
"Daniel Moreno", "Daniel Moreno",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -420,7 +420,7 @@ static void parse_args(struct vf_priv_s *p, char *args)
free(orig); free(orig);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->config = config; vf->config = config;
@ -448,6 +448,6 @@ const vf_info_t vf_info_detc = {
"detc", "detc",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -191,7 +191,7 @@ static int put_image (struct vf_instance* vf, mp_image_t *mpi, double pts)
return vf_next_put_image (vf, mpi, pts); return vf_next_put_image (vf, mpi, pts);
} }
static int open (vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config = config; vf->config = config;
vf->put_image = put_image; vf->put_image = put_image;
// vf->default_reqs=VFCAP_ACCEPT_STRIDE; // vf->default_reqs=VFCAP_ACCEPT_STRIDE;
@ -209,6 +209,6 @@ const vf_info_t vf_info_dint = {
"dint", "dint",
"A.G.", "A.G.",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -595,7 +595,7 @@ static void uninit(struct vf_instance* vf)
} }
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
char *filename="framediff.log", *ap, *q, *a; char *filename="framediff.log", *ap, *q, *a;
@ -715,6 +715,6 @@ const vf_info_t vf_info_divtc =
"divtc", "divtc",
"Ville Saari", "Ville Saari",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -140,7 +140,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->config=config; vf->config=config;
vf->query_format=query_format; vf->query_format=query_format;
@ -161,6 +161,6 @@ const vf_info_t vf_info_down3dright = {
"down3dright", "down3dright",
"Zdenek Kabelac", "Zdenek Kabelac",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -79,7 +79,7 @@ static void uninit(vf_instance_t *vf) {
vf->priv = NULL; vf->priv = NULL;
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->config = config; vf->config = config;
vf->draw_slice = vf_next_draw_slice; vf->draw_slice = vf_next_draw_slice;
@ -118,6 +118,6 @@ const vf_info_t vf_info_dsize = {
"dsize", "dsize",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -46,7 +46,7 @@ static int config(struct vf_instance* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt); return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->default_caps=0; vf->default_caps=0;
vf->priv=malloc(sizeof(struct vf_priv_s)); vf->priv=malloc(sizeof(struct vf_priv_s));
@ -60,7 +60,7 @@ const vf_info_t vf_info_dvbscale = {
"dvbscale", "dvbscale",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -219,7 +219,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->control=control; vf->control=control;
vf->query_format=query_format; vf->query_format=query_format;
@ -253,6 +253,6 @@ const vf_info_t vf_info_eq = {
"eq", "eq",
"Richard Felker", "Richard Felker",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -446,7 +446,7 @@ void uninit (vf_instance_t *vf)
} }
static static
int open (vf_instance_t *vf, char *args) int vf_open(vf_instance_t *vf, char *args)
{ {
unsigned i; unsigned i;
vf_eq2_t *eq2; vf_eq2_t *eq2;
@ -514,6 +514,6 @@ const vf_info_t vf_info_eq2 = {
"eq2", "eq2",
"Hampa Hug, Daniel Moreno, Richard Felker", "Hampa Hug, Daniel Moreno, Richard Felker",
"", "",
&open, &vf_open,
NULL NULL
}; };

View File

@ -462,7 +462,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return vf_next_query_format(vf,fmt); return vf_next_query_format(vf,fmt);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->control=control; vf->control=control;
vf->query_format=query_format; vf->query_format=query_format;
@ -511,7 +511,7 @@ const vf_info_t vf_info_expand = {
"expand", "expand",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -66,7 +66,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->uninit=uninit; vf->uninit=uninit;
@ -82,7 +82,7 @@ const vf_info_t vf_info_field = {
"field", "field",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -94,7 +94,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->uninit=uninit; vf->uninit=uninit;
@ -109,7 +109,7 @@ const vf_info_t vf_info_fil = {
"fil", "fil",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -1405,7 +1405,7 @@ static void uninit(struct vf_instance* vf)
free(p); free(p);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->get_image = get_image; vf->get_image = get_image;
@ -1457,6 +1457,6 @@ const vf_info_t vf_info_filmdint = {
"filmdint", "filmdint",
"Zoltan Hidvegi", "Zoltan Hidvegi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -90,7 +90,7 @@ static int put_image(struct vf_instance* vf, mp_image_t *mpi, double pts){
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->get_image=get_image; vf->get_image=get_image;
vf->put_image=put_image; vf->put_image=put_image;
@ -103,7 +103,7 @@ const vf_info_t vf_info_flip = {
"flip", "flip",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -46,7 +46,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->query_format=query_format; vf->query_format=query_format;
vf->default_caps=0; vf->default_caps=0;
return 1; return 1;
@ -70,7 +70,7 @@ const vf_info_t vf_info_format = {
"format", "format",
"A'rpi", "A'rpi",
"FIXME! get_image()/put_image()", "FIXME! get_image()/put_image()",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -153,7 +153,7 @@ static void uninit(struct vf_instance* vf)
} }
/* Main entry funct for the filter */ /* Main entry funct for the filter */
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
@ -200,6 +200,6 @@ const vf_info_t vf_info_framestep = {
"framestep", "framestep",
"Daniele Forghieri", "Daniele Forghieri",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -622,7 +622,7 @@ static int control(struct vf_instance* vf, int request, void* data)
return vf_next_control(vf,request,data); return vf_next_control(vf,request,data);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
int i=0, bias; int i=0, bias;
int custom_threshold_m[64]; int custom_threshold_m[64];
@ -683,7 +683,7 @@ const vf_info_t vf_info_fspp = {
"fspp", "fspp",
"Michael Niedermayer, Nikolaj Poroshin", "Michael Niedermayer, Nikolaj Poroshin",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -134,7 +134,7 @@ static void uninit(struct vf_instance* vf){
} }
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
char eq[3][2000] = { { 0 }, { 0 }, { 0 } }; char eq[3][2000] = { { 0 }, { 0 }, { 0 } };
int plane; int plane;
@ -193,6 +193,6 @@ const vf_info_t vf_info_geq = {
"geq", "geq",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -364,7 +364,7 @@ static void uninit(struct vf_instance *vf)
vf->priv = NULL; vf->priv = NULL;
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
float thresh = 1.2; float thresh = 1.2;
int radius = 16; int radius = 16;
@ -402,6 +402,6 @@ const vf_info_t vf_info_gradfun = {
"gradfun", "gradfun",
"Loren Merritt", "Loren Merritt",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -226,7 +226,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->config=config; vf->config=config;
vf->query_format=query_format; vf->query_format=query_format;
@ -249,6 +249,6 @@ const vf_info_t vf_info_halfpack = {
"halfpack", "halfpack",
"Richard Felker", "Richard Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -73,7 +73,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->put_image = put_image; vf->put_image = put_image;
vf->control = control; vf->control = control;
@ -87,6 +87,6 @@ const vf_info_t vf_info_harddup = {
"harddup", "harddup",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -273,7 +273,7 @@ static void PrecalcCoefs(int *Ct, double Dist25)
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
double LumSpac, LumTmp, ChromSpac, ChromTmp; double LumSpac, LumTmp, ChromSpac, ChromTmp;
double Param1, Param2, Param3, Param4; double Param1, Param2, Param3, Param4;
@ -360,7 +360,7 @@ const vf_info_t vf_info_hqdn3d = {
"hqdn3d", "hqdn3d",
"Daniel Moreno & A'rpi", "Daniel Moreno & A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -163,7 +163,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->control=control; vf->control=control;
vf->query_format=query_format; vf->query_format=query_format;
@ -195,6 +195,6 @@ const vf_info_t vf_info_hue = {
"hue", "hue",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -119,7 +119,7 @@ static void parse(FilterParam *fp, char* args){
if(pos && pos<max) fp->interleave=-1; if(pos && pos<max) fp->interleave=-1;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->put_image=put_image; vf->put_image=put_image;
// vf->get_image=get_image; // vf->get_image=get_image;
@ -141,7 +141,7 @@ const vf_info_t vf_info_il = {
"il", "il",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -404,7 +404,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt)
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->config=config; vf->config=config;
vf->query_format=query_format; vf->query_format=query_format;
@ -448,6 +448,6 @@ const vf_info_t vf_info_ilpack = {
"ilpack", "ilpack",
"Richard Felker", "Richard Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -522,7 +522,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->put_image = put_image; vf->put_image = put_image;
@ -545,6 +545,6 @@ const vf_info_t vf_info_ivtc = {
"ivtc", "ivtc",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -302,7 +302,7 @@ static int control(struct vf_instance* vf, int request, void* data){
return vf_next_control (vf, request, data); return vf_next_control (vf, request, data);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->control=control; vf->control=control;
vf->config=config; vf->config=config;
@ -338,7 +338,7 @@ const vf_info_t vf_info_kerndeint = {
"kerndeint", "kerndeint",
"Donald Graft", "Donald Graft",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -130,7 +130,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int p_quality=0; int p_quality=0;
float p_fps=0; float p_fps=0;
@ -180,7 +180,7 @@ const vf_info_t vf_info_lavc = {
"lavc", "lavc",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -161,7 +161,7 @@ query_format (struct vf_instance* vf, unsigned int fmt)
static int static int
open (vf_instance_t *vf, char* args) vf_open(vf_instance_t *vf, char *args)
{ {
/* We don't have any args */ /* We don't have any args */
(void) args; (void) args;
@ -192,7 +192,7 @@ const vf_info_t vf_info_lavcdeint = {
"Joe Rabinoff", "Joe Rabinoff",
"libavcodec's internal deinterlacer, in case you don't like " "libavcodec's internal deinterlacer, in case you don't like "
"the builtin ones (invoked with -pp or -npp)", "the builtin ones (invoked with -pp or -npp)",
open, vf_open,
NULL NULL
}; };

View File

@ -301,7 +301,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
@ -328,6 +328,6 @@ const vf_info_t vf_info_mcdeint = {
"mcdeint", "mcdeint",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -113,7 +113,7 @@ static int put_image(struct vf_instance* vf, mp_image_t *mpi, double pts){
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
//vf->config=config; //vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
return 1; return 1;
@ -124,7 +124,7 @@ const vf_info_t vf_info_mirror = {
"mirror", "mirror",
"Eyck", "Eyck",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -46,7 +46,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->query_format=query_format; vf->query_format=query_format;
vf->default_caps=0; vf->default_caps=0;
return 1; return 1;
@ -70,7 +70,7 @@ const vf_info_t vf_info_noformat = {
"noformat", "noformat",
"Joey", "Joey",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -423,7 +423,7 @@ static const unsigned int fmt_list[]={
0 0
}; };
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->get_image=get_image; vf->get_image=get_image;
@ -466,7 +466,7 @@ const vf_info_t vf_info_noise = {
"noise", "noise",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -289,7 +289,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->get_image=get_image; vf->get_image=get_image;
@ -317,6 +317,6 @@ const vf_info_t vf_info_ow = {
"ow", "ow",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -188,7 +188,7 @@ static void uninit(vf_instance_t *vf) {
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
unsigned int i; unsigned int i;
vf->config=config; vf->config=config;
vf->uninit=uninit; vf->uninit=uninit;
@ -220,7 +220,7 @@ const vf_info_t vf_info_palette = {
"palette", "palette",
"A'rpi & Alex", "A'rpi & Alex",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -304,7 +304,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int e; int e;
vf->config=config; vf->config=config;
@ -336,7 +336,7 @@ const vf_info_t vf_info_perspective = {
"perspective", "perspective",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -248,7 +248,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->put_image = put_image; vf->put_image = put_image;
vf->uninit = uninit; vf->uninit = uninit;
@ -296,6 +296,6 @@ const vf_info_t vf_info_phase =
"phase", "phase",
"Ville Saari", "Ville Saari",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -161,7 +161,7 @@ static const unsigned int fmt_list[]={
0 0
}; };
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
char *endptr, *name; char *endptr, *name;
int i; int i;
int hex_mode=0; int hex_mode=0;
@ -204,7 +204,7 @@ const vf_info_t vf_info_pp = {
"pp", "pp",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -440,7 +440,7 @@ static int control(struct vf_instance* vf, int request, void* data){
return vf_next_control(vf,request,data); return vf_next_control(vf,request,data);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->get_image=get_image; vf->get_image=get_image;
@ -486,6 +486,6 @@ const vf_info_t vf_info_pp7 = {
"pp7", "pp7",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -280,7 +280,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
struct pullup_context *c; struct pullup_context *c;
@ -309,6 +309,6 @@ const vf_info_t vf_info_pullup = {
"pullup", "pullup",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -147,7 +147,7 @@ static void uninit(struct vf_instance* vf){
} }
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->get_image=get_image; vf->get_image=get_image;
@ -167,6 +167,6 @@ const vf_info_t vf_info_qp = {
"qp", "qp",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -156,7 +156,7 @@ put_image(struct vf_instance* vf, mp_image_t* mpi, double pts){
} }
static int static int
open(vf_instance_t* vf, char* args) { vf_open(vf_instance_t *vf, char *args) {
vf->config = config; vf->config = config;
vf->control = control; vf->control = control;
vf->put_image = put_image; vf->put_image = put_image;
@ -176,6 +176,6 @@ const vf_info_t vf_info_rectangle = {
"rectangle", "rectangle",
"Kim Minh Kaplan", "Kim Minh Kaplan",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -828,7 +828,7 @@ static int query_format(struct vf_instance * vf, unsigned int fmt)
* *
* This sets up our instance variables and parses the arguments to the filter. * This sets up our instance variables and parses the arguments to the filter.
*/ */
static int open(vf_instance_t * vf, char * args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->priv = safe_malloc(sizeof(vf_priv_s)); vf->priv = safe_malloc(sizeof(vf_priv_s));
@ -898,7 +898,7 @@ const vf_info_t vf_info_remove_logo = {
"remove-logo", "remove-logo",
"Robert Edele", "Robert Edele",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -100,7 +100,7 @@ static int query_format(struct vf_instance* vf, unsigned int outfmt){
return vf_next_query_format(vf,fmt) & (~VFCAP_CSP_SUPPORTED_BY_HW); return vf_next_query_format(vf,fmt) & (~VFCAP_CSP_SUPPORTED_BY_HW);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -114,7 +114,7 @@ const vf_info_t vf_info_rgb2bgr = {
"rgb2bgr", "rgb2bgr",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -140,7 +140,7 @@ static int query_format(struct vf_instance* vf, unsigned int outfmt){
return vf_next_query_format(vf,fmt) & (~VFCAP_CSP_SUPPORTED_BY_HW); return vf_next_query_format(vf,fmt) & (~VFCAP_CSP_SUPPORTED_BY_HW);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -156,7 +156,7 @@ const vf_info_t vf_info_rgbtest = {
"rgbtest", "rgbtest",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -131,7 +131,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -145,7 +145,7 @@ const vf_info_t vf_info_rotate = {
"rotate", "rotate",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -272,7 +272,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int e; int e;
vf->config=config; vf->config=config;
@ -314,7 +314,7 @@ const vf_info_t vf_info_sab = {
"sab", "sab",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -562,7 +562,7 @@ static void uninit(struct vf_instance *vf){
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->start_slice=start_slice; vf->start_slice=start_slice;
vf->draw_slice=draw_slice; vf->draw_slice=draw_slice;
@ -723,7 +723,7 @@ const vf_info_t vf_info_scale = {
"scale", "scale",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
&vf_opts &vf_opts
}; };

View File

@ -282,8 +282,7 @@ static void uninit(vf_instance_t *vf)
free(vf->priv); free(vf->priv);
} }
// open conflicts with stdio.h at least under MinGW static int vf_open(vf_instance_t *vf, char *args)
static int screenshot_open(vf_instance_t *vf, char* args)
{ {
vf->config=config; vf->config=config;
vf->control=control; vf->control=control;
@ -315,7 +314,7 @@ const vf_info_t vf_info_screenshot = {
"screenshot", "screenshot",
"A'rpi, Jindrich Makovicka", "A'rpi, Jindrich Makovicka",
"", "",
screenshot_open, vf_open,
NULL NULL
}; };

View File

@ -216,7 +216,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int e; int e;
vf->config=config; vf->config=config;
@ -255,7 +255,7 @@ const vf_info_t vf_info_smartblur = {
"smartblur", "smartblur",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -142,7 +142,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->config = config; vf->config = config;
@ -159,6 +159,6 @@ const vf_info_t vf_info_softpulldown = {
"softpulldown", "softpulldown",
"Tobias Diedrich <ranma+mplayer@tdiedrich.de>", "Tobias Diedrich <ranma+mplayer@tdiedrich.de>",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -83,7 +83,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
vf->put_image = put_image; vf->put_image = put_image;
vf->control = control; vf->control = control;
@ -97,6 +97,6 @@ const vf_info_t vf_info_softskip = {
"softskip", "softskip",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -557,7 +557,7 @@ static int control(struct vf_instance* vf, int request, void* data){
return vf_next_control(vf,request,data); return vf_next_control(vf,request,data);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int log2c=-1; int log2c=-1;
@ -609,6 +609,6 @@ const vf_info_t vf_info_spp = {
"spp", "spp",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -87,7 +87,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->put_image=put_image; vf->put_image=put_image;
vf->get_image=get_image; vf->get_image=get_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -99,7 +99,7 @@ const vf_info_t vf_info_swapuv = {
"swapuv", "swapuv",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -131,7 +131,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
//vf->config = config; //vf->config = config;
vf->put_image = put_image; vf->put_image = put_image;
@ -150,6 +150,6 @@ const vf_info_t vf_info_telecine = {
"telecine", "telecine",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -311,7 +311,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return vf_next_query_format(vf,IMGFMT_YV12) & (~VFCAP_CSP_SUPPORTED_BY_HW); return vf_next_query_format(vf,IMGFMT_YV12) & (~VFCAP_CSP_SUPPORTED_BY_HW);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -326,7 +326,7 @@ const vf_info_t vf_info_test = {
"test", "test",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -487,7 +487,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->config = config; vf->config = config;
@ -521,6 +521,6 @@ const vf_info_t vf_info_tfields = {
"tfields", "tfields",
"Rich Felker", "Rich Felker",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -231,7 +231,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt)
* If the value is less then 0 def_val is used. * If the value is less then 0 def_val is used.
* Return 0 for ok * Return 0 for ok
* *
* Look below ( in open(...) ) for a use ... * Look below ( in vf_open(...) ) for a use ...
*/ */
static int parse_int(char **s, int *rt, int def_val) static int parse_int(char **s, int *rt, int def_val)
{ {
@ -266,7 +266,7 @@ static int parse_int(char **s, int *rt, int def_val)
} }
/* Main entry funct for the filter */ /* Main entry funct for the filter */
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
int er; int er;
@ -323,6 +323,6 @@ const vf_info_t vf_info_tile = {
"tile", "tile",
"Daniele Forghieri", "Daniele Forghieri",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -209,7 +209,7 @@ static void uninit(struct vf_instance* vf)
free(vf->priv); free(vf->priv);
} }
static int open(vf_instance_t *vf, char* args) static int vf_open(vf_instance_t *vf, char *args)
{ {
struct vf_priv_s *p; struct vf_priv_s *p;
vf->config = config; vf->config = config;
@ -230,6 +230,6 @@ const vf_info_t vf_info_tinterlace = {
"tinterlace", "tinterlace",
"Michael Zucchi", "Michael Zucchi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -270,7 +270,7 @@ static const unsigned int fmt_list[] = {
0 0
}; };
static int open( vf_instance_t *vf, char* args ) { static int vf_open( vf_instance_t *vf, char *args ) {
vf->config = config; vf->config = config;
vf->put_image = put_image; vf->put_image = put_image;
vf->get_image = get_image; vf->get_image = get_image;
@ -317,7 +317,7 @@ const vf_info_t vf_info_unsharp = {
"unsharp", "unsharp",
"Remi Guyomarch", "Remi Guyomarch",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -340,7 +340,7 @@ static int control(struct vf_instance* vf, int request, void* data){
return vf_next_control(vf,request,data); return vf_next_control(vf,request,data);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
int log2c=-1; int log2c=-1;
@ -380,6 +380,6 @@ const vf_info_t vf_info_uspp = {
"uspp", "uspp",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -231,7 +231,7 @@ static void uninit(struct vf_instance* vf)
} }
//===========================================================================// //===========================================================================//
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->control=control; vf->control=control;
vf->query_format=query_format; vf->query_format=query_format;
@ -251,7 +251,7 @@ const vf_info_t vf_info_vo = {
"vo", "vo",
"A'rpi", "A'rpi",
"for internal use", "for internal use",
open, vf_open,
NULL NULL
}; };

View File

@ -479,7 +479,7 @@ static int control(struct vf_instance* vf, int request, void* data){
return vf_next_control (vf, request, data); return vf_next_control (vf, request, data);
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
@ -508,6 +508,6 @@ const vf_info_t vf_info_yadif = {
"yadif", "yadif",
"Michael Niedermayer", "Michael Niedermayer",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -97,7 +97,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
// vf->uninit=uninit; // vf->uninit=uninit;
@ -113,7 +113,7 @@ const vf_info_t vf_info_yuvcsp = {
"yuvcsp", "yuvcsp",
"Alex Beregszaszi", "Alex Beregszaszi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -81,7 +81,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -93,7 +93,7 @@ const vf_info_t vf_info_yuy2 = {
"yuy2", "yuy2",
"A'rpi", "A'rpi",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -86,7 +86,7 @@ static int query_format(struct vf_instance* vf, unsigned int fmt){
return 0; return 0;
} }
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
vf->config=config; vf->config=config;
vf->put_image=put_image; vf->put_image=put_image;
vf->query_format=query_format; vf->query_format=query_format;
@ -98,7 +98,7 @@ const vf_info_t vf_info_yvu9 = {
"yvu9", "yvu9",
"alex", "alex",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -893,9 +893,9 @@ static void uninit(vf_instance_t *vf) {
* This routine will do some basic initialization of local structures etc., * This routine will do some basic initialization of local structures etc.,
* and then parse the command line arguments specific for the ZRMJPEG filter. * and then parse the command line arguments specific for the ZRMJPEG filter.
*/ */
static int open(vf_instance_t *vf, char* args){ static int vf_open(vf_instance_t *vf, char *args){
struct vf_priv_s *priv; struct vf_priv_s *priv;
VERBOSE("open() called: args=\"%s\"\n", args); VERBOSE("vf_open() called: args=\"%s\"\n", args);
vf->config = config; vf->config = config;
vf->put_image = put_image; vf->put_image = put_image;
@ -1062,6 +1062,6 @@ const vf_info_t vf_info_zrmjpeg = {
"zrmjpeg", "zrmjpeg",
"Rik Snel", "Rik Snel",
"", "",
open, vf_open,
NULL NULL
}; };

View File

@ -33,6 +33,8 @@ static const struct mp_AVCodecTag mp_wav_tags[] = {
{ CODEC_ID_ADPCM_THP, MKTAG('T', 'H', 'P', 'A')}, { CODEC_ID_ADPCM_THP, MKTAG('T', 'H', 'P', 'A')},
{ CODEC_ID_ADPCM_XA, MKTAG('P', 'S', 'X', 'A')}, { CODEC_ID_ADPCM_XA, MKTAG('P', 'S', 'X', 'A')},
{ CODEC_ID_AMR_NB, MKTAG('n', 'b', 0, 0)}, { CODEC_ID_AMR_NB, MKTAG('n', 'b', 0, 0)},
{ CODEC_ID_BINKAUDIO_DCT, MKTAG('B', 'A', 'U', '1')},
{ CODEC_ID_BINKAUDIO_RDFT, MKTAG('B', 'A', 'U', '2')},
{ CODEC_ID_COOK, MKTAG('c', 'o', 'o', 'k')}, { CODEC_ID_COOK, MKTAG('c', 'o', 'o', 'k')},
{ CODEC_ID_DSICINAUDIO, MKTAG('D', 'C', 'I', 'A')}, { CODEC_ID_DSICINAUDIO, MKTAG('D', 'C', 'I', 'A')},
{ CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')}, { CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')},

View File

@ -67,6 +67,8 @@ int mp_header_process_sequence_header (mp_mpeg_header_t * picture, const unsigne
picture->mpeg1 = 1; picture->mpeg1 = 1;
picture->picture_structure = 3; //FRAME_PICTURE; picture->picture_structure = 3; //FRAME_PICTURE;
picture->display_time=100; picture->display_time=100;
picture->frame_rate_extension_n = 1;
picture->frame_rate_extension_d = 1;
return 0; return 0;
} }
@ -81,6 +83,9 @@ static int header_process_sequence_extension (mp_mpeg_header_t * picture,
return 1; return 1;
picture->progressive_sequence = (buffer[1] >> 3) & 1; picture->progressive_sequence = (buffer[1] >> 3) & 1;
picture->frame_rate_extension_n = ((buffer[5] >> 5) & 3) + 1;
picture->frame_rate_extension_d = (buffer[5] & 0x1f) + 1;
picture->mpeg1 = 0; picture->mpeg1 = 0;
return 0; return 0;
} }

View File

@ -27,6 +27,8 @@ typedef struct {
int aspect_ratio_information; int aspect_ratio_information;
int frame_rate_code; int frame_rate_code;
float fps; float fps;
int frame_rate_extension_n;
int frame_rate_extension_d;
int bitrate; // 0x3FFFF==VBR int bitrate; // 0x3FFFF==VBR
// timing: // timing:
int picture_structure; int picture_structure;

View File

@ -318,7 +318,7 @@ mpeg_header_parser:
// display info: // display info:
sh_video->format=picture.mpeg1?0x10000001:0x10000002; // mpeg video sh_video->format=picture.mpeg1?0x10000001:0x10000002; // mpeg video
sh_video->fps=picture.fps; sh_video->fps=picture.fps * picture.frame_rate_extension_n / picture.frame_rate_extension_d;
if(!sh_video->fps){ if(!sh_video->fps){
sh_video->frametime=0; sh_video->frametime=0;
} else { } else {
@ -433,6 +433,7 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char**
float frame_time=1; float frame_time=1;
float pts1=d_video->pts; float pts1=d_video->pts;
float pts=0; float pts=0;
float fps;
int picture_coding_type=0; int picture_coding_type=0;
int in_size=0; int in_size=0;
video_codec_t video_codec = find_video_codec(sh_video); video_codec_t video_codec = find_video_codec(sh_video);
@ -469,14 +470,15 @@ int video_read_frame(sh_video_t* sh_video,float* frame_time_ptr,unsigned char**
case 0x100: picture_coding_type=(videobuffer[start+1] >> 3) & 7;break; case 0x100: picture_coding_type=(videobuffer[start+1] >> 3) & 7;break;
} }
} }
fps = picture.fps * picture.frame_rate_extension_n / picture.frame_rate_extension_d;
*start=videobuffer; in_size=videobuf_len; *start=videobuffer; in_size=videobuf_len;
// get mpeg fps: // get mpeg fps:
if(sh_video->fps!=picture.fps) if(!force_fps && !telecine){ if(sh_video->fps!=fps) if(!force_fps && !telecine){
mp_msg(MSGT_CPLAYER,MSGL_WARN,"Warning! FPS changed %5.3f -> %5.3f (%f) [%d] \n",sh_video->fps,picture.fps,sh_video->fps-picture.fps,picture.frame_rate_code); mp_msg(MSGT_CPLAYER,MSGL_WARN,"Warning! FPS changed %5.3f -> %5.3f (%f) [%d] \n",sh_video->fps,fps,sh_video->fps-fps,picture.frame_rate_code);
sh_video->fps=picture.fps; sh_video->fps=fps;
sh_video->frametime=1.0/picture.fps; sh_video->frametime=1.0/fps;
} }
// fix mpeg2 frametime: // fix mpeg2 frametime: