Merge svn changes up to r29684

This commit is contained in:
Uoti Urpala 2009-09-16 22:28:12 +03:00
commit e1ecc43152
25 changed files with 178 additions and 120 deletions

View File

@ -3571,7 +3571,7 @@ Force WarpOverlay! mode.
.IPs dive
Force DIVE mode.
.IPs (no)t23
Enable/disable workaround for T23 laptop (default: \-not23).
Enable/disable workaround for T23 laptop (default: disabled).
Try to enable this option if your video card supports upscaling only.
.RE
.PD 1

View File

@ -1,4 +1,4 @@
.\" Synced with r29413
.\" Synced with r29661
.\" MPlayer (C) 2000-2009 MPlayer Team
.\" Ezt a man oldalt Gabucino, Diego Biurrun és Jonas Jermann készíti/készítette
.\" Karbantartó: Gabrov
@ -33,7 +33,7 @@
.\" Név
.\" --------------------------------------------------------------------------
.
.TH MPlayer 1 "2009. 07. 13." "MPlayer Project" "A film lejátszó"
.TH MPlayer 1 "2009. 09. 11." "MPlayer Project" "A film lejátszó"
.
.SH NÉV
mplayer \- film lejátszó
@ -525,6 +525,12 @@ a ~/.mplayer/ k
A konfigurációs fájlt teheted ugyanabba a könyvtárba is, mint ahol a
lejátszandó fájl van, feltéve hogy megadod a \-use\-filedir\-conf kapcsolót (vagy
a parancssorban vagy a globális konfigurációs fájlban).
Ha egy fájl specifikus konfigurációs fájl található ugyan abban a könyvtárban, nem
tölt be egy fájl specifikus konfigurációt sem a ~/.mplayer könyvtárból.
Ráadásul a \-use\-filedir\-conf opció engedélyezi a könyvtár specifikus konfigurációs
fájlokat. Ezért az MPlayer először megpróbálja betölteni az mplayer.conf-ot az
lejátszandó fájlt tartalmazó könyvtárból, majd megpróbál betölteni bármilyen fájl
specifikus konfigurációt.
.PP
.I PÉLDA AZ MPLAYER KONFIGURÁCIÓS FÁJLJÁRA:
.sp 1
@ -3295,6 +3301,8 @@ VBI bekapcsol
Ez megadja az MPlayernek hogy egy már létező X11 ablakban játsszon le,
hasznos ha böngészőbe akarod integrálni az MPlayert (pl.\& a plugger
kiterjesztéssel).
Ez az opció a megadott ablakot teljesen kitölti, ezért a méretezést, panscan-t,
stb. már nem az MPlayer kezeli, hanem az alkalmazás, amelyik az ablakot létrehozta.
.
.TP
.B \-xineramascreen <\-2\-...>
@ -3629,7 +3637,7 @@ K
.IPs dive
Kényszeríti a DIVE módot.
.IPs (no)t23
Engedélyezi/letiltja a T23 laptopokra vonatkozó kódot (alapértelmezett: \-not23).
Engedélyezi/letiltja a T23 laptopokra vonatkozó kódot (alapértelmezett: letiltott).
Próbáld meg engedélyezni ezt az opciót, ha a videó kártyád csak a felméretezést támogatja.
.RE
.PD 1
@ -7884,10 +7892,6 @@ Adapt
Free Lossless Audio Codec (FLAC)
.IPs "g726\ "
G.726 ADPCM
.IPs libamr_nb
3GPP Adaptive Multi-Rate (AMR) narrow-band
.IPs libamr_wb
3GPP Adaptive Multi-Rate (AMR) wide-band
.IPs libfaac
Advanced Audio Coding (AAC) \- FAAC használatával
.IPs libmp3lame

View File

