mirror of
https://github.com/mpv-player/mpv.git
synced 2026-10-29 07:06:59 +08:00
Merge svn changes up to r28655
This commit is contained in:
@@ -1902,10 +1902,10 @@ See the console output for a list of available TV norms.
|
||||
Set tuner to <value> channel.
|
||||
.IPs chanlist=<value>
|
||||
available: europe-east, europe-west, us-bcast, us-cable, etc
|
||||
.IPs channels=<channel>\-<name>[=<norm>],<channel>\-<name>[=<norm>],...
|
||||
.IPs channels=<chan>\-<name>[=<norm>],<chan>\-<name>[=<norm>],...
|
||||
Set names for channels.
|
||||
.I NOTE:
|
||||
If <channel> is an integer greater than 1000, it will be treated as frequency (in kHz)
|
||||
If <chan> is an integer greater than 1000, it will be treated as frequency (in kHz)
|
||||
rather than channel name from frequency table.
|
||||
.br
|
||||
Use _ for spaces in names (or play with quoting ;-).
|
||||
|
||||
+5895
-5890
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -185,7 +185,7 @@ Uncompress the files somewhere that is not in your System folder.
|
||||
<filename class="directory">/System/Library/Frameworks</filename>!
|
||||
Using this older copy is only meant to get around link errors!)
|
||||
<screen>gunzip < CompatFrameworks.tgz | tar xvf -</screen>
|
||||
In config.mak, you should append
|
||||
In config.mak, you should append
|
||||
<systemitem>-F/path/to/where/you/extracted</systemitem>
|
||||
to the <systemitem>OPTFLAGS</systemitem> variable.
|
||||
If you use <application>X-Code</application>, you can just select these
|
||||
|
||||
+28
-26
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- synced with r24346 -->
|
||||
<!-- synced with r26990 -->
|
||||
<chapter id="cd-dvd">
|
||||
<title>Использование CD/DVD</title>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<title>Приводы CD/DVD</title>
|
||||
|
||||
<para>
|
||||
Современные приводы CD-ROM могут работать на очень высоких скоростях, некоторые
|
||||
Современные приводы CD-ROM могут работать на очень высоких скоростях, некоторые
|
||||
из них способны регулировать скорость чтения. Несколько аргументов за
|
||||
использование этой возможности:
|
||||
</para>
|
||||
@@ -64,14 +64,14 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Обратитесь к
|
||||
Обратитесь к
|
||||
"<filename>/proc/ide/<replaceable>[устройство cdrom]</replaceable>/settings</filename>"
|
||||
для подстройки Вашего CD-ROM привода.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
У SCSI приводов нет общего способа выставить эти параметры (Вы знаете
|
||||
какой-нибудь? Расскажите нам!) Существует программа для
|
||||
У SCSI приводов нет общего способа выставить эти параметры (Вы знаете
|
||||
какой-нибудь? Расскажите нам!) Существует программа для
|
||||
<ulink url="http://das.ist.org/~georg/">Plextor SCSI приводов</ulink>.
|
||||
</para>
|
||||
</sect2>
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
<sect2 id="drives_freebsd">
|
||||
<title>FreeBSD</title>
|
||||
<para>Скорость:
|
||||
<para>Скорость:
|
||||
<screen>cdcontrol [-f <replaceable>устройство</replaceable>] speed <replaceable>[скорость]</replaceable></screen></para>
|
||||
<para>DMA: <screen>sysctl hw.ata.atapi_dma=1</screen></para>
|
||||
</sect2>
|
||||
@@ -110,7 +110,7 @@
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Устройство DVD по умолчанию - это <filename>/dev/dvd</filename>. Если Ваши
|
||||
Устройство DVD по умолчанию — это <filename>/dev/dvd</filename>. Если Ваши
|
||||
настройки отличаются, создайте символическую ссылку или укажите правильное
|
||||
устройство в командной строке, используя опцию <option>-dvd-device</option>.
|
||||
</para>
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
<note><para>
|
||||
В случае проблем с декодированием DVD, попробуйте отключить supermount или
|
||||
другие подобные удобства. Некоторые RPC-2 устройства могут требовать
|
||||
другие подобные удобства. Некоторые RPC-2 устройства могут требовать
|
||||
уcтановку кода региона.
|
||||
</para></note>
|
||||
|
||||
@@ -141,22 +141,22 @@
|
||||
</formalpara>
|
||||
|
||||
<sect2 id="region_code">
|
||||
<title>региональный код</title>
|
||||
<title>Региональный код</title>
|
||||
|
||||
<para>
|
||||
Современные DVD приводы имеют дурацкое ограничение, называемое
|
||||
<ulink url="http://ru.wikipedia.org/wiki/Код_зоны_DVD">региональным кодом</ulink>.
|
||||
Это - способ заставить DVD приводы воспроизводить DVD диски, созданные для одного из
|
||||
Это — способ заставить DVD приводы воспроизводить DVD диски, созданные для одного из
|
||||
шести различных регионов, на которые разделен мир.
|
||||
Как может группа людей сесть за стол, придумать подобное и
|
||||
при этом ожидать, что мир 21-го века поклонится их воле - это
|
||||
при этом ожидать, что мир 21-го века поклонится их воле — это
|
||||
за пределами человеческого понимания.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Приводы, реализующие региональную защиту исключительно при помощи
|
||||
программного обеспечения, известны как RPC-1 приводы, реализующие ее
|
||||
аппаратно - RPC-2. RPC-2 приводы позволяют пять раз изменить код региона,
|
||||
аппаратно — RPC-2. RPC-2 приводы позволяют пять раз изменить код региона,
|
||||
после чего он фиксируется навсегда. В Linux вы можете воспользоваться
|
||||
утилитой <ulink url="http://linvdr.org/projects/regionset/">regionset</ulink>
|
||||
для установки регионального кода вашего DVD привода.
|
||||
@@ -179,7 +179,7 @@
|
||||
|
||||
|
||||
<sect1 id="vcd">
|
||||
<title>воспроизведение VCD</title>
|
||||
<title>Воспроизведение VCD</title>
|
||||
<para>
|
||||
Полный список возможных опций можно прочитать в man. Синтаксис для обычного
|
||||
Видео-CD (VCD):
|
||||
@@ -201,37 +201,38 @@ SCSI generic для VCD.
|
||||
</para></note>
|
||||
|
||||
<para>
|
||||
В настоящий момент Вы можете извлечь данные с VCD, используя
|
||||
В настоящий момент Вы можете извлечь данные с VCD, используя
|
||||
<ulink url="http://ftp.ntut.edu.tw/ftp/OS/Linux/packages/X/viewers/readvcd/">
|
||||
readvcd</ulink>, и воспроизвести получившийся файл <application>MPlayer
|
||||
</application>'ом.
|
||||
</para>
|
||||
|
||||
<formalpara>
|
||||
<title>структура VCD</title>
|
||||
<title>Структура VCD</title>
|
||||
<para>
|
||||
VCD составлен из секторов CD-ROM XA, т.е. дорожек CD-ROM mode 2 form 1 и form 2:
|
||||
<itemizedlist>
|
||||
<listitem><para>
|
||||
Первая дорожка записана в mode 2 form 2 формате, что, в частности, означает
|
||||
использование коррекции ошибок L2. Дорожка содержит файловую систему ISO-9660 с
|
||||
секторами по 2048 байт. Там содержатся метаданные VCD,
|
||||
секторами по 2048 байт. Там содержатся метаданные VCD,
|
||||
и картинки, часто использующиеся в меню. Здесь также могут храниться
|
||||
фрагменты MPEG для меню, но каждый из них должен быть разбит на кусочки по
|
||||
фрагменты MPEG для меню, но каждый из них должен быть разбит на кусочки по
|
||||
150 секторов. Еще файловая система может хранить файлы или программы,
|
||||
не имеющие отношения к работе с VCD.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Вторая и остальные дорожки содержат MPEG-поток секторами по 2324 байта, по
|
||||
одному пакету MPEG PS на сектор вместо файловой системы. Это дорожки в формате
|
||||
одному пакету MPEG PS на сектор вместо файловой системы. Это дорожки в формате
|
||||
mode 2 form 1 и хранят больше информации на один сектор за счет потери возможности
|
||||
некоторой коррекции ошибок. После первой дорожки также допустимо присутствие
|
||||
некоторой коррекции ошибок. После первой дорожки также допустимо присутствие
|
||||
дорожки CD-DA. В некоторых ОС используются различные трюки, чтобы сделать эти
|
||||
не-ISO-9660 дорожки видимыми в файловой системе. Но Linux - это не тот случай (пока).
|
||||
Здесь MPEG данные <emphasis role="bold">не могут быть смонтированы</emphasis>.
|
||||
не-ISO-9660 дорожки видимыми в файловой системе. Но Linux
|
||||
— это не тот случай (пока).
|
||||
Здесь MPEG данные <emphasis role="bold">не могут быть смонтированы</emphasis>.
|
||||
(Вы когда-нибудь монтировали аудио диск
|
||||
для того, чтобы его воспроизвести?) Так как большинство фильмов находится именно на
|
||||
для того, чтобы его воспроизвести?) Так как большинство фильмов находится именно на
|
||||
таких дорожках, попробуйте сначала <option>vcd://2</option>.
|
||||
</para></listitem>
|
||||
|
||||
@@ -240,11 +241,12 @@ VCD составлен из секторов CD-ROM XA, т.е. дорожек CD
|
||||
системы). Они проигрываются, но не монтируются.
|
||||
</para></listitem>
|
||||
|
||||
<listitem><para>
|
||||
Описание стандарта Video CD называется
|
||||
<listitem><para>
|
||||
Описание стандарта Video CD называется
|
||||
Philips "White Book" и, как правило, недоступна в онлайн, т.к. должна приобретаться
|
||||
у Philips. Более подробная информация о Video CD может быть найдена в
|
||||
<ulink url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">vcdimager documentation</ulink>.
|
||||
у Philips. Более подробная информация о Video CD может быть найдена в
|
||||
<ulink
|
||||
url="http://www.vcdimager.org/pub/vcdimager/manuals/0.7/vcdimager.html#SEC4">документации vcdimager</ulink>.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
@@ -560,6 +560,7 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic){
|
||||
|
||||
mpi= mpcodecs_get_image(sh, type, flags,
|
||||
(width+align)&(~align), (height+align)&(~align));
|
||||
if (!mpi) return -1;
|
||||
|
||||
// ok, let's see what did we get:
|
||||
if(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK &&
|
||||
|
||||
@@ -33,6 +33,7 @@ struct vf_priv_s {
|
||||
#define video_out (vf->priv->vo)
|
||||
|
||||
static int query_format(struct vf_instance* vf, unsigned int fmt); /* forward declaration */
|
||||
static void draw_slice(struct vf_instance *vf, unsigned char **src, int *stride, int w,int h, int x, int y);
|
||||
|
||||
static int config(struct vf_instance* vf,
|
||||
int width, int height, int d_width, int d_height,
|
||||
@@ -60,6 +61,7 @@ static int config(struct vf_instance* vf,
|
||||
|
||||
// save vo's stride capability for the wanted colorspace:
|
||||
vf->default_caps=query_format(vf,outfmt);
|
||||
vf->draw_slice = (vf->default_caps & VOCAP_NOSLICES) ? NULL : draw_slice;
|
||||
|
||||
if (vo_config(video_out, width, height, d_width, d_height, flags, "MPlayer", outfmt))
|
||||
return 0;
|
||||
|
||||
@@ -33,5 +33,7 @@
|
||||
#define VFCAP_EOSD 0x2000
|
||||
// filter will draw EOSD at screen resolution (without scaling)
|
||||
#define VFCAP_EOSD_UNSCALED 0x4000
|
||||
// used by libvo and vf_vo, indicates the VO does not support draw_slice for this format
|
||||
#define VOCAP_NOSLICES 0x8000
|
||||
|
||||
#endif /* MPLAYER_VFCAP_H */
|
||||
|
||||
+24
-1
@@ -129,7 +129,30 @@ void sws_freeContext(struct SwsContext *swsContext);
|
||||
*/
|
||||
struct SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int dstW, int dstH, enum PixelFormat dstFormat, int flags,
|
||||
SwsFilter *srcFilter, SwsFilter *dstFilter, double *param);
|
||||
int sws_scale(struct SwsContext *context, uint8_t* src[], int srcStride[], int srcSliceY,
|
||||
|
||||
/**
|
||||
* Scales the image slice in \p srcSlice and puts the resulting scaled
|
||||
* slice in the image in \p dst. A slice is a sequence of consecutive
|
||||
* rows in an image.
|
||||
*
|
||||
* @param context the scaling context previously created with
|
||||
* sws_getContext()
|
||||
* @param srcSlice the array containing the pointers to the planes of
|
||||
* the source slice
|
||||
* @param srcStride the array containing the strides for each plane of
|
||||
* the source image
|
||||
* @param srcSliceY the position in the source image of the slice to
|
||||
* process, that is the number (counted starting from
|
||||
* zero) in the image of the first row of the slice
|
||||
* @param srcSliceH the height of the source slice, that is the number
|
||||
* of rows in the slice
|
||||
* @param dst the array containing the pointers to the planes of
|
||||
* the destination image
|
||||
* @param dstStride the array containing the strides for each plane of
|
||||
* the destination image
|
||||
* @return the height of the output slice
|
||||
*/
|
||||
int sws_scale(struct SwsContext *context, uint8_t* srcSlice[], int srcStride[], int srcSliceY,
|
||||
int srcSliceH, uint8_t* dst[], int dstStride[]);
|
||||
#if LIBSWSCALE_VERSION_MAJOR < 1
|
||||
/**
|
||||
|
||||
+3
-1
@@ -654,14 +654,16 @@ static uint32_t get_image(mp_image_t *mpi)
|
||||
|
||||
static int query_format(uint32_t format)
|
||||
{
|
||||
int default_flags = VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_OSD;
|
||||
switch (format) {
|
||||
case IMGFMT_YV12:
|
||||
return default_flags | VOCAP_NOSLICES;
|
||||
case IMGFMT_VDPAU_MPEG1:
|
||||
case IMGFMT_VDPAU_MPEG2:
|
||||
case IMGFMT_VDPAU_H264:
|
||||
case IMGFMT_VDPAU_WMV3:
|
||||
case IMGFMT_VDPAU_VC1:
|
||||
return VFCAP_CSP_SUPPORTED | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP | VFCAP_HWSCALE_DOWN | VFCAP_OSD;
|
||||
return default_flags;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
+1
-1
@@ -102,7 +102,7 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
|
||||
{
|
||||
AVRational pixelaspect = av_div_q((AVRational){d_width, d_height},
|
||||
(AVRational){width, height});
|
||||
AVRational fps_frac = av_d2q(vo_fps, INT_MAX);
|
||||
AVRational fps_frac = av_d2q(vo_fps, vo_fps * 1001 + 2);
|
||||
if (image_width == width && image_height == height &&
|
||||
image_fps == vo_fps && vo_config_count)
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user