summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changelog12
-rw-r--r--DOCS/man/en/mplayer.14
-rw-r--r--DOCS/man/zh_CN/mplayer.16
-rw-r--r--DOCS/tech/codecs.conf.txt2
-rw-r--r--DOCS/xml/en/encoding-guide.xml8
-rw-r--r--DOCS/xml/en/install.xml12
-rw-r--r--cfg-common-opts.h2
-rw-r--r--codec-cfg.c35
-rw-r--r--command.c10
-rwxr-xr-xconfigure6
-rwxr-xr-xdebian/rules5
-rw-r--r--etc/codecs.conf17
-rw-r--r--fmt-conversion.c2
-rw-r--r--help/help_mp-zh_CN.h576
-rw-r--r--libao2/ao_alsa.c2
-rw-r--r--libao2/ao_coreaudio.c3
-rw-r--r--libao2/ao_sdl.c5
-rw-r--r--libmpcodecs/img_format.c2
-rw-r--r--libmpcodecs/img_format.h2
-rw-r--r--libmpcodecs/ve_x264.c4
-rw-r--r--libmpcodecs/vf_expand.c11
-rw-r--r--libmpcodecs/vf_scale.c2
-rw-r--r--libmpdemux/demux_lavf.c19
-rw-r--r--libmpdemux/demux_mf.c7
-rw-r--r--libmpdemux/demux_mkv.c5
-rw-r--r--libmpdemux/demux_pva.c2
-rw-r--r--libmpdemux/demux_rawaudio.c2
-rw-r--r--libmpdemux/demux_rtp.cpp8
-rw-r--r--libmpdemux/demux_rtp_codec.cpp8
-rw-r--r--libmpdemux/demux_ts.c7
-rw-r--r--libmpdemux/demuxer.c5
-rw-r--r--libmpdemux/matroska.h1
-rw-r--r--libmpdemux/mp_taglists.c1
-rw-r--r--libmpdemux/mpeg_hdr.c17
-rw-r--r--mencoder.c8
-rw-r--r--mp3lib/decode_mmx.c8
-rw-r--r--mpcommon.c2
-rw-r--r--mplayer.c10
-rw-r--r--stream/tv.h38
-rw-r--r--stream/tvi_vbi.c2
-rw-r--r--vobsub.c2
41 files changed, 472 insertions, 408 deletions
diff --git a/Changelog b/Changelog
index 7ced40d04e..59293eb0f6 100644
--- a/Changelog
+++ b/Changelog
@@ -1,5 +1,17 @@
MPlayer (1.0)
+ rc4: "Yes We Can"
+ Decoders:
+ * YUY2 Lossless Codec (YLC0) via binary DLL
+ * Truemotion RT codec (TR20) via binary DLL
+ * Nogantech Codec (NTN1 and NTN2) via binary DLL
+ * add new FourCCs (m1v1,HDMV), TwoCCs (0xA106,0x6c75), and formats (0x11005354)
+ to existing codecs.
+ * AMR now handled via opencore decoder
+
+ Demuxers:
+ * support for TrueHD in BluRay streams in libmpdemux
+
rc3: "BikeshedCounter" March 27, 2009
Decoders:
* support for X8 frames (fixes "J-type picture is not supported" for WMV2)
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index 0d8ac1a73a..dc7a65febd 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -7809,10 +7809,6 @@ Adaptive PCM formats \- see the HTML documentation for details.
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) \- using FAAC
.IPs libmp3lame
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
index 874548068e..7e2685146a 100644
--- a/DOCS/man/zh_CN/mplayer.1
+++ b/DOCS/man/zh_CN/mplayer.1
@@ -1,4 +1,4 @@
-.\" sync with en/mplayer.1 r29413
+.\" sync with en/mplayer.1 r29461
.\" Encoding: UTF-8
.\" Reminder of hard terms which need better/final solution later:
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
@@ -7360,10 +7360,6 @@ Dolby Digital(AC-3)
Free Lossless Audio Codec(FLAC,免费无损音频编解码器)
.IPs "g726\ "
G.726 ADPCM
-.IPs libamr_nb
-3GPP的自适应多码率(AMR)窄频段格式
-.IPs libamr_wb
-3GPP的自适应多码率(AMR)宽频段格式
.IPs libfaac
Advanced Audio Coding(AAC,高级音频编码)——使用FAAC
.IPs libmp3lame
diff --git a/DOCS/tech/codecs.conf.txt b/DOCS/tech/codecs.conf.txt
index 4a949d0fd5..bc24c73030 100644
--- a/DOCS/tech/codecs.conf.txt
+++ b/DOCS/tech/codecs.conf.txt
@@ -133,6 +133,8 @@ static, query. The flags are defined as follows:
Used for some very old DLLs like Indeo 3 and for some XAnim codecs like
cinepak. See dr-methods.txt for details on buffer types.
+The "in" keyword -- UNDOCUMENTED
+
Audio Codecs
------------
Here is an example of a rather full-featured audio codec block:
diff --git a/DOCS/xml/en/encoding-guide.xml b/DOCS/xml/en/encoding-guide.xml
index 706b34dbf5..1c7c5909c5 100644
--- a/DOCS/xml/en/encoding-guide.xml
+++ b/DOCS/xml/en/encoding-guide.xml
@@ -2622,14 +2622,6 @@ mencoder dvd://2 -o <replaceable>title2.avi</replaceable> -ovc lavc -lavcopts vc
<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) - using FAAC</entry>
</row>
diff --git a/DOCS/xml/en/install.xml b/DOCS/xml/en/install.xml
index 86afaaf65d..dd03e00377 100644
--- a/DOCS/xml/en/install.xml
+++ b/DOCS/xml/en/install.xml
@@ -448,14 +448,10 @@ make install
<title>AMR</title>
<para>
-Adaptive Multi-Rate speech codec is used in third generation (3G) mobile
-phones.
-Reference implementation is available from
-<ulink url="http://www.3gpp.org">The 3rd Generation Partnership Project</ulink>
-(free for private use).
-To enable support, download and install support libraries for
-<ulink url="http://www.penguin.cz/~utx/amr">AMR-NB and AMR-WB</ulink>
-following the instructions on that page. Recompile MPlayer afterwards.
+MPlayer can use the OpenCORE AMR libraries through FFmpeg.
+Download the libraries for AMR-NB and AMR-WB from the
+<ulink url="http://sourceforge.net/projects/opencore-amr/">opencore-amr</ulink>
+project and install them according to the instructions on that page.
</para>
</sect2>
diff --git a/cfg-common-opts.h b/cfg-common-opts.h
index a96ff40798..053a24b372 100644
--- a/cfg-common-opts.h
+++ b/cfg-common-opts.h
@@ -84,7 +84,7 @@
#ifdef CONFIG_LIBNEMESI
{"rtsp-stream-over-sctp", &rtsp_transport_sctp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
#else
- {"rtsp-stream-over-sctp", "-rtsp-stream-over-sctp requires the", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
+ {"rtsp-stream-over-sctp", "-rtsp-stream-over-sctp requires the \"libnemesi\" library\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
#endif /* CONFIG_LIBNEMESI */
#ifdef CONFIG_NETWORK
{"rtsp-port", &rtsp_port, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL},
diff --git a/codec-cfg.c b/codec-cfg.c
index db26866fbe..6e90c06fa8 100644
--- a/codec-cfg.c
+++ b/codec-cfg.c
@@ -141,10 +141,13 @@ static int add_to_format(char *s, char *alias,unsigned int *fourcc, unsigned int
return 1;
}
- static struct {
+ static const struct {
const char *name;
const unsigned int num;
} fmt_table[] = {
+ // note: due to parser deficiencies/simplicity, if one format
+ // name matches the beginning of another, the longer one _must_
+ // come first in this list.
{"YV12", IMGFMT_YV12},
{"I420", IMGFMT_I420},
{"IYUV", IMGFMT_IYUV},
@@ -162,20 +165,22 @@ static int add_to_format(char *s, char *alias,unsigned int *fourcc, unsigned int
{"UYVY", IMGFMT_UYVY},
{"YVYU", IMGFMT_YVYU},
- {"RGB4", IMGFMT_RGB|4},
- {"RGB8", IMGFMT_RGB|8},
- {"RGB15", IMGFMT_RGB|15},
- {"RGB16", IMGFMT_RGB|16},
- {"RGB24", IMGFMT_RGB|24},
- {"RGB32", IMGFMT_RGB|32},
- {"BGR4", IMGFMT_BGR|4},
- {"BGR8", IMGFMT_BGR|8},
- {"BGR15", IMGFMT_BGR|15},
- {"BGR16", IMGFMT_BGR|16},
- {"BGR24", IMGFMT_BGR|24},
- {"BGR32", IMGFMT_BGR|32},
- {"RGB1", IMGFMT_RGB|1},
- {"BGR1", IMGFMT_BGR|1},
+ {"RGB48LE", IMGFMT_RGB48LE},
+ {"RGB48BE", IMGFMT_RGB48BE},
+ {"RGB4", IMGFMT_RGB4},
+ {"RGB8", IMGFMT_RGB8},
+ {"RGB15", IMGFMT_RGB15},
+ {"RGB16", IMGFMT_RGB16},
+ {"RGB24", IMGFMT_RGB24},
+ {"RGB32", IMGFMT_RGB32},
+ {"BGR4", IMGFMT_BGR4},
+ {"BGR8", IMGFMT_BGR8},
+ {"BGR15", IMGFMT_BGR15},
+ {"BGR16", IMGFMT_BGR16},
+ {"BGR24", IMGFMT_BGR24},
+ {"BGR32", IMGFMT_BGR32},
+ {"RGB1", IMGFMT_RGB1},
+ {"BGR1", IMGFMT_BGR1},
{"MPES", IMGFMT_MPEGPES},
{"ZRMJPEGNI", IMGFMT_ZRMJPEGNI},
diff --git a/command.c b/command.c
index bbe9300e5e..67b3ac16f4 100644
--- a/command.c
+++ b/command.c
@@ -32,28 +32,18 @@
#include "spudec.h"
#include "get_path.h"
#include "ass_mp.h"
-#ifdef CONFIG_TV
#include "stream/tv.h"
-#endif
-#ifdef CONFIG_RADIO
#include "stream/stream_radio.h"
-#endif
-#ifdef CONFIG_PVR
#include "stream/pvr.h"
-#endif
#ifdef CONFIG_DVBIN
#include "stream/dvbin.h"
#endif
#ifdef CONFIG_DVDREAD
#include "stream/stream_dvd.h"
#endif
-#ifdef CONFIG_DVDNAV
#include "stream/stream_dvdnav.h"
-#endif
-#ifdef CONFIG_MENU
#include "m_struct.h"
#include "libmenu/menu.h"
-#endif
#include "mp_core.h"
#include "mp_fifo.h"
diff --git a/configure b/configure
index c4ee96feea..424ab36d77 100755
--- a/configure
+++ b/configure
@@ -2755,8 +2755,9 @@ language_man=$tmp_language_man
test -z "$language_man" && language_man=en
for lang in $language_msg ; do
- test -f "help/help_mp-${lang}.h" && language_msg=$lang && break
+ test -f "help/help_mp-${lang}.h" && tmp_language_msg=$lang && break
done
+language_msg=$tmp_language_msg
test -z "$language_msg" && language_msg=en
_mp_help="help/help_mp-${language_msg}.h"
echores "messages: $language_msg - man pages: $language_man - documentation: $language_doc"
@@ -7379,7 +7380,7 @@ if test "$_pvr" = auto ; then
#include <inttypes.h>
#include <linux/types.h>
#include <linux/videodev2.h>
-int main(void) { struct v4l2_ext_controls ext; return 0; }
+int main(void) { struct v4l2_ext_controls ext; return ext.controls->value; }
EOF
cc_check && _pvr=yes
fi
@@ -7940,6 +7941,7 @@ CONFIG_XVMC=$_xvmc
CONFIG_ZLIB=$_zlib
HAVE_PTHREADS = $_pthreads
+HAVE_SHM = $_shm
HAVE_W32THREADS = $_w32threads
HAVE_YASM = $_have_yasm
diff --git a/debian/rules b/debian/rules
index c486af5dff..17c06b0621 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,6 +10,9 @@ prefix := $(shell pwd)/debian/$(package)
arch := $(shell dpkg --print-architecture)
+# See http://wiki.debian.org/Teams/Dpkg/DebianRules; #465282 and
+# https://wiki.ubuntu.com/DistCompilerFlags
+CLEAN_ENV=env -u CFLAGS -u CPPFLAGS -u LDFLAGS -u FFLAGS -u CXXFLAGS
configure: configure-stamp
configure-stamp:
@@ -19,6 +22,7 @@ configure-stamp:
# If you plan to install the target .deb on a wide variety of machines,
# you may want to add the "--enable-runtime-cpudetection" option to
# the line below, but beware: the resulting binary will run slower
+ $(CLEAN_ENV) \
./configure --prefix=/usr --confdir=/etc/mplayer $(DEB_BUILD_OPTIONS)
touch configure-stamp
@@ -28,6 +32,7 @@ build-stamp:
dh_testdir
# commands to compile the package.
+ $(CLEAN_ENV) \
${MAKE}
touch build-stamp
diff --git a/etc/codecs.conf b/etc/codecs.conf
index 103955c322..530630beff 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -338,6 +338,14 @@ videocodec ffbmp
dll bmp
out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
+videocodec ffdpx
+ info "FFmpeg DPX"
+ status working
+ fourcc "dpx " ; "dpx " is an internal MPlayer FOURCC
+ driver ffmpeg
+ dll dpx
+ out RGB48BE,RGB48LE
+
videocodec ffgif
info "FFmpeg GIF"
status working
@@ -369,7 +377,7 @@ videocodec ffpng
fourcc "png " ; for PNG-encoded QuickTime files
driver ffmpeg
dll png
- out BGR32,BGR24,BGR8,Y800,RGB32,RGB24,RGB8
+ out BGR32,BGR24,BGR8,Y800,RGB48BE,RGB32,RGB24,RGB8
videocodec mpng
info "PNG image"
@@ -3548,6 +3556,13 @@ audiocodec ffmlp
driver ffmpeg
dll "mlp"
+audiocodec fftruehd
+ info "FFmpeg TrueHD"
+ status working
+ fourcc TRHD ; internal MPlayer FourCC
+ driver ffmpeg
+ dll "truehd"
+
audiocodec ffnellymoser
info "FFmpeg Nellymoser Audio"
status working
diff --git a/fmt-conversion.c b/fmt-conversion.c
index bcfb56a415..05179d1b29 100644
--- a/fmt-conversion.c
+++ b/fmt-conversion.c
@@ -35,6 +35,8 @@ static const struct {
{IMGFMT_RGB1, PIX_FMT_MONOBLACK},
{IMGFMT_RG4B, PIX_FMT_BGR4_BYTE},
{IMGFMT_BG4B, PIX_FMT_RGB4_BYTE},
+ {IMGFMT_RGB48LE, PIX_FMT_RGB48LE},
+ {IMGFMT_RGB48BE, PIX_FMT_RGB48BE},
{IMGFMT_RGB32, PIX_FMT_BGR32},
{IMGFMT_RGB24, PIX_FMT_RGB24},
{IMGFMT_RGB16, PIX_FMT_BGR565},
diff --git a/help/help_mp-zh_CN.h b/help/help_mp-zh_CN.h
index 263f3668aa..8fc43fd1e9 100644
--- a/help/help_mp-zh_CN.h
+++ b/help/help_mp-zh_CN.h
@@ -1,4 +1,4 @@
-// Synced with help_mp-en.h r29209 (MSGTR_SaveSlotTooOld)
+// Synced with help_mp-en.h r29209 (MSGTR_LIBVO_VESA_YouShouldSee5OemRelatedLines)
// Reminder of hard terms which need better/final solution later:
// (file links to be updated later if available!);
// NAV; section/subsection; XScreenSaver; keycolor;
@@ -500,26 +500,26 @@ static const char help_text[]=
#define MSGTR_NoFileGiven "没有给出文件\n"
// m_config.c
-#define MSGTR_SaveSlotTooOld "保存从 lvl %d 里找到的 slot 太旧: %d !!!\n"
+#define MSGTR_SaveSlotTooOld "第 %d 级里找到的保存位置太旧:%d!!!\n"
#define MSGTR_InvalidCfgfileOption "选项 %s 不能在配置文件里使用。\n"
#define MSGTR_InvalidCmdlineOption "选项 %s 不能在命令行里使用。\n"
-#define MSGTR_InvalidSuboption "错误: 选项 '%s' 没有子选项 '%s'。\n"
-#define MSGTR_MissingSuboptionParameter "错误: 子选项 '%s' (属于选项 '%s') 必须要有一个参数!\n"
-#define MSGTR_MissingOptionParameter "错误: 选项 '%s' 必须要有一个参数!\n"
+#define MSGTR_InvalidSuboption "错误:选项‘%s’没有子选项‘%s’。\n"
+#define MSGTR_MissingSuboptionParameter "错误:子选项‘%s’(属于选项‘%s’)必须要有一个参数!\n"
+#define MSGTR_MissingOptionParameter "错误:选项‘%s’必须要有一个参数!\n"
#define MSGTR_OptionListHeader "\n 名字 类型 最小 最大 全局 命令行 配置文件\n\n"
-#define MSGTR_TotalOptions "\n总共: %d 个选项\n"
-#define MSGTR_ProfileInclusionTooDeep "警告: 配置轮廓(Profile)引用太深。\n"
-#define MSGTR_NoProfileDefined "没有定义配置轮廓(Profile)。\n"
-#define MSGTR_AvailableProfiles "可用的配置轮廓(Profile):\n"
-#define MSGTR_UnknownProfile "未知的配置轮廓(Profile) '%s'。\n"
-#define MSGTR_Profile "配置轮廓(Profile) %s: %s\n"
+#define MSGTR_TotalOptions "\n总共:%d 个选项\n"
+#define MSGTR_ProfileInclusionTooDeep "警告:配置集相互套用的层次太深。\n"
+#define MSGTR_NoProfileDefined "未定义配置集。\n"
+#define MSGTR_AvailableProfiles "可用的配置集:\n"
+#define MSGTR_UnknownProfile "未知配置集‘%s’。\n"
+#define MSGTR_Profile "配置集 %s:%s\n"
// m_property.c
#define MSGTR_PropertyListHeader "\n 名称 类型 最小 最大\n\n"
-#define MSGTR_TotalProperties "\n总计: %d 条属性\n"
+#define MSGTR_TotalProperties "\n总计:%d 个属性\n"
// loader/ldt_keeper.c
-#define MSGTR_LOADER_DYLD_Warning "警告: 尝试使用 DLL 编解码器, 但是环境变量\n DYLD_BIND_AT_LAUNCH 未设定。 这很可能造成程序崩溃。\n"
+#define MSGTR_LOADER_DYLD_Warning "警告:尝试使用 DLL 编解码器,但是环境变量\n DYLD_BIND_AT_LAUNCH 未设定。 这很可能造成程序崩溃。\n"
// ====================== GUI messages/buttons ========================
@@ -534,16 +534,16 @@ static const char help_text[]=
#define MSGTR_PlayList "播放列表"
#define MSGTR_Equalizer "均衡器"
#define MSGTR_ConfigureEqualizer "配置均衡器"
-#define MSGTR_SkinBrowser "皮肤浏览器"
-#define MSGTR_Network "网络流媒体..."
+#define MSGTR_SkinBrowser "界面外观配置浏览器"
+#define MSGTR_Network "正传送网络媒体流..."
// Note: If you change MSGTR_Preferences please see if it still fits MSGTR_MENU_Preferences
#define MSGTR_Preferences "首选项"
#define MSGTR_AudioPreferences "音频驱动配置"
-#define MSGTR_NoMediaOpened "没有打开媒体"
-#define MSGTR_VCDTrack "VCD 轨迹 %d"
-#define MSGTR_NoChapter "没有章节"
+#define MSGTR_NoMediaOpened "未打开媒体内容"
+#define MSGTR_VCDTrack "VCD 数据轨道 %d"
+#define MSGTR_NoChapter "无章节"
#define MSGTR_Chapter "章节 %d"
-#define MSGTR_NoFileLoaded "没有载入文件"
+#define MSGTR_NoFileLoaded "未载入文件"
// --- buttons ---
#define MSGTR_Ok "确定"
@@ -552,41 +552,41 @@ static const char help_text[]=
#define MSGTR_Remove "删除"
#define MSGTR_Clear "清空"
#define MSGTR_Config "配置"
-#define MSGTR_ConfigDriver "配置驱动"
+#define MSGTR_ConfigDriver "配置驱动程序"
#define MSGTR_Browse "浏览"
// --- error messages ---
-#define MSGTR_NEMDB "抱歉, 没有足够的内存用于绘制缓冲。"
-#define MSGTR_NEMFMR "抱歉, 没有足够的内存用于菜单渲染。"
-#define MSGTR_IDFGCVD "抱歉, 未找到 GUI-兼容的视频输出驱动。"
-#define MSGTR_NEEDLAVC "抱歉, 不能用没有重编码的 DXR3/H+ 设备播放 non-MPEG 文件\n请启用 DXR3/H+ 配置盒中的 lavc。"
-#define MSGTR_UNKNOWNWINDOWTYPE "发现未知窗口类型 ..."
+#define MSGTR_NEMDB "抱歉,没有足够的内存用作绘图缓冲。"
+#define MSGTR_NEMFMR "抱歉,没有足够的内存用于菜单渲染。"
+#define MSGTR_IDFGCVD "抱歉,未找到与 GUI 兼容的视频输出驱动。"
+#define MSGTR_NEEDLAVC "抱歉,未重新编码前不能用你的 DXR3/H+ 设备播放非 MPEG 文件。\n请启用 DXR3/H+ 配置盒中的 lavc 编解码器。"
+#define MSGTR_UNKNOWNWINDOWTYPE "发现未知窗口类型..."
// --- skin loader error messages
-#define MSGTR_SKIN_ERRORMESSAGE "[skin] 皮肤配置文件的 %d: %s行出错"
-#define MSGTR_SKIN_WARNING1 "[skin] 警告: 在配置文件的 %d行:\n找到组件 (%s) 但在这之前没有找到 \"section\""
-#define MSGTR_SKIN_WARNING2 "[skin] 警告: 在配置文件的 %d行:\n找到组件 (%s) 但在这之前没有找到 \"subsection\""
-#define MSGTR_SKIN_WARNING3 "[skin] 警告: 在配置文件的 %d行:\n组件 (%s) 不支持此 subsection"
-#define MSGTR_SKIN_SkinFileNotFound "[skin] 文件 (%s) 没找到。\n"
-#define MSGTR_SKIN_SkinFileNotReadable "[skin] 文件 (%s) 不可读。\n"
-#define MSGTR_SKIN_BITMAP_16bit "不支持少于 16 比特色深的位图 (%s)。\n"
-#define MSGTR_SKIN_BITMAP_FileNotFound "找不到文件 (%s)\n"
-#define MSGTR_SKIN_BITMAP_BMPReadError "BMP 读取错误 (%s)\n"
-#define MSGTR_SKIN_BITMAP_TGAReadError "TGA 读取错误 (%s)\n"
-#define MSGTR_SKIN_BITMAP_PNGReadError "PNG 读取错误 (%s)\n"
-#define MSGTR_SKIN_BITMAP_RLENotSupported "不支持 RLE 格式压缩的 TGA (%s)\n"
-#define MSGTR_SKIN_BITMAP_UnknownFileType "未知的文件格式 (%s)\n"
-#define MSGTR_SKIN_BITMAP_ConversionError "24 比特到 32 比特的转换发生错误 (%s)\n"
-#define MSGTR_SKIN_BITMAP_UnknownMessage "未知信息: %s\n"
+#define MSGTR_SKIN_ERRORMESSAGE "[界面外观] 界面外观配置文件错误,行 %d:%s"
+#define MSGTR_SKIN_WARNING1 "[界面外观] 警告:配置文件行 %d:\n找到组件(%s),但在其之前没有找到“section”的内容"
+#define MSGTR_SKIN_WARNING2 "[界面外观] 警告: 配置文件行 %d:\n找到组件(%s),但在其之前没有找到“subsection”的内容"
+#define MSGTR_SKIN_WARNING3 "[界面外观] 警告: 配置文件行 %d:\n组件(%s)不支持该 subsection"
+#define MSGTR_SKIN_SkinFileNotFound "[界面外观] 未找到文件(%s)。\n"
+#define MSGTR_SKIN_SkinFileNotReadable "[界面外观] 无法读取文件(%s)。\n"
+#define MSGTR_SKIN_BITMAP_16bit "不支持少于或等于 16 比特颜色精度的位图(%s)。\n"
+#define MSGTR_SKIN_BITMAP_FileNotFound "未找到文件(%s)\n"
+#define MSGTR_SKIN_BITMAP_BMPReadError "BMP 读取错误(%s)\n"
+#define MSGTR_SKIN_BITMAP_TGAReadError "TGA 读取错误(%s)\n"
+#define MSGTR_SKIN_BITMAP_PNGReadError "PNG 读取错误(%s)\n"
+#define MSGTR_SKIN_BITMAP_RLENotSupported "不支持 RLE 方式压缩的 TGA(%s)\n"
+#define MSGTR_SKIN_BITMAP_UnknownFileType "未知文件类型(%s)\n"
+#define MSGTR_SKIN_BITMAP_ConversionError "24 比特至 32 比特转换出错(%s)\n"
+#define MSGTR_SKIN_BITMAP_UnknownMessage "未知信息:%s\n"
#define MSGTR_SKIN_FONT_NotEnoughtMemory "内存不够\n"
-#define MSGTR_SKIN_FONT_TooManyFontsDeclared "声明字体太多。\n"
+#define MSGTR_SKIN_FONT_TooManyFontsDeclared "声明了太多的字体。\n"
#define MSGTR_SKIN_FONT_FontFileNotFound "找不到字体文件。\n"
#define MSGTR_SKIN_FONT_FontImageNotFound "找不到字体图像文件。\n"
-#define MSGTR_SKIN_FONT_NonExistentFontID "不存在的字体标签 (%s)\n"
-#define MSGTR_SKIN_UnknownParameter "未知参数 (%s)\n"
-#define MSGTR_SKIN_SKINCFG_SkinNotFound "找不到皮肤 (%s)。\n"
-#define MSGTR_SKIN_SKINCFG_SelectedSkinNotFound "没找到选定的皮肤 (%s), 试着使用默认的...\n"
-#define MSGTR_SKIN_SKINCFG_SkinCfgReadError "皮肤配置文件 (%s) 读取错误。\n"
+#define MSGTR_SKIN_FONT_NonExistentFontID "不存在的字体标识符(%s)\n"
+#define MSGTR_SKIN_UnknownParameter "未知参数(%s)\n"
+#define MSGTR_SKIN_SKINCFG_SkinNotFound "找不到界面外观(%s)。\n"
+#define MSGTR_SKIN_SKINCFG_SelectedSkinNotFound "未找到选定的界面外观(%s),尝试使用‘default’参数...\n"
+#define MSGTR_SKIN_SKINCFG_SkinCfgReadError "界面外观配置文件(%s)读取错误。\n"
#define MSGTR_SKIN_LABEL "Skins:"
// --- GTK menus
@@ -595,7 +595,7 @@ static const char help_text[]=
#define MSGTR_MENU_PlayFile "播放文件..."
#define MSGTR_MENU_PlayVCD "播放 VCD..."
#define MSGTR_MENU_PlayDVD "播放 DVD..."
-#define MSGTR_MENU_PlayURL "播放 URL..."
+#define MSGTR_MENU_PlayURL "播放网络链接..."
#define MSGTR_MENU_LoadSubtitle "加载字幕..."
#define MSGTR_MENU_DropSubtitle "丢弃字幕..."
#define MSGTR_MENU_LoadExternAudioFile "加载外部音频文件..."
@@ -612,17 +612,17 @@ static const char help_text[]=
#define MSGTR_MENU_FullScreen "全屏"
#define MSGTR_MENU_DVD "DVD"
#define MSGTR_MENU_VCD "VCD"
-#define MSGTR_MENU_PlayDisc "打开盘..."
+#define MSGTR_MENU_PlayDisc "打开光盘..."
#define MSGTR_MENU_ShowDVDMenu "显示 DVD 菜单"
-#define MSGTR_MENU_Titles "标题"
+#define MSGTR_MENU_Titles "所有标题"
#define MSGTR_MENU_Title "标题 %2d"
-#define MSGTR_MENU_None "(none)"
-#define MSGTR_MENU_Chapters "章节"
+#define MSGTR_MENU_None "(无)"
+#define MSGTR_MENU_Chapters "所有章节"
#define MSGTR_MENU_Chapter "章节 %2d"
#define MSGTR_MENU_AudioLanguages "音频语言"
#define MSGTR_MENU_SubtitleLanguages "字幕语言"
#define MSGTR_MENU_PlayList MSGTR_PlayList
-#define MSGTR_MENU_SkinBrowser "皮肤浏览器"
+#define MSGTR_MENU_SkinBrowser "界面外观配置浏览器"
#define MSGTR_MENU_Preferences MSGTR_Preferences
#define MSGTR_MENU_Exit "退出..."
#define MSGTR_MENU_Mute "静音"
@@ -638,23 +638,23 @@ static const char help_text[]=
#define MSGTR_EQU_Audio "音频"
// Note: If you change MSGTR_EQU_Video please see if it still fits MSGTR_PREFERENCES_Video
#define MSGTR_EQU_Video "视频"
-#define MSGTR_EQU_Contrast "对比度: "
-#define MSGTR_EQU_Brightness "亮度: "
-#define MSGTR_EQU_Hue "色调: "
-#define MSGTR_EQU_Saturation "饱和度: "
+#define MSGTR_EQU_Contrast "对比度:"
+#define MSGTR_EQU_Brightness "亮度:"
+#define MSGTR_EQU_Hue "色调:"
+#define MSGTR_EQU_Saturation "饱和度:"
#define MSGTR_EQU_Front_Left "前左"
#define MSGTR_EQU_Front_Right "前右"
#define MSGTR_EQU_Back_Left "后左"
#define MSGTR_EQU_Back_Right "后右"
-#define MSGTR_EQU_Center "中间"
-#define MSGTR_EQU_Bass "低音"
+#define MSGTR_EQU_Center "中置"
+#define MSGTR_EQU_Bass "低音炮"
#define MSGTR_EQU_All "所有"
-#define MSGTR_EQU_Channel1 "声道 1:"
-#define MSGTR_EQU_Channel2 "声道 2:"
-#define MSGTR_EQU_Channel3 "声道 3:"
-#define MSGTR_EQU_Channel4 "声道 4:"
-#define MSGTR_EQU_Channel5 "声道 5:"
-#define MSGTR_EQU_Channel6 "声道 6:"
+#define MSGTR_EQU_Channel1 "声道 1:"
+#define MSGTR_EQU_Channel2 "声道 2:"
+#define MSGTR_EQU_Channel3 "声道 3:"
+#define MSGTR_EQU_Channel4 "声道 4:"
+#define MSGTR_EQU_Channel5 "声道 5:"
+#define MSGTR_EQU_Channel6 "声道 6:"
// --- playlist
#define MSGTR_PLAYLIST_Path "路径"
@@ -665,63 +665,63 @@ static const char help_text[]=
// --- preferences
#define MSGTR_PREFERENCES_Audio MSGTR_EQU_Audio
#define MSGTR_PREFERENCES_Video MSGTR_EQU_Video
-#define MSGTR_PREFERENCES_SubtitleOSD "字幕和 OSD "
-#define MSGTR_PREFERENCES_Codecs "编解码器和分路器"
+#define MSGTR_PREFERENCES_SubtitleOSD "字幕和 OSD 菜单"
+#define MSGTR_PREFERENCES_Codecs "编解码器和流分离器"
// Note: If you change MSGTR_PREFERENCES_Misc see if it still fits MSGTR_PREFERENCES_FRAME_Misc
-#define MSGTR_PREFERENCES_Misc "其他"
-#define MSGTR_PREFERENCES_None "None"
-#define MSGTR_PREFERENCES_DriverDefault "默认驱动"
-#define MSGTR_PREFERENCES_AvailableDrivers "可用驱动:"
+#define MSGTR_PREFERENCES_Misc "杂项"
+#define MSGTR_PREFERENCES_None "无"
+#define MSGTR_PREFERENCES_DriverDefault "驱动程序默认配置"
+#define MSGTR_PREFERENCES_AvailableDrivers "可用驱动:"
#define MSGTR_PREFERENCES_DoNotPlaySound "不播放声音"
-#define MSGTR_PREFERENCES_NormalizeSound "声音标准化"
+#define MSGTR_PREFERENCES_NormalizeSound "音量规格化"
#define MSGTR_PREFERENCES_EnableEqualizer "启用均衡器"
#define MSGTR_PREFERENCES_SoftwareMixer "启用软件混音器"
#define MSGTR_PREFERENCES_ExtraStereo "启用立体声加强"
-#define MSGTR_PREFERENCES_Coefficient "参数:"
+#define MSGTR_PREFERENCES_Coefficient "参数:"
#define MSGTR_PREFERENCES_AudioDelay "音频延迟"
#define MSGTR_PREFERENCES_DoubleBuffer "启用双重缓冲"
#define MSGTR_PREFERENCES_DirectRender "启用直接渲染"
#define MSGTR_PREFERENCES_FrameDrop "启用丢帧"
-#define MSGTR_PREFERENCES_HFrameDrop "启用强制丢帧(危险)"
+#define MSGTR_PREFERENCES_HFrameDrop "启用强制丢帧(危险)"
#define MSGTR_PREFERENCES_Flip "上下翻转图像"
-#define MSGTR_PREFERENCES_Panscan "摇移: "
-#define MSGTR_PREFERENCES_OSDTimer "显示计时器和指示器"
+#define MSGTR_PREFERENCES_Panscan "全景模式:"
+#define MSGTR_PREFERENCES_OSDTimer "计时器和指示器"
#define MSGTR_PREFERENCES_OSDProgress "只显示进度条"
-#define MSGTR_PREFERENCES_OSDTimerPercentageTotalTime "计时器, 百分比和总时间"
-#define MSGTR_PREFERENCES_Subtitle "字幕:"
-#define MSGTR_PREFERENCES_SUB_Delay "延迟: "
-#define MSGTR_PREFERENCES_SUB_FPS "帧率:"
-#define MSGTR_PREFERENCES_SUB_POS "位置: "
-#define MSGTR_PREFERENCES_SUB_AutoLoad "停用字幕自动装载"
+#define MSGTR_PREFERENCES_OSDTimerPercentageTotalTime "计时器,已播放百分比和总时间"
+#define MSGTR_PREFERENCES_Subtitle "字幕:"
+#define MSGTR_PREFERENCES_SUB_Delay "延迟:"
+#define MSGTR_PREFERENCES_SUB_FPS "帧率:"
+#define MSGTR_PREFERENCES_SUB_POS "位置:"
+#define MSGTR_PREFERENCES_SUB_AutoLoad "禁止自动装载字幕"
#define MSGTR_PREFERENCES_SUB_Unicode "Unicode 字幕"
-#define MSGTR_PREFERENCES_SUB_MPSUB "转换给定的字幕成为 MPlayer 的字幕文件"
-#define MSGTR_PREFERENCES_SUB_SRT "转换给定的字幕成为基于时间的 SubViewer (SRT) 格式"
-#define MSGTR_PREFERENCES_SUB_Overlap "启/停用字幕重叠"
-#define MSGTR_PREFERENCES_SUB_USE_ASS "SSA/ASS 字幕提供中"
-#define MSGTR_PREFERENCES_SUB_ASS_USE_MARGINS "使用边空白"
-#define MSGTR_PREFERENCES_SUB_ASS_TOP_MARGIN "上: "
-#define MSGTR_PREFERENCES_SUB_ASS_BOTTOM_MARGIN "下: "
-#define MSGTR_PREFERENCES_Font "字体:"
-#define MSGTR_PREFERENCES_FontFactor "字体效果:"
+#define MSGTR_PREFERENCES_SUB_MPSUB "转换给定的字幕为 MPlayer 字幕格式"
+#define MSGTR_PREFERENCES_SUB_SRT "转换给定的字幕为基于时间戳的 SubViewer (SRT) 格式"
+#define MSGTR_PREFERENCES_SUB_Overlap "开关字幕重叠模式"
+#define MSGTR_PREFERENCES_SUB_USE_ASS "渲染 SSA/ASS 字幕"
+#define MSGTR_PREFERENCES_SUB_ASS_USE_MARGINS "使用留边"
+#define MSGTR_PREFERENCES_SUB_ASS_TOP_MARGIN "底部:"
+#define MSGTR_PREFERENCES_SUB_ASS_BOTTOM_MARGIN "底部:"
+#define MSGTR_PREFERENCES_Font "字体:"
+#define MSGTR_PREFERENCES_FontFactor "字体参数:"
#define MSGTR_PREFERENCES_PostProcess "启用后期处理"
-#define MSGTR_PREFERENCES_AutoQuality "自动品质控制: "
+#define MSGTR_PREFERENCES_AutoQuality "自动控制质量:"
#define MSGTR_PREFERENCES_NI "使用非交错的 AVI 解析器"
-#define MSGTR_PREFERENCES_IDX "如果需要的话, 重建索引表"
-#define MSGTR_PREFERENCES_VideoCodecFamily "视频解码器族:"
-#define MSGTR_PREFERENCES_AudioCodecFamily "音频解码器族:"
+#define MSGTR_PREFERENCES_IDX "如果需要的话,重建索引表"
+#define MSGTR_PREFERENCES_VideoCodecFamily "视频编解码器族:"
+#define MSGTR_PREFERENCES_AudioCodecFamily "音频编解码器族:"
#define MSGTR_PREFERENCES_FRAME_OSD_Level "OSD 级别"
#define MSGTR_PREFERENCES_FRAME_Subtitle "字幕"
#define MSGTR_PREFERENCES_FRAME_Font "字体"
#define MSGTR_PREFERENCES_FRAME_PostProcess "后期处理"
-#define MSGTR_PREFERENCES_FRAME_CodecDemuxer "编解码