1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-25 04:38:01 +00:00

Merge svn changes up to r29971

This commit is contained in:
Uoti Urpala 2009-11-29 06:11:02 +02:00
commit ed333bb31d
8 changed files with 58 additions and 53 deletions

View File

@ -139,11 +139,9 @@ Enhancements:
* make -noborder work with all video outputs
* add option to use ffmpeg network code (rtsp, http, mms etc)
Difficult stuff:
* RE all closed source codecs (QDMC, WMA9, Indeo 4/5, ...)
* RE all closed source codecs (Voxware, VIVO, MVI2, MSS1/MSS2, Indeo 4/5, ...)
* support for Bink codec

View File

@ -3929,6 +3929,7 @@ audiocodec ffac3
format 0x2000
format 0x332D6361 ; ac-3 in mp4
format 0x332D4341
format 0x20736D ; "ms\20" older ac3 fcc (MOV files)
fourcc dnet
fourcc sac3
driver ffmpeg

View File

@ -91,6 +91,10 @@
# Fixes playback when playlist and media file use the same URL.
#user-agent=NSPlayer/4.1.0.3856
# Pretend to be Quicktime
# Fixes playback for apple.com/trailers redirects
#user-agent="QuickTime/7.1.3 (qtver=7.1.3;cpu=PPC;os=Mac 10.4.8)"
# Drop frames to preserve audio/video sync.
#framedrop = yes

View File