@ -1,4 +1,4 @@
.\" sync with en/mplayer.1 r29555
.\" sync with en/mplayer.1 r29661
.\" Encoding: UTF-8
.\" Reminder of hard terms which need better/final solution later:
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
@ -511,11 +511,16 @@ MEncoder 的配置文件是 "mencoder.conf" 位于你的配置目录
而如果要停用就把它们设置为 "no" 或者 "0" 或者 "false"。
甚至子选项也可以如此设定选项。
.PP
你也可以为特定文件写配置文件。
如果你希望一个特定文件 "movie.avi" 有个配置文件, 就新建文件,
名为 "movie.avi.conf", 写上该特定文件的选项并放在目录 ~/.mplayer/ 下。
你也可以把配置文件放在与播放该特定文件时该特定文件相同的目录之下,
只要你(要么在命令行或者在全局配置文件中)给出 \-use\-filedir\-conf 选项。
你也可以编写每个媒体文件专用的配置文件。
如果要给名叫movie.avi的一个文件设置一个配置文件则创建一个名为movie.avi.conf的文件
其中存放了该媒体文件专用的选项,并将其放到 ~/.mplayer/。
只要给出了 \-use\-filedir\-conf 选项(或是通行命令行,或是在全局配置文件中),你也可以把配置文
件放到与所播放的媒体文件相同的目录下。
如果在媒体文件所在目录下找到其专用的配置文件,则不会从 ~/.maplyer 目录下加载任何媒体文件专用的
配置。
另外,\-use\-filedir\-conf 选项启用了目录专用的配置文件。
对于该选项MPlayer 首先尝试所播放文件的目录下加载 mplayer.conf然后尝试加载任何存在的媒体文件
专用的配置。
.PP
.I MPLAYER 配置文件示例:
.sp 1
@ -3380,7 +3385,7 @@ VIDIX 的 Windows 前台
.IPs dive
强制使用 DIVE 模式。
.IPs (no)t23
启用/禁用解决 T23 笔记本问题的变通模式(默认值:\-not23)。
启用/禁用解决 T23 笔记本问题的变通模式(默认值:禁用)。
如果你的显卡仅支持画面放大输出,尝试开启这个选项。
.RE
.PD 1

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r28984 -->
<!-- synced with r29461 -->
<chapter id="encoding-guide">
<title>Kódolás a <application>MEncoder</application>rel</title>
@ -2593,14 +2593,6 @@ mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vc
<entry>g726</entry>
<entry>G.726 ADPCM</entry>
</row>
<row>
<entry>libamr_nb</entry>
<entry>3GPP Adaptive Multi-Rate (AMR) narrow-band</entry>
</row>
<row>
<entry>libamr_wb</entry>
<entry>3GPP Adaptive Multi-Rate (AMR) wide-band</entry>
</row>
<row>
<entry>libfaac</entry>
<entry>Advanced Audio Coding (AAC) - FAAC használatával</entry>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- synced with r28510 -->
<!-- synced with r29461 -->
<chapter id="install">
<title>Telepítés</title>
@ -470,14 +470,10 @@ make install
<title>AMR</title>
<para>
Az Adaptive Multi-Rate beszéd codec-et harmadik generációs (3G) mobiltelefonokban
használják.
A referencia implementáció elérhető
<ulink url="http://www.3gpp.org">A 3. Generációs Együttműködés Projekt</ulink>
oldalán (személyes felhasználásra ingyenes).
A támogatás bekapcsolásához töltsd le és telepítsd a függvénykönyvtárakat az
<ulink url="http://www.penguin.cz/~utx/amr">AMR-NB és AMR-WB</ulink>-hez
az oldal utasításait követve. Utána forgasd újra az MPlayert!
Az MPlayer használni tudja az OpenCORE AMR függvénykönyvtárakat a FFmpeg-en keresztül.
Töltsd le a könyvtárakat az AMR-NB-hez és az AMR-WB-hez az
<ulink url="http://sourceforge.net/projects/opencore-amr/">opencore-amr</ulink>
projectből és telepítsd őket az oldalon lévő utasítások szerint.
</para>
</sect2>

View File

@ -4,7 +4,7 @@
#
# Licence: GPL
#
# 2002/09/21 Jürgen Hammelmann <juergen.hammelmann@gmx.de>
# 2002/09/21 Jürgen Hammelmann <juergen.hammelmann@gmx.de>
#
# Script: MPlayer Sources (DVD) to (S)VCD ripping and burning
#
@ -345,8 +345,8 @@ fi
[ $mp3 -eq 1 -a $abrset -eq 0 ] && abr=128
# audio sample rate in kHz
((a=$asr / 1000))
((b=$asr % 1000))
a=$(($a=$asr / 1000))
b=$(($b=$asr % 1000))
[ $b -le 9 ] && b="00$b00"
[ $b -le 99 ] && b="0$b00"
kasr="$a.$b"

View File

@ -1,4 +1,4 @@
#!/bin/bash
#!/bin/sh
# example how to output video on multiple windows in sync.
# might be even more useful in combination with vo ggi
# to distribute the video arbitrarily
@ -29,7 +29,7 @@ i=1
fifo_list=""
while test $i -le $count; do
fifo_list="$dir/mp$i $fifo_list"
let i=$i+1
i=$(($i+1))
done
mkfifo $fifo_list

View File

@ -974,6 +974,10 @@ static int mp_property_program(m_option_t *prop, int action, void *arg,
&prog) == DEMUXER_CTRL_NOTIMPL)
return M_PROPERTY_ERROR;
if (prog.aid < 0 && prog.vid < 0) {
mp_msg(MSGT_CPLAYER, MSGL_ERR, "Selected program contains no audio or video streams!\n");
return M_PROPERTY_ERROR;
}
mp_property_do("switch_audio", M_PROPERTY_SET, &prog.aid, mpctx);
mp_property_do("switch_video", M_PROPERTY_SET, &prog.vid, mpctx);
return M_PROPERTY_OK;

2
configure vendored
View File

@ -6687,7 +6687,7 @@ echocheck "QuickTime codecs"
_qtx_emulation=no
def_qtx_win32='#undef CONFIG_QTX_CODECS_WIN32'
if test "$_qtx" = auto ; then
test "$_win32dll" = yes || quicktime && _qtx=yes
test "$_win32dll" = yes || test "$quicktime" = yes && _qtx=yes
fi
if test "$_qtx" = yes ; then
def_qtx='#define CONFIG_QTX_CODECS 1'

View File

@ -414,6 +414,14 @@ videocodec mtga
driver mtga
out BGR32,BGR24
videocodec ffsgi
info "FFmpeg SGI image"
status working
fourcc SGI1 ; SGI1 is an internal MPlayer FOURCC
driver ffmpeg
dll sgi
out RGB24,Y800,RGB48BE
videocodec sgi
info "SGI image"
status working
@ -2209,6 +2217,15 @@ videocodec webtrain
dll "wtvc.dll"
out BGR16 flip
videocodec kegavideo
info "Kega Video"
comment "requires MSVCR80.DLL on windows"
status working
fourcc KGV1
driver vfw
dll "KGV1-VFW.dll"
out BGR16 flip
videocodec xfire
info "xfire video"
status working
@ -3991,7 +4008,7 @@ audiocodec vorbis
audiocodec tremor
info "OggVorbis audio"
status working
comment "fixed-point decoder useful systems without floating-point unit"
comment "fixed-point decoder useful for systems without floating-point unit"
fourcc vrbs
format 0x566F
driver tremor
@ -4105,6 +4122,14 @@ audiocodec pscelp
driver acm
dll "smcelp32.acm"
audiocodec fftwinvq
info "FFmpeg TwinVQ"
status working
fourcc TWI2 ; internal MPlayer FourCC, different from mplayer's TwinVQ decoder
; since lavf demuxer is incompatible with it
driver ffmpeg
dll twinvq
audiocodec TwinVQ
info "VQF codec by NTTLabs"
status working

View File