@ -1,4 +1,4 @@
// Synced with help_mp-en.h r29912 (MSGTR_UsingNINI)
// Synced with help_mp-en.h r29912 (MSGTR_MPDEMUX_ASFHDR_HeaderSizeOver1MB)
// Reminder of hard terms which need better/final solution later:
// (file links to be updated later if available!);
// NAV; section/subsection; XScreenSaver; keycolor;
@ -148,9 +148,9 @@ static const char help_text[]=
#define MSGTR_LoadingExtensionProfile "加载扩展组件相关的配置集‘%s\n"
#define MSGTR_AddedSubtitleFile "字幕:添加字幕文件(%d%s\n"
#define MSGTR_RemovedSubtitleFile "字幕:移除字幕文件(%d %s\n"
#define MSGTR_ErrorOpeningOutputFile "以写入方式打开文件 [%s] 失败\n"
#define MSGTR_ErrorOpeningOutputFile "未能以写入方式打开文件 [%s]\n"
#define MSGTR_CommandLine "命令行:"
#define MSGTR_RTCDeviceNotOpenable "打开 %s 失败%s用户应当有权限读取该设备。\n"
#define MSGTR_RTCDeviceNotOpenable "未能打开 %s%s用户应当有权限读取该设备。\n"
#define MSGTR_LinuxRTCInitErrorIrqpSet "ioctl (rtc_irqp_set %lu) 中出现 Linux RTC 初始化错误:%s\n"
#define MSGTR_IncreaseRTCMaxUserFreq "尝试添加 \"echo %lu > /proc/sys/dev/rtc/max-user-freq\" 到你的系统启动脚本中。\n"
#define MSGTR_LinuxRTCInitErrorPieOn "ioctl (rtc_pie_on) 中出现 Linux RTC 初始化错误:%s\n"
@ -259,7 +259,7 @@ static const char help_text[]=
#define MSGTR_NoAudioEncoderSelected "\n没有选择音频编码器-oac。请选择一个编码器参见 -oac help或者使用 -nosound。\n"
#define MSGTR_NoVideoEncoderSelected "\n没有选择视频编码器-ovc。请选择一个编码器参见 -ovc help。\n"
#define MSGTR_CannotOpenOutputFile "无法打开输出文件‘%s。\n"
#define MSGTR_EncoderOpenFailed "打开编码器失败。\n"
#define MSGTR_EncoderOpenFailed "未能打开编码器。\n"
#define MSGTR_MencoderWrongFormatAVI "\n警告输出文件格式是 _AVI_。参见 -of help。\n"
#define MSGTR_MencoderWrongFormatMPG "\n警告输出文件格式是 _MPEG_。参见 -of help。\n"
#define MSGTR_MissingOutputFilename "没有指定输出文件,请参见 -o 选项。"
@ -889,7 +889,7 @@ static const char help_text[]=
#define MSGTR_LIBVO_DXR3_UnableToAllocateKeycolor "[VO_DXR3] 无法分配关键色!\n"
#define MSGTR_LIBVO_DXR3_UnableToAllocateExactKeycolor "[VO_DXR3] 无法精确分配关键色使用最接近的匹配0x%lx。\n"
#define MSGTR_LIBVO_DXR3_Uninitializing "[VO_DXR3] 正在逆初始化。\n"
#define MSGTR_LIBVO_DXR3_FailedRestoringTVNorm "[VO_DXR3] 恢复电视制式失败\n"
#define MSGTR_LIBVO_DXR3_FailedRestoringTVNorm "[VO_DXR3] 未能恢复电视制式!\n"
#define MSGTR_LIBVO_DXR3_EnablingPrebuffering "[VO_DXR3] 启用预缓冲模式。\n"
#define MSGTR_LIBVO_DXR3_UsingNewSyncEngine "[VO_DXR3] 使用新的同步引擎。\n"
#define MSGTR_LIBVO_DXR3_UsingOverlay "[VO_DXR3] 使用覆盖模式。\n"
@ -908,18 +908,18 @@ static const char help_text[]=
#define MSGTR_LIBVO_DXR3_ErrorOpeningForWritingAsWellSP "[VO_DXR3] 打开 /dev/em8300_sp 以写入同样错误!\n跳出。\n"
#define MSGTR_LIBVO_DXR3_UnableToOpenDisplayDuringHackSetup "[VO_DXR3] 设置覆盖模式破解方式时无法打开显示设备!\n"
#define MSGTR_LIBVO_DXR3_UnableToInitX11 "[VO_DXR3] 无法初始化 X11\n"
#define MSGTR_LIBVO_DXR3_FailedSettingOverlayAttribute "[VO_DXR3] 设置覆盖模式属性失败。\n"
#define MSGTR_LIBVO_DXR3_FailedSettingOverlayScreen "[VO_DXR3] 设置覆盖屏幕失败\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedEnablingOverlay "[VO_DXR3] 启用覆盖模式失败\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedSettingOverlayBcs "[VO_DXR3] 设置覆盖模式 bcs 失败\n"
#define MSGTR_LIBVO_DXR3_FailedGettingOverlayYOffsetValues "[VO_DXR3] 获取覆盖模式的 Y-偏移量失败\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedGettingOverlayXOffsetValues "[VO_DXR3] 获取覆盖模式的 X-偏移量失败\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedGettingOverlayXScaleCorrection "[VO_DXR3] 获取覆盖模式的 X-比例校正失败\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedSettingOverlayAttribute "[VO_DXR3] 未能设置覆盖模式属性。\n"
#define MSGTR_LIBVO_DXR3_FailedSettingOverlayScreen "[VO_DXR3] 未能设置覆盖屏幕!\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedEnablingOverlay "[VO_DXR3] 未能启用覆盖模式!\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedSettingOverlayBcs "[VO_DXR3] 未能设置覆盖模式 bcs\n"
#define MSGTR_LIBVO_DXR3_FailedGettingOverlayYOffsetValues "[VO_DXR3] 未能获取覆盖模式的 Y-偏移量!\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedGettingOverlayXOffsetValues "[VO_DXR3] 未能获取覆盖模式的 X-偏移量!\n退出。\n"
#define MSGTR_LIBVO_DXR3_FailedGettingOverlayXScaleCorrection "[VO_DXR3] 未能获取覆盖模式的 X-比例校正!\n退出。\n"
#define MSGTR_LIBVO_DXR3_YOffset "[VO_DXR3] Y-偏移量:%d。\n"
#define MSGTR_LIBVO_DXR3_XOffset "[VO_DXR3] X-偏移量:%d。\n"
#define MSGTR_LIBVO_DXR3_XCorrection "[VO_DXR3] X-比例校正:%d。\n"
#define MSGTR_LIBVO_DXR3_FailedResizingOverlayWindow "[VO_DXR3] 设置覆盖窗口大小失败\n"
#define MSGTR_LIBVO_DXR3_FailedSetSignalMix "[VO_DXR3] 设置信号混合失败\n"
#define MSGTR_LIBVO_DXR3_FailedResizingOverlayWindow "[VO_DXR3] 未能设置覆盖窗口大小!\n"
#define MSGTR_LIBVO_DXR3_FailedSetSignalMix "[VO_DXR3] 未能设置信号混合模式\n"
// vo_jpeg.c
#define MSGTR_VO_JPEG_ProgressiveJPEG "启用渐显 JPEG。"
@ -1406,33 +1406,33 @@ static const char help_text[]=
#define MSGTR_NI_Detected "检测到"
#define MSGTR_NI_Message "%s 非交错合并的 AVI 文件模式!\n"
#define MSGTR_UsingNINI "使用非交错的损坏的 AVI 文件格式。\n"
#define MSGTR_CouldntDetFNo "无法决定帧数(用于绝对搜索)。\n"
#define MSGTR_CantSeekRawAVI "无法在原始的 AVI 流中搜索。(需要索引, 尝试使用 -idx 选项。) \n"
#define MSGTR_CantSeekFile "不能在此文件中搜索。\n"
#define MSGTR_UsingNINI "使用非交错合并的无效的 AVI 文件格式。\n"
#define MSGTR_CouldntDetFNo "无法确定(绝对定位所用的)帧数。\n"
#define MSGTR_CantSeekRawAVI "无法在原生的 AVI 流中定位。(需要索引信息,请尝试使用 -idx 选项。)\n"
#define MSGTR_CantSeekFile "无法在此文件中定位。\n"
#define MSGTR_MOVcomprhdr "MOV: 支持压缩的文件头需要 ZLIB!\n"
#define MSGTR_MOVvariableFourCC "MOV: 警告: 检测到可变的 FourCC!?\n"
#define MSGTR_MOVtooManyTrk "MOV: 警告: 轨迹太多。"
#define MSGTR_FoundAudioStream "==> 找到音频流: %d\n"
#define MSGTR_FoundVideoStream "==> 找到视频流: %d\n"
#define MSGTR_DetectedTV "检测到 TV! ;-)\n"
#define MSGTR_ErrorOpeningOGGDemuxer "无法打开 Ogg 分路器。\n"
#define MSGTR_ASFSearchingForAudioStream "ASF: 寻找音频流 (id:%d)。\n"
#define MSGTR_CannotOpenAudioStream "打不开音频流: %s\n"
#define MSGTR_CannotOpenSubtitlesStream "打不开字幕流: %s\n"
#define MSGTR_OpeningAudioDemuxerFailed "打开音频分路器: %s 失败\n"
#define MSGTR_OpeningSubtitlesDemuxerFailed "打开字幕分路器: %s 失败\n"
#define MSGTR_TVInputNotSeekable "TV 输入不能搜索! (可能搜索应该用来更换频道;)\n"
#define MSGTR_DemuxerInfoChanged "分路器信息 %s 已变成 %s\n"
#define MSGTR_ClipInfo "剪辑信息: \n"
#define MSGTR_MOVcomprhdr "MOV:需要 ZLIB 以支持经过压缩的文件头!\n"
#define MSGTR_MOVvariableFourCC "MOV:警告:检测到可变的 FourCC 代码!?\n"
#define MSGTR_MOVtooManyTrk "MOV:警告:轨道太多。"
#define MSGTR_FoundAudioStream "==> 找到音频流%d\n"
#define MSGTR_FoundVideoStream "==> 找到视频流%d\n"
#define MSGTR_DetectedTV "检测到电视信号!;-)\n"
#define MSGTR_ErrorOpeningOGGDemuxer "无法打开 Ogg 流分离器。\n"
#define MSGTR_ASFSearchingForAudioStream "ASF寻找音频流id:%d。\n"
#define MSGTR_CannotOpenAudioStream "无法打开音频流:%s\n"
#define MSGTR_CannotOpenSubtitlesStream "无法打开字幕流:%s\n"
#define MSGTR_OpeningAudioDemuxerFailed "未能打开音频分离器:%s\n"
#define MSGTR_OpeningSubtitlesDemuxerFailed "未能打开字幕流分离器:%s\n"
#define MSGTR_TVInputNotSeekable "电视信号输入无法定位!(定位功能可能应该用于更换频道)\n"
#define MSGTR_DemuxerInfoChanged "流分离器信息 %s 已变为 %s\n"
#define MSGTR_ClipInfo "媒体剪辑信息:\n"
#define MSGTR_LeaveTelecineMode "\ndemux_mpg: 检测到 30fps 的 NTSC 内容, 改变帧率中。\n"
#define MSGTR_EnterTelecineMode "\ndemux_mpg: 检测到 24fps 渐进的 NTSC 内容, 改变帧率中。\n"
#define MSGTR_LeaveTelecineMode "\ndemux_mpg:检测到 30000/1001fps 的 NTSC 内容,切换帧率。\n"
#define MSGTR_EnterTelecineMode "\ndemux_mpg:检测到 24000/1001fps 的逐行扫描 NTSC 内容,切换帧率。\n"
#define MSGTR_CacheFill "\r缓存填充: %5.2f%% (%"PRId64" 字节) "
#define MSGTR_NoBindFound "找不到键 '%s' 的键绑定。"
#define MSGTR_FailedToOpen "打开 %s 失败。\n"
#define MSGTR_CacheFill "\r缓冲已填充:%5.2f%%%"PRId64" 字节)"
#define MSGTR_NoBindFound "按键‘%s未绑定功能。"
#define MSGTR_FailedToOpen "未能打开 %s。\n"
#define MSGTR_VideoID "[%s] 找到视频流,-vid %d\n"
#define MSGTR_AudioID "[%s] 找到音频流,-aid %d\n"