@ -3,7 +3,7 @@
//... Okay enough of the hw, now send the other two!
//
// Updated by: Gabrov <gabrov@freemail.hu>
// Sync'ed with help_mp-en.h r29209 (2009. 05. 24.)
// Sync'ed with help_mp-en.h r29549 (2009. 09. 11.)
// ========================= MPlayer help ===========================
@ -1277,10 +1277,7 @@ static const char help_text[]=
#define MSGTR_AO_ALSA_UnableToDisableResampling "[AO_ALSA] A resampling letiltása sikertelen: %s\n"
#define MSGTR_AO_ALSA_UnableToSetSamplerate2 "[AO_ALSA] Sikerteln a samplerate-2 beállítása: %s\n"
#define MSGTR_AO_ALSA_UnableToSetBufferTimeNear "[AO_ALSA] Sikertelen a buffer idő beállítása: %s\n"
#define MSGTR_AO_ALSA_UnableToSetPeriodTime "[AO_ALSA] Sikertelen a periódusidő beállítása: %s\n"
#define MSGTR_AO_ALSA_BufferTimePeriodTime "[AO_ALSA] buffer_time: %d, period_time :%d\n"
#define MSGTR_AO_ALSA_UnableToGetPeriodSize "[AO ALSA] Sikertelen a periódus idő lekérdezése: %s\n"
#define MSGTR_AO_ALSA_UnableToSetPeriodSize "[AO ALSA] Sikertelen a periódus méret beállítása (%ld): %s\n"
#define MSGTR_AO_ALSA_UnableToGetPeriodSize "[AO ALSA] Sikertelen a periódus méret lekérdezése: %s\n"
#define MSGTR_AO_ALSA_UnableToSetPeriods "[AO_ALSA] Sikertelen a periódusok beállítása: %s\n"
#define MSGTR_AO_ALSA_UnableToSetHwParameters "[AO_ALSA] Sikerteln a hw-paraméter-ek beállítása: %s\n"
#define MSGTR_AO_ALSA_UnableToGetBufferSize "[AO_ALSA] Sikerteln a buffer méret lekérdezése: %s\n"

View File

@ -26,6 +26,13 @@
#include "m_struct.h"
static struct vf_priv_s {
// These four values are a backup of the values parsed from the command line.
// This is necessary so that we do not get a mess upon filter reinit due to
// e.g. aspect changes and with only aspect specified on the command line,
// where we would otherwise use the values calculated for a different aspect
// instead of recalculating them again.
int cfg_exp_w, cfg_exp_h;
int cfg_exp_x, cfg_exp_y;
int exp_w,exp_h;
int exp_x,exp_y;
int osd_enabled;
@ -196,6 +203,10 @@ static int config(struct vf_instance* vf,
return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
}
if (outfmt == IMGFMT_IF09) return 0;
vf->priv->exp_x = vf->priv->cfg_exp_x;
vf->priv->exp_y = vf->priv->cfg_exp_y;
vf->priv->exp_w = vf->priv->cfg_exp_w;
vf->priv->exp_h = vf->priv->cfg_exp_h;
// calculate the missing parameters:
#if 0
if(vf->priv->exp_w<width) vf->priv->exp_w=width;
@ -441,11 +452,11 @@ static int open(vf_instance_t *vf, char* args){
vf->draw_slice=draw_slice;
vf->get_image=get_image;
vf->put_image=put_image;
mp_msg(MSGT_VFILTER, MSGL_INFO, "Expand: %d x %d, %d ; %d, osd: %d, aspect: %lf, round: %d\n",
vf->priv->exp_w,
vf->priv->exp_h,
vf->priv->exp_x,
vf->priv->exp_y,
mp_msg(MSGT_VFILTER, MSGL_INFO, "Expand: %d x %d, %d ; %d, osd: %d, aspect: %f, round: %d\n",
vf->priv->cfg_exp_w,
vf->priv->cfg_exp_h,
vf->priv->cfg_exp_x,
vf->priv->cfg_exp_y,
vf->priv->osd_enabled,
vf->priv->aspect,
vf->priv->round);
@ -453,11 +464,11 @@ static int open(vf_instance_t *vf, char* args){
}
#define ST_OFF(f) M_ST_OFF(struct vf_priv_s,f)
static const m_option_t vf_opts_fields[] = {
{"w", ST_OFF(exp_w), CONF_TYPE_INT, 0, 0 ,0, NULL},
{"h", ST_OFF(exp_h), CONF_TYPE_INT, 0, 0 ,0, NULL},
{"x", ST_OFF(exp_x), CONF_TYPE_INT, M_OPT_MIN, -1, 0, NULL},
{"y", ST_OFF(exp_y), CONF_TYPE_INT, M_OPT_MIN, -1, 0, NULL},
static m_option_t vf_opts_fields[] = {
{"w", ST_OFF(cfg_exp_w), CONF_TYPE_INT, 0, 0 ,0, NULL},
{"h", ST_OFF(cfg_exp_h), CONF_TYPE_INT, 0, 0 ,0, NULL},
{"x", ST_OFF(cfg_exp_x), CONF_TYPE_INT, M_OPT_MIN, -1, 0, NULL},
{"y", ST_OFF(cfg_exp_y), CONF_TYPE_INT, M_OPT_MIN, -1, 0, NULL},
{"osd", ST_OFF(osd_enabled), CONF_TYPE_FLAG, 0 , 0, 1, NULL},
{"aspect", ST_OFF(aspect), CONF_TYPE_DOUBLE, M_OPT_MIN, 0, 0, NULL},
{"round", ST_OFF(round), CONF_TYPE_INT, M_OPT_MIN, 1, 0, NULL},

View File

@ -88,6 +88,7 @@ static void pack_nn_MMX(unsigned char *dst, unsigned char *y,
pack_nn_C(dst, y, u, v, (w&7));
}
#if HAVE_EBX_AVAILABLE
static void pack_li_0_MMX(unsigned char *dst, unsigned char *y,
unsigned char *u, unsigned char *v, int w, int us, int vs)
{
@ -307,6 +308,7 @@ static void pack_li_1_MMX(unsigned char *dst, unsigned char *y,
);
pack_li_1_C(dst, y, u, v, (w&15), us, vs);
}
#endif /* HAVE_EBX_AVAILABLE */
#endif
static pack_func_t *pack_nn;
@ -399,8 +401,10 @@ static int open(vf_instance_t *vf, char* args)
#if HAVE_MMX
if(gCpuCaps.hasMMX) {
pack_nn = (pack_func_t *)pack_nn_MMX;
#if HAVE_EBX_AVAILABLE
pack_li_0 = pack_li_0_MMX;
pack_li_1 = pack_li_1_MMX;
#endif
}
#endif

View File

@ -40,7 +40,7 @@ enum {
F_SHOW
};
#if HAVE_MMX
#if HAVE_MMX && HAVE_EBX_AVAILABLE
static void block_diffs_MMX(struct metrics *m, unsigned char *old, unsigned char *new, int os, int ns)
{
int i;
@ -516,7 +516,7 @@ static int open(vf_instance_t *vf, char* args)
p->first = 1;
if (args) sscanf(args, "%d", &p->drop);
block_diffs = block_diffs_C;
#if HAVE_MMX
#if HAVE_MMX && HAVE_EBX_AVAILABLE
if(gCpuCaps.hasMMX) block_diffs = block_diffs_MMX;
#endif
return 1;

View File

@ -169,6 +169,7 @@ static void qpel_li_MMX(unsigned char *d, unsigned char *s, int w, int h, int ds
__asm__ volatile("emms \n\t" : : : "memory");
}
#if HAVE_EBX_AVAILABLE
static void qpel_4tap_MMX(unsigned char *d, unsigned char *s, int w, int h, int ds, int ss, int up)
{
int i, j, ssd=ss;
@ -248,6 +249,7 @@ static void qpel_4tap_MMX(unsigned char *d, unsigned char *s, int w, int h, int
if (!up) fast_memcpy(d, s, w);
__asm__ volatile("emms \n\t" : : : "memory");
}
#endif /* HAVE_EBX_AVAILABLE */
#endif
static inline int clamp(int a)
@ -482,8 +484,10 @@ static int open(vf_instance_t *vf, char* args)
qpel_4tap = qpel_4tap_C;
#if HAVE_MMX
if(gCpuCaps.hasMMX) qpel_li = qpel_li_MMX;
#if HAVE_EBX_AVAILABLE
if(gCpuCaps.hasMMX) qpel_4tap = qpel_4tap_MMX;
#endif
#endif
#if HAVE_MMX2
if(gCpuCaps.hasMMX2) qpel_li = qpel_li_MMX2;
#endif

View File

@ -528,11 +528,10 @@ static int demux_audio_open(demuxer_t* demuxer) {
}
static int demux_audio_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds) {
static int demux_audio_fill_buffer(demuxer_t *demux, demux_stream_t *ds) {
int l;
demux_packet_t* dp;
sh_audio_t* sh_audio = ds->sh;
demuxer_t* demux = ds->demuxer;
da_priv_t* priv = demux->priv;
double this_pts = priv->next_pts;
stream_t* s = demux->stream;

View File

@ -172,16 +172,18 @@ static int lavf_check_file(demuxer_t *demuxer){
static const char * const preferred_list[] = {
"dxa",
"wv",
"nuv",
"nut",
"gxf",
"mxf",
"flv",
"swf",
"gxf",
"nut",
"nuv",
"mov,mp4,m4a,3gp,3g2,mj2",
"mpc",
"mpc8",
"mxf",
"swf",
"vqf",
"w64",
"wv",
NULL
};
@ -240,8 +242,6 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
// mp4a tag is used for all mp4 files no matter what they actually contain
if(codec->codec_tag == MKTAG('m', 'p', '4', 'a'))
codec->codec_tag= 0;
if(codec->codec_id == CODEC_ID_ADPCM_IMA_AMV)
codec->codec_tag= MKTAG('A','M','V','A');
if(!codec->codec_tag)
codec->codec_tag= mp_av_codec_get_tag(mp_wav_taglists, codec->codec_id);
wf->wFormatTag= codec->codec_tag;
@ -490,6 +490,8 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){
demuxer_add_chapter(demuxer, t ? t->value : NULL, start, end);
}
for(i=0; i<avfc->nb_streams; i++)
handle_stream(demuxer, avfc, i);
if(avfc->nb_programs) {
int p, start=0, found=0;
@ -511,15 +513,11 @@ static demuxer_t* demux_open_lavf(demuxer_t *demuxer){
AVProgram *program = avfc->programs[p];
t = av_metadata_get(program->metadata, "title", NULL, 0);
mp_msg(MSGT_HEADER,MSGL_INFO,"LAVF: Program %d %s\n", program->id, t ? t->value : "");
for(i=0; i<program->nb_stream_indexes; i++)
handle_stream(demuxer, avfc, program->stream_index[i]);
if(!priv->cur_program && (demuxer->video->sh || demuxer->audio->sh))
priv->cur_program = program->id;
p = (p + 1) % avfc->nb_programs;
} while(p!=start);
} else
for(i=0; i<avfc->nb_streams; i++)
handle_stream(demuxer, avfc, i);
}
mp_msg(MSGT_HEADER,MSGL_V,"LAVF: %d audio and %d video streams found\n",priv->audio_streams,priv->video_streams);
mp_msg(MSGT_HEADER,MSGL_V,"LAVF: build %d\n", LIBAVFORMAT_BUILD);
@ -714,6 +712,7 @@ static int demux_lavf_control(demuxer_t *demuxer, int cmd, void *arg)
demux_program_t *prog = arg;
AVProgram *program;
int p, i;
int start;
if(priv->avfc->nb_programs < 2)
return DEMUXER_CTRL_NOTIMPL;
@ -735,6 +734,7 @@ static int demux_lavf_control(demuxer_t *demuxer, int cmd, void *arg)
p = i;
}
prog->vid = prog->aid = prog->sid = -2; //no audio and no video by default
start = p;
redo:
program = priv->avfc->programs[p];
for(i=0; i<program->nb_stream_indexes; i++)
@ -758,6 +758,8 @@ redo:
if(prog->progid == -1 && prog->vid == -2 && prog->aid == -2)
{
p = (p + 1) % priv->avfc->nb_programs;
if (p == start)
return DEMUXER_CTRL_DONTKNOW;
goto redo;
}
priv->cur_program = prog->progid = program->id;

View File

@ -1158,6 +1158,10 @@ int demux_info_add(demuxer_t *demuxer, const char *opt, const char *param)
for (n = 0; info && info[2 * n] != NULL; n++) {
if (!strcasecmp(opt, info[2 * n])) {
if (!strcmp(param, info[2 * n + 1])) {
mp_msg(MSGT_DEMUX, MSGL_V, "Demuxer info %s set to unchanged value %s\n", opt, param);
return 0;
}
mp_tmsg(MSGT_DEMUX, MSGL_INFO, "Demuxer info %s changed to %s\n", opt,
param);
free(info[2 * n + 1]);

View File

@ -65,7 +65,7 @@ static struct {
{ "it", DEMUXER_TYPE_XMMS },
{ "mid", DEMUXER_TYPE_XMMS },
{ "midi", DEMUXER_TYPE_XMMS },
{ "vqf", DEMUXER_TYPE_XMMS },
{ "vqf", DEMUXER_TYPE_LAVF },
{ "nsv", DEMUXER_TYPE_NSV },
{ "nsa", DEMUXER_TYPE_NSV },
{ "mpc", DEMUXER_TYPE_MPC },

View File

@ -50,17 +50,19 @@ static const struct mp_AVCodecTag mp_wav_tags[] = {
{ CODEC_ID_SPEEX, MKTAG('s', 'p', 'x', ' ')},
{ CODEC_ID_TRUEHD, MKTAG('T', 'R', 'H', 'D')},
{ CODEC_ID_TTA, MKTAG('T', 'T', 'A', '1')},
{ CODEC_ID_TWINVQ, MKTAG('T', 'W', 'I', '2')},
{ CODEC_ID_WAVPACK, MKTAG('W', 'V', 'P', 'K')},
{ CODEC_ID_WESTWOOD_SND1, MKTAG('S', 'N', 'D', '1')},
{ CODEC_ID_XAN_DPCM, MKTAG('A', 'x', 'a', 'n')},
{ 0, 0 },
};
const struct mp_AVCodecTag *mp_wav_taglists[] = {mp_ff_codec_wav_tags, mp_wav_tags, 0};
const struct mp_AVCodecTag * const mp_wav_taglists[] = {mp_ff_codec_wav_tags, mp_wav_tags, 0};
static const struct mp_AVCodecTag mp_codecid_override_tags[] = {
{ CODEC_ID_AAC, MKTAG('M', 'P', '4', 'A')},
{ CODEC_ID_AC3, 0x2000},
{ CODEC_ID_ADPCM_IMA_AMV, MKTAG('A', 'M', 'V', 'A')},
{ CODEC_ID_DTS, 0x2001},
{ CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')},
{ CODEC_ID_H264, MKTAG('H', '2', '6', '4')},
@ -79,7 +81,7 @@ static const struct mp_AVCodecTag mp_codecid_override_tags[] = {
{ 0, 0 },
};
const struct mp_AVCodecTag *mp_codecid_override_taglists[] = {mp_codecid_override_tags, 0};
const struct mp_AVCodecTag * const mp_codecid_override_taglists[] = {mp_codecid_override_tags, 0};
static const struct mp_AVCodecTag mp_bmp_tags[] = {
{ CODEC_ID_AMV, MKTAG('A', 'M', 'V', 'V')},
@ -110,4 +112,4 @@ static const struct mp_AVCodecTag mp_bmp_tags[] = {
{ 0, 0 },
};
const struct mp_AVCodecTag *mp_bmp_taglists[] = {mp_ff_codec_bmp_tags, mp_bmp_tags, 0};
const struct mp_AVCodecTag * const mp_bmp_taglists[] = {mp_ff_codec_bmp_tags, mp_bmp_tags, 0};

View File

@ -23,10 +23,10 @@
#include "ffmpeg_files/taglists.h"
extern const struct mp_AVCodecTag *mp_wav_taglists[];
extern const struct mp_AVCodecTag * const mp_wav_taglists[];
extern const struct mp_AVCodecTag *mp_codecid_override_taglists[];
extern const struct mp_AVCodecTag * const mp_codecid_override_taglists[];
extern const struct mp_AVCodecTag *mp_bmp_taglists[];
extern const struct mp_AVCodecTag * const mp_bmp_taglists[];
#endif /* MPLAYER_MP_TAGLISTS_H */

View File

@ -1,6 +1,23 @@
// only to get keycode definitions from HIToolbox/Events.h
/*
* This file is part of MPlayer.
*
* MPlayer is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* MPlayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "config.h"
// only to get keycode definitions from HIToolbox/Events.h
#include <Carbon/Carbon.h>
#include "osx_common.h"
#include "video_out.h"

View File

@ -337,7 +337,7 @@ static void uninit(void)
buffer_name = NULL;
}
static opt_t subopts[] = {
static const opt_t subopts[] = {
{"device_id", OPT_ARG_INT, &screen_id, NULL},
{"shared_buffer", OPT_ARG_BOOL, &shared_buffer, NULL},
{"buffer_name", OPT_ARG_MSTRZ,&buffer_name, NULL},
@ -594,58 +594,40 @@ static int control(uint32_t request, void *data)
[menuItem release];
}
- (void)set_winSizeMult:(float)mult
{
NSRect frame;
int d_width, d_height;
aspect(&d_width, &d_height, A_NOZOOM);
if (isFullscreen) {
vo_fs = !vo_fs;
[self fullscreen:NO];
}
winSizeMult = mult;
frame.size.width = d_width * mult;
frame.size.height = d_height * mult;
[window setContentSize: frame.size];
[self reshape];
}
/*
Menu Action
*/
- (void)menuAction:(id)sender
{
uint32_t d_width;
uint32_t d_height;
NSRect frame;
aspect((int *)&d_width, (int *)&d_height,A_NOZOOM);
if(sender == kQuitCmd)
{
mplayer_put_key(KEY_ESC);
}
if(sender == kHalfScreenCmd)
{
if(isFullscreen) {
vo_fs = (!(vo_fs)); [self fullscreen:NO];
}
winSizeMult = 0.5;
frame.size.width = d_width*winSizeMult;
frame.size.height = d_height*winSizeMult;
[window setContentSize: frame.size];
[self reshape];
}
[self set_winSizeMult: 0.5];
if(sender == kNormalScreenCmd)
{
if(isFullscreen) {
vo_fs = (!(vo_fs)); [self fullscreen:NO];
}
winSizeMult = 1;
frame.size.width = d_width;
frame.size.height = d_height;
[window setContentSize: frame.size];
[self reshape];
}
[self set_winSizeMult: 1];
if(sender == kDoubleScreenCmd)
{
if(isFullscreen) {
vo_fs = (!(vo_fs)); [self fullscreen:NO];
}
winSizeMult = 2;
frame.size.width = d_width*winSizeMult;
frame.size.height = d_height*winSizeMult;
[window setContentSize: frame.size];
[self reshape];
}
[self set_winSizeMult: 2];
if(sender == kFullScreenCmd)
{
vo_fs = (!(vo_fs));

View File

@ -5273,6 +5273,9 @@ struct exports exp_msvcr80[]={
FF(_initterm_e, -1)
FF(_initterm, -1)
FF(_decode_pointer, -1)
/* needed by KGV1-VFW.dll */
{"??2@YAPAXI@Z", -1, expnew},
{"??3@YAXPAX@Z", -1, expdelete}
};
struct exports exp_msvcp60[]={

View File

@ -2914,6 +2914,13 @@ int i;
print_version("MPlayer");
#if defined(__MINGW32__) || defined(__CYGWIN__)
{
HMODULE kernel32 = GetModuleHandle("Kernel32.dll");
BOOL WINAPI (*setDEP)(DWORD) = NULL;
if (kernel32)
setDEP = GetProcAddress(kernel32, "SetProcessDEPPolicy");
if (setDEP) setDEP(3);
}
// stop Windows from showing all kinds of annoying error dialogs
SetErrorMode(0x8003);
// request 1ms timer resolution