View File

@ -68,7 +68,7 @@ static int reorder_copy_5ch(void *dest, const void *src,
{
int8_t *dest_8 = dest;
const int8_t *src_8 = src;
for (i = 0; i < samples; i += 15) {
for (i = 0; i < samples * 3; i += 15) {
dest_8[i] = src_8[i+s0*3];
dest_8[i+1] = src_8[i+s0*3+1];
dest_8[i+2] = src_8[i+s0*3+2];
@ -144,7 +144,7 @@ static int reorder_copy_6ch(void *dest, const void *src,
{
int8_t *dest_8 = dest;
const int8_t *src_8 = src;
for (i = 0; i < samples; i += 18) {
for (i = 0; i < samples * 3; i += 18) {
dest_8[i] = src_8[i+s0*3];
dest_8[i+1] = src_8[i+s0*3+1];
dest_8[i+2] = src_8[i+s0*3+2];
@ -226,7 +226,7 @@ static int reorder_copy_8ch(void *dest, const void *src,
{
int8_t *dest_8 = dest;
const int8_t *src_8 = src;
for (i = 0; i < samples; i += 24) {
for (i = 0; i < samples * 3; i += 24) {
dest_8[i] = src_8[i+s0*3];
dest_8[i+1] = src_8[i+s0*3+1];
dest_8[i+2] = src_8[i+s0*3+2];
@ -455,7 +455,7 @@ static int reorder_self_2(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += chnum*3) {
for (i = 0; i < samples * 3; i += chnum * 3) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -555,7 +555,7 @@ static int reorder_self_3(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += chnum*3) {
for (i = 0; i < samples * 3; i += chnum * 3) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -653,7 +653,7 @@ static int reorder_self_4_step_1(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += chnum*3) {
for (i = 0; i < samples * 3; i += chnum * 3) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -731,7 +731,7 @@ static int reorder_self_4_step_2(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += chnum*3) {
for (i = 0; i < samples * 3; i += chnum * 3) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -806,7 +806,7 @@ static int reorder_self_5_step_1(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += chnum*3) {
for (i = 0; i < samples * 3; i += chnum * 3) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -896,7 +896,7 @@ static int reorder_self_2_3(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += 18) {
for (i = 0; i < samples * 3; i += 18) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -980,7 +980,7 @@ static int reorder_self_3_3(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += 18) {
for (i = 0; i < samples * 3; i += 18) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];
@ -1075,7 +1075,7 @@ static int reorder_self_2_4(void *src, unsigned int samples,
{
int8_t *src_8 = src;
int8_t tmp0, tmp1, tmp2;
for (i = 0; i < samples; i += 3*chnum) {
for (i = 0; i < samples * 3; i += chnum * 3) {
tmp0 = src_8[i+s0*3];
tmp1 = src_8[i+s0*3+1];
tmp2 = src_8[i+s0*3+2];

View File

@ -93,7 +93,7 @@ static int init(sh_audio_t *sh_audio)
mp_tmsg(MSGT_DECAUDIO,MSGL_ERR, "Could not open codec.\n");
return 0;
}
mp_msg(MSGT_DECAUDIO,MSGL_V,"INFO: libavcodec init OK!\n");
mp_msg(MSGT_DECAUDIO,MSGL_V,"INFO: libavcodec \"%s\" init OK!\n", lavc_codec->name);
// printf("\nFOURCC: 0x%X\n",sh_audio->format);
if(sh_audio->format==0x3343414D){

View File

@ -1897,6 +1897,7 @@ static void mp_dvdnav_reset_stream (MPContext *ctx) {
}
audio_delay = 0.0f;
ctx->global_sub_size = ctx->global_sub_indices[SUB_SOURCE_DEMUX] + mp_dvdnav_number_of_subs(ctx->stream);
if (dvdsub_lang && opts->sub_id == dvdsub_lang_id) {
dvdsub_lang_id = mp_dvdnav_sid_from_lang(ctx->stream, dvdsub_lang);
if (dvdsub_lang_id != opts->sub_id) {

View File

@ -473,6 +473,7 @@ static int asf_http_streaming_type(char *content_type, char *features, HTTP_head
if( !strcasecmp(content_type, "application/octet-stream") ||
!strcasecmp(content_type, "application/vnd.ms.wms-hdr.asfv1") || // New in Corona, first request
!strcasecmp(content_type, "application/x-mms-framed") || // New in Corana, second request
!strcasecmp(content_type, "video/x-ms-wmv") ||
!strcasecmp(content_type, "video/x-ms-asf")) {
if( strstr(features, "broadcast") ) {