mirror of
https://github.com/mpv-player/mpv
synced 2024-12-24 07:33:46 +01:00
Merge svn changes up to r30375
This commit is contained in:
commit
4ebf007580
@ -26,7 +26,7 @@ MPlayer (1.0)
|
||||
* Support for more formats in OpenGL vos (different YUV
|
||||
subsampling, 16 bit per component)
|
||||
* Selectable YUV to RGB conversion standard for -vo gl
|
||||
(-vo gl:colorspace=...)
|
||||
(-vo gl:colorspace=...:levelconv=...)
|
||||
* -vo matrixview finally added
|
||||
|
||||
Other:
|
||||
@ -43,6 +43,9 @@ MPlayer (1.0)
|
||||
Use e.g. ffmpeg://http://example.com/test
|
||||
* better support for 16-bit-per-component formats and formats
|
||||
with alpha channel.
|
||||
* better out-of-the-box support for compiling for ARM, IA64,
|
||||
MinGW32 and MinGW-w64, MinGW has ASLR enabled with recent
|
||||
enough binutils.
|
||||
|
||||
MEncoder:
|
||||
* add -tsprog for demuxer lavf
|
||||
|
@ -3872,6 +3872,16 @@ Use ITU-R BT.709 color space.
|
||||
.IPs 3
|
||||
Use SMPTE-240M color space.
|
||||
.RE
|
||||
.IPs levelconv=<n>
|
||||
Select the brightness level conversion to use for the YUV to RGB conversion
|
||||
.RSss
|
||||
.IPs 0
|
||||
Convert TV to PC levels (default).
|
||||
.IPs 1
|
||||
Convert PC to TV levels.
|
||||
.IPs 2
|
||||
Do not do any conversion.
|
||||
.RE
|
||||
.IPs lscale=<n>
|
||||
Select the scaling function to use for luminance scaling.
|
||||
Only valid for yuv modes 2, 3, 4 and 6.
|
||||
|
@ -1,4 +1,4 @@
|
||||
.\" synced with r30043
|
||||
.\" synced with r30336
|
||||
.\" Encoding: iso-8859-1
|
||||
.\" MPlayer (C) 2000-2009 MPlayer Team
|
||||
.\" Questa pagina di manuale è stata fatta da Gabucino, Diego Biurrun,
|
||||
@ -1292,14 +1292,14 @@ Permette ad un socket di essere riutilizzato da altri processi appena viene
|
||||
chiuso.
|
||||
.
|
||||
.TP
|
||||
.B \-bandwidth <valore> (solo rete)
|
||||
.B \-bandwidth <Bytes> (solo rete)
|
||||
Specifica la massima larghezza di banda (bandwidth) per lo streaming attraverso
|
||||
una rete (per quei server che sono capaci di inviare contenuti, normalmente
|
||||
filmati, a diversi bitrate).
|
||||
Utile se vuoi guardare contenuti multimediali dal vivo con una connessione lenta.
|
||||
Utile se vuoi guardare contenuti multimediali dal vivo su una connessione lenta.
|
||||
Con lo streaming RTSP Real, viene anche usata per impostare la massima larghezza
|
||||
di banda in uscita dal server, permettendo un riempimento della cache e un dump
|
||||
di flusso più veloce.
|
||||
del flusso più rapido.
|
||||
.
|
||||
.TP
|
||||
.B \-cache <KBytes>
|
||||
@ -1347,15 +1347,15 @@ Usa il dispositivo SCSI generico specificato
|
||||
.IPs sector-size=<valore>
|
||||
Dimensione di una lettura atomica
|
||||
.IPs overlap=<valore>
|
||||
Forza la ricerca di sovrapposizione minima (minimum overlap search) durante la verifica a <valore> settori
|
||||
Forza la ricerca di sovrapposizione minima (minimum overlap search) durante la
|
||||
verifica a <valore> settori.
|
||||
.IPs toc-bias
|
||||
Assume che lo scostamento iniziale della traccia 1 come riportato nella TOC
|
||||
sarà indirizzato come LBA 0.
|
||||
Alcuni lettori Toshiba hanno bisogno di questa opzione per ottenere la corretta
|
||||
delimitazione delle tracce.
|
||||
.IPs toc-offset=<valore>
|
||||
Aggiunge <valore> settori ai valori riportati quando si indirizzano
|
||||
le tracce.
|
||||
Aggiunge <valore> settori ai valori riportati quando si indirizzano le tracce.
|
||||
Può essere negativo.
|
||||
.IPs (no)skip
|
||||
(Non) accetta una ricostruzione imperfetta dei dati.
|
||||
@ -2672,7 +2672,7 @@ Attiva il raggio della sfocatura del font (default: 2).
|
||||
.TP
|
||||
.B \-subfont\-encoding <valore> (solo FreeType)
|
||||
Attiva la codifica del font.
|
||||
Quando settato a 'unicode' tutti i glifi dal file del font verranno disegnati
|
||||
Quando impostato a 'unicode' verranno disegnati tutti i glifi dal file del font
|
||||
e verrà usato l'unicode (default: unicode).
|
||||
.
|
||||
.TP
|
||||
@ -3606,7 +3606,7 @@ Seleziona la sorgente da cui viene preso il colorkey (default: cur).
|
||||
.IPs cur
|
||||
Il default prende il colorkey correntemente configurato in Xv.
|
||||
.IPs use
|
||||
Utilizza ma non setta il colorkey da MPlayer (utilizza l'opzione \-colorkey
|
||||
Utilizza ma non imposta il colorkey da MPlayer (utilizza l'opzione \-colorkey
|
||||
per cambiarlo).
|
||||
.IPs set
|
||||
Uguale a use ma imposta anche il colorkey fornito.
|
||||
@ -3668,7 +3668,7 @@ Pu
|
||||
del flusso A/V (default: noqueue).
|
||||
.IPs (no)sleep
|
||||
Utilizza la funzione sleep mentre aspetta che finisca la visualizzazione
|
||||
(non raccomandato con Linux) (default: nosleep).
|
||||
(non consigliato in Linux) (default: nosleep).
|
||||
.IPs ck=cur|use|set
|
||||
E' lo stesso che \-vo xv:ck (vedi \-vo xv).
|
||||
.IPs ck-method=man|bg|auto
|
||||
@ -4024,6 +4024,10 @@ orizzontale / n).
|
||||
Richiede il supporto GLX_SGI_swap_control per funzionare.
|
||||
Con alcune (la maggior parte/tutte?) implementazioni funziona sono in modalità
|
||||
a schermo intero.
|
||||
.IPs ycbcr
|
||||
Usa l'estenzione GL_MESA_ycbcr_texture per convertire da YUV a RGB.
|
||||
Nella maggior parte dei casi è probabilmente più lento di una conversione
|
||||
software verso RGB.
|
||||
.IPs yuv=<n>
|
||||
Seleziona il tipo di conversione da YUV a RGB.
|
||||
.RSss
|
||||
@ -4069,10 +4073,28 @@ La gamma pu
|
||||
La velocità dipende più dall'ampiezza di memoria della GPU rispetto agli altri
|
||||
metodi.
|
||||
.RE
|
||||
.IPs ycbcr
|
||||
Usa l'estenzione GL_MESA_ycbcr_texture per convertire da YUV a RGB.
|
||||
Nella maggior parte dei casi è probabilmente più lento di una conversione
|
||||
software verso RGB.
|
||||
.IPs colorspace
|
||||
Seleziona lo spazio colore per la conversione da YUV a RGB.
|
||||
.RSss
|
||||
.IPs 0
|
||||
Utilizza la formula usata solitamente da MPlayer (default).
|
||||
.IPs 1
|
||||
Usa uno spazio colore ITU-R BT.601.
|
||||
.IPs 2
|
||||
Usa uno spazio colore ITU-R BT.709.
|
||||
.IPs 3
|
||||
Usa uno spazio colore SMPTE-240M.
|
||||
.RE
|
||||
.IPs levelconv=<n>
|
||||
Seleziona il livello di luminosità da usare per la conversione da YUV a RGB.
|
||||
.RSss
|
||||
.IPs 0
|
||||
Converte da livelli TV a PC (default).
|
||||
.IPs 1
|
||||
Converte da livelli PC a TV.
|
||||
.IPs 2
|
||||
Non effettua alcuna conversione.
|
||||
.RE
|
||||
.IPs lscale=<n>
|
||||
Seleziona la funzione di ridimensionamento da usare per il ridimensionamento
|
||||
della luminanza.
|
||||
@ -4113,6 +4135,13 @@ GL_NEAREST per la texture 'customtex'.
|
||||
.IPs (no)customtrect
|
||||
Se abilitata, usa texture_rectangle per la texture 'customtex'.
|
||||
Disabilitata di default.
|
||||
.IPs (no)mipmapgen
|
||||
Se abilitata, vengono generate automaticamente delle mipmap per il video.
|
||||
Questo dovrebbe essere utile insieme con customprog e con l'istruzione TXB per
|
||||
implementare filtri di sfocatura con un raggio ampio.
|
||||
Per la maggior parte delle implementazioni OpenGL è molto lento per un
|
||||
qualsiasi formato non RGB.
|
||||
Disabilitata di default.
|
||||
.RE
|
||||
.sp 1
|
||||
.RS
|
||||
@ -4171,6 +4200,23 @@ A parte ci
|
||||
.REss
|
||||
.
|
||||
.TP
|
||||
.B matrixview
|
||||
Renderizzatore basato su OpenGL che crea un effetto di testo stile Matrix.
|
||||
.PD 0
|
||||
.RSs
|
||||
.IPs cols=<n>
|
||||
Numero delle colonne di testo da mostrare.
|
||||
Valori molto bassi (< 16) probabilmente non funzioneranno a causa delle
|
||||
limitazioni dello scalatore.
|
||||
Allo stesso modo, valori non divisibili per 16 potrebbero causare problemi.
|
||||
.IPs rows=<n>
|
||||
Numero delle righe di testo da mostrare.
|
||||
Valori molto bassi (< 16) probabilmente non funzioneranno a causa delle
|
||||
limitazioni dello scalatore.
|
||||
Allo stesso modo, valori non divisibili per 16 potrebbero causare problemi.
|
||||
.REss
|
||||
.
|
||||
.TP
|
||||
.B "null\ \ \ "
|
||||
Non produce nessuna uscita video.
|
||||
Utile per benchmarking (prove di velocità).
|
||||
@ -4226,17 +4272,20 @@ Visualizza il video utilizzando la libreria DirectFB.
|
||||
.IPs (no)input
|
||||
Utilizza il codice della tastiera di DirectFB invece di quello standard di MPlayer. (default: abilitato)
|
||||
.IPs buffermode=single|double|triple
|
||||
Il doppio ed il triplo buffering danno i migliori risultati se vuoi evitare problemi di tearing.
|
||||
Il triplo buffering è più efficiente del doppio buffering perché non blocca MPlayer
|
||||
mentre aspetta il tracciamento verticale.
|
||||
Il doppio ed il triplo buffering danno i migliori risultati se vuoi evitare
|
||||
problemi di tearing.
|
||||
Il triplo buffering è più efficiente del doppio buffering perché non blocca
|
||||
MPlayer mentre aspetta il tracciamento verticale.
|
||||
La bufferizzazione singola dovrebbe essere evitata (default: single).
|
||||
.IPs fieldparity=top|bottom
|
||||
Controlla l'ordine di uscita dei fotogrammi interlacciati (default: disabilitato).
|
||||
Valori validi sono top (prima il campo superiore) e bottom (prima il campo inferiore).
|
||||
Questa opzione non ha alcun effetto su materiale progressivo, generalmente la maggior
|
||||
parte dei film MPEG.
|
||||
Devi abilitare questa opzione se hai effetti di tearing oppure movimenti non uniformi
|
||||
guardando materiale interlacciato.
|
||||
Controlla l'ordine di uscita dei fotogrammi interlacciati
|
||||
(default: disabilitato).
|
||||
Valori validi sono top (prima il campo superiore) e bottom (prima il campo
|
||||
inferiore).
|
||||
Questa opzione non ha alcun effetto su materiale progressivo, generalmente la
|
||||
maggior parte dei film MPEG.
|
||||
Devi abilitare questa opzione se hai effetti di tearing oppure movimenti non
|
||||
uniformi guardando materiale interlacciato.
|
||||
.IPs layer=N
|
||||
Forza l'utilizzo del layer con ID N per la riproduzione (default: \-1 \- auto).
|
||||
.IPs dfbopts=<list>
|
||||
@ -8134,7 +8183,7 @@ lascia che sia LAME a scegliere il valore automaticamente.
|
||||
.
|
||||
.TP
|
||||
.B preset=<valore>
|
||||
valore dei settaggi predefiniti (Preset)
|
||||
valore delle impostazioni predefinite (Preset)
|
||||
.RSs
|
||||
.IPs "help\ "
|
||||
Stampa le opzioni aggiuntive ed informazioni sui preset.
|
||||
@ -8145,7 +8194,7 @@ codifica VBR, alta qualit
|
||||
.IPs extreme
|
||||
codifica VBR, qualità molto alta, bitrate compreso tra 200\-240 kbps
|
||||
.IPs insane
|
||||
codifica CBR, il settaggio di miglior qualità, bitrate di 320 kbps
|
||||
codifica CBR, l'impostazione di miglior qualità, bitrate di 320 kbps
|
||||
.IPs <8\-320>
|
||||
codifica ABR al bitrate medio specificato
|
||||
.RE
|
||||
@ -9944,12 +9993,12 @@ dai blocchi circostanti (default: attiva).
|
||||
.
|
||||
.TP
|
||||
.B vhq=<0\-4>
|
||||
L'algoritmo di ricerca del movimento è basato su una ricerca nel dominio del colore
|
||||
e cerca di trovare un vettore di movimento che minimizzi la differenza tra il fotogramma
|
||||
di riferimento e quello codificato.
|
||||
Con questo settaggio attivato Xvid userà anche il dominio delle frequenze (DCT)
|
||||
per ricercare un vettore di movimento che minimizzi non solo la differenza spaziale, ma
|
||||
anche la lunghezza codificata del blocco.
|
||||
L'algoritmo di ricerca del movimento è basato su una ricerca nel dominio del
|
||||
colore e cerca di trovare un vettore di movimento che minimizzi la differenza
|
||||
tra il fotogramma di riferimento e quello codificato.
|
||||
Con questa impostazione attivata, Xvid userà anche il dominio delle frequenze
|
||||
(DCT) per ricercare un vettore di movimento che minimizzi non solo la
|
||||
differenza spaziale, ma anche la lunghezza codificata del blocco.
|
||||
Dalla più rapida alla più lenta:
|
||||
.PD 0
|
||||
.RSs
|
||||
|
49
configure
vendored
49
configure
vendored
@ -167,7 +167,7 @@ alpha() {
|
||||
|
||||
arm() {
|
||||
case "$host_arch" in
|
||||
arm) return 0;;
|
||||
arm*) return 0;;
|
||||
*) return 1;;
|
||||
esac
|
||||
}
|
||||
@ -487,6 +487,7 @@ _sse2=auto
|
||||
_ssse3=auto
|
||||
_cmov=auto
|
||||
_fast_cmov=auto
|
||||
_fast_clz=auto
|
||||
_armv5te=auto
|
||||
_armv6=auto
|
||||
_armv6t2=auto
|
||||
@ -1225,6 +1226,8 @@ for ac_option do
|
||||
--disable-cmov) _cmov=no ;;
|
||||
--enable-fast-cmov) _fast_cmov=yes ;;
|
||||
--disable-fast-cmov) _fast_cmov=no ;;
|
||||
--enable-fast-clz) _fast_clz=yes ;;
|
||||
--disable-fast-clz) _fast_clz=no ;;
|
||||
--enable-altivec) _altivec=yes ;;
|
||||
--disable-altivec) _altivec=no ;;
|
||||
--enable-armv5te) _armv5te=yes ;;
|
||||
@ -1715,7 +1718,9 @@ case "$host_arch" in
|
||||
proc=k8
|
||||
;;
|
||||
|
||||
*) proc=k8 iproc=686 ;;
|
||||
*) proc=amdfam10 iproc=686
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
GenuineIntel)
|
||||
@ -1741,6 +1746,7 @@ case "$host_arch" in
|
||||
else
|
||||
proc=i686
|
||||
fi
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
;;
|
||||
15) iproc=686
|
||||
# A nocona in 32-bit mode has no more capabilities than a prescott.
|
||||
@ -1748,6 +1754,7 @@ case "$host_arch" in
|
||||
proc=prescott
|
||||
else
|
||||
proc=pentium4
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
fi
|
||||
test $_fast_cmov = "auto" && _fast_cmov=no
|
||||
;;
|
||||
@ -1786,6 +1793,7 @@ case "$host_arch" in
|
||||
*)
|
||||
proc=i586 iproc=586 ;;
|
||||
esac
|
||||
test $_fast_clz = "auto" && _fast_clz=no
|
||||
fi # test "$_runtime_cpudetection" = no
|
||||
|
||||
|
||||
@ -1897,6 +1905,7 @@ EOF
|
||||
else
|
||||
_fast_cmov="no"
|
||||
fi
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
|
||||
echores "$proc"
|
||||
;;
|
||||
@ -1925,7 +1934,13 @@ EOF
|
||||
if test "$_runtime_cpudetection" = no ; then
|
||||
case "$pvendor" in
|
||||
AuthenticAMD)
|
||||
proc=k8;;
|
||||
case "$pfamily" in
|
||||
15) proc=k8
|
||||
test $_fast_clz = "auto" && _fast_clz=no
|
||||
;;
|
||||
*) proc=amdfam10;;
|
||||
esac
|
||||
;;
|
||||
GenuineIntel)
|
||||
case "$pfamily" in
|
||||
6) proc=core2;;
|
||||
@ -1934,6 +1949,7 @@ EOF
|
||||
# have the same capabilities as a nocona.
|
||||
proc=nocona
|
||||
test $_fast_cmov = "auto" && _fast_cmov=no
|
||||
test $_fast_clz = "auto" && _fast_clz=no
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
@ -1991,6 +2007,7 @@ EOF
|
||||
|
||||
_optimizing="$proc"
|
||||
test $_fast_cmov = "auto" && _fast_cmov=yes
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
|
||||
echores "$proc"
|
||||
;;
|
||||
@ -2023,7 +2040,7 @@ EOF
|
||||
_optimizing="$proc"
|
||||
;;
|
||||
|
||||
arm|armv4l|armv5tel)
|
||||
arm*)
|
||||
_arch='ARM'
|
||||
_target_arch='ARCH_ARM = yes'
|
||||
iproc='arm'
|
||||
@ -2034,6 +2051,7 @@ EOF
|
||||
_target_arch='ARCH_AVR32 = yes'
|
||||
def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
|
||||
iproc='avr32'
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
;;
|
||||
|
||||
sh|sh4)
|
||||
@ -2154,6 +2172,8 @@ EOF
|
||||
echores "none"
|
||||
fi
|
||||
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
|
||||
;;
|
||||
|
||||
alpha*)
|
||||
@ -2195,6 +2215,8 @@ EOF
|
||||
_mcpu="-mcpu=$proc"
|
||||
echores "$proc"
|
||||
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
|
||||
_optimizing="$proc"
|
||||
;;
|
||||
|
||||
@ -2221,6 +2243,8 @@ EOF
|
||||
echores "$proc"
|
||||
fi
|
||||
|
||||
test $_fast_clz = "auto" && _fast_clz=yes
|
||||
|
||||
;;
|
||||
|
||||
hppa)
|
||||
@ -2654,6 +2678,8 @@ EOF
|
||||
fi
|
||||
echores "$_armv5te"
|
||||
|
||||
test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz=yes
|
||||
|
||||
echocheck "ARMv6 (SIMD instructions)"
|
||||
if test $_armv6 = "auto" ; then
|
||||
cat > $TMPC << EOF
|
||||
@ -2705,7 +2731,7 @@ EOF
|
||||
echores "$_iwmmxt"
|
||||
fi
|
||||
|
||||
_cpuexts_all='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
|
||||
_cpuexts_all='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV FAST_CLZ PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI'
|
||||
test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
|
||||
test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
|
||||
test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
|
||||
@ -2716,6 +2742,7 @@ test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
|
||||
test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
|
||||
test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
|
||||
test "$_fast_cmov" = yes && _cpuexts="FAST_CMOV $_cpuexts"
|
||||
test "$_fast_clz" = yes && _cpuexts="FAST_CLZ $_cpuexts"
|
||||
test "$pld" = yes && _cpuexts="PLD $_cpuexts"
|
||||
test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
|
||||
test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
|
||||
@ -5101,7 +5128,7 @@ int main(int argc, char *argv[]) {
|
||||
}
|
||||
EOF
|
||||
_sdl=no
|
||||
for _ld_tmp in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" ; do
|
||||
for _ld_tmp in "-lSDL" "-lSDL -lpthread" "-lSDL -lwinmm -lgdi32" "-lSDL -lwinmm -lgdi32 -ldxguid" ; do
|
||||
if cc_check -DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
|
||||
_sdl=yes
|
||||
def_sdl_sdl_h="#define CONFIG_SDL_SDL_H 1"
|
||||
@ -7610,6 +7637,14 @@ else
|
||||
echores "no"
|
||||
fi
|
||||
|
||||
echocheck "linker support for --nxcompat --no-seh --dynamicbase"
|
||||
if cc_check "-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase" ; then
|
||||
extra_ldflags="-Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase $extra_ldflags"
|
||||
echores "yes"
|
||||
else
|
||||
echores "no"
|
||||
fi
|
||||
|
||||
|
||||
# Dynamic linking flags
|
||||
# (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
|
||||
@ -8471,12 +8506,12 @@ $def_yasm
|
||||
#define CONFIG_SWSCALE_ALPHA 1
|
||||
|
||||
#define HAVE_ATTRIBUTE_PACKED 1
|
||||
#define HAVE_FAST_CLZ 0
|
||||
#define HAVE_GETHRTIME 0
|
||||
#define HAVE_INLINE_ASM 1
|
||||
#define HAVE_LDBRX 0
|
||||
#define HAVE_POLL_H 1
|
||||
#define HAVE_PPC4XX 0
|
||||
#define HAVE_VFP_ARGS 1
|
||||
#define HAVE_VIRTUALALLOC 0
|
||||
|
||||
/* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
|
||||
|
@ -984,6 +984,7 @@ videocodec ffodivx
|
||||
fourcc DCOD,MVXM,EM4A,PM4V
|
||||
fourcc M4T3,DMK2,DIGI,INMC
|
||||
fourcc EPHV,SN40
|
||||
fourcc uldx,ULDX,VSPX
|
||||
driver ffmpeg
|
||||
dll mpeg4 ;opendivx
|
||||
out YV12,I420,IYUV
|
||||
@ -1015,6 +1016,7 @@ videocodec ffodivxvdpau
|
||||
fourcc DCOD,MVXM,EM4A,PM4V
|
||||
fourcc M4T3,DMK2,DIGI,INMC
|
||||
fourcc EPHV,SN40
|
||||
fourcc uldx,ULDX,VSPX
|
||||
driver ffmpeg
|
||||
dll mpeg4_vdpau
|
||||
out VDPAU_MPEG4
|
||||
@ -1066,6 +1068,7 @@ videocodec xvid
|
||||
fourcc DCOD,MVXM,EM4A,PM4V
|
||||
fourcc M4T3,DMK2,DIGI,INMC
|
||||
fourcc EPHV,SN40
|
||||
fourcc uldx,ULDX,VSPX
|
||||
format 0x10000004 ; mpeg 4 es
|
||||
driver xvid
|
||||
out YV12
|
||||
|
@ -25,10 +25,13 @@ static const struct {
|
||||
int fmt;
|
||||
enum PixelFormat pix_fmt;
|
||||
} conversion_map[] = {
|
||||
{IMGFMT_BGR32, PIX_FMT_RGB32},
|
||||
{IMGFMT_ARGB, PIX_FMT_ARGB},
|
||||
{IMGFMT_BGRA, PIX_FMT_BGRA},
|
||||
{IMGFMT_BGR24, PIX_FMT_BGR24},
|
||||
{IMGFMT_BGR16, PIX_FMT_RGB565},
|
||||
{IMGFMT_BGR15, PIX_FMT_RGB555},
|
||||
{IMGFMT_BGR16BE, PIX_FMT_RGB565BE},
|
||||
{IMGFMT_BGR16LE, PIX_FMT_RGB565LE},
|
||||
{IMGFMT_BGR15BE, PIX_FMT_RGB555BE},
|
||||
{IMGFMT_BGR15LE, PIX_FMT_RGB555LE},
|
||||
{IMGFMT_BGR8, PIX_FMT_RGB8},
|
||||
{IMGFMT_BGR4, PIX_FMT_RGB4},
|
||||
{IMGFMT_BGR1, PIX_FMT_MONOBLACK},
|
||||
@ -37,10 +40,13 @@ static const struct {
|
||||
{IMGFMT_BG4B, PIX_FMT_RGB4_BYTE},
|
||||
{IMGFMT_RGB48LE, PIX_FMT_RGB48LE},
|
||||
{IMGFMT_RGB48BE, PIX_FMT_RGB48BE},
|
||||
{IMGFMT_RGB32, PIX_FMT_BGR32},
|
||||
{IMGFMT_ABGR, PIX_FMT_ABGR},
|
||||
{IMGFMT_RGBA, PIX_FMT_RGBA},
|
||||
{IMGFMT_RGB24, PIX_FMT_RGB24},
|
||||
{IMGFMT_RGB16, PIX_FMT_BGR565},
|
||||
{IMGFMT_RGB15, PIX_FMT_BGR555},
|
||||
{IMGFMT_RGB16BE, PIX_FMT_BGR565BE},
|
||||
{IMGFMT_RGB16LE, PIX_FMT_BGR565LE},
|
||||
{IMGFMT_RGB15BE, PIX_FMT_BGR555BE},
|
||||
{IMGFMT_RGB15LE, PIX_FMT_BGR555LE},
|
||||
{IMGFMT_RGB8, PIX_FMT_BGR8},
|
||||
{IMGFMT_RGB4, PIX_FMT_BGR4},
|
||||
{IMGFMT_BGR8, PIX_FMT_PAL8},
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include "osdep/strsep.h"
|
||||
|
||||
#include "af.h"
|
||||
|
||||
|
@ -35,12 +35,28 @@
|
||||
#define IMGFMT_ARGB IMGFMT_BGR32
|
||||
#define IMGFMT_RGBA (IMGFMT_BGR32|64)
|
||||
#define IMGFMT_RGB48NE IMGFMT_RGB48BE
|
||||
#define IMGFMT_RGB15BE IMGFMT_RGB15
|
||||
#define IMGFMT_RGB15LE (IMGFMT_RGB15|64)
|
||||
#define IMGFMT_RGB16BE IMGFMT_RGB16
|
||||
#define IMGFMT_RGB16LE (IMGFMT_RGB16|64)
|
||||
#define IMGFMT_BGR15BE IMGFMT_BGR15
|
||||
#define IMGFMT_BGR15LE (IMGFMT_BGR15|64)
|
||||
#define IMGFMT_BGR16BE IMGFMT_BGR16
|
||||
#define IMGFMT_BGR16LE (IMGFMT_BGR16|64)
|
||||
#else
|
||||
#define IMGFMT_ABGR (IMGFMT_BGR32|64)
|
||||
#define IMGFMT_BGRA IMGFMT_BGR32
|
||||
#define IMGFMT_ARGB (IMGFMT_RGB32|64)
|
||||
#define IMGFMT_RGBA IMGFMT_RGB32
|
||||
#define IMGFMT_RGB48NE IMGFMT_RGB48LE
|
||||
#define IMGFMT_RGB15BE (IMGFMT_RGB15|64)
|
||||
#define IMGFMT_RGB15LE IMGFMT_RGB15
|
||||
#define IMGFMT_RGB16BE (IMGFMT_RGB16|64)
|
||||
#define IMGFMT_RGB16LE IMGFMT_RGB16
|
||||
#define IMGFMT_BGR15BE (IMGFMT_BGR15|64)
|
||||
#define IMGFMT_BGR15LE IMGFMT_BGR15
|
||||
#define IMGFMT_BGR16BE (IMGFMT_BGR16|64)
|
||||
#define IMGFMT_BGR16LE IMGFMT_BGR16
|
||||
#endif
|
||||
|
||||
/* old names for compatibility */
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include "mp_msg.h"
|
||||
#include "help_mp.h"
|
||||
#include "av_opts.h"
|
||||
#include "osdep/strsep.h"
|
||||
|
||||
#include "codec-cfg.h"
|
||||
#include "stream/stream.h"
|
||||
@ -24,6 +25,7 @@
|
||||
#include "libmpdemux/muxer.h"
|
||||
|
||||
#include "img_format.h"
|
||||
#include "fmt-conversion.h"
|
||||
#include "mp_image.h"
|
||||
#include "vf.h"
|
||||
|
||||
@ -593,30 +595,9 @@ static int config(struct vf_instance* vf,
|
||||
}
|
||||
|
||||
mux_v->imgfmt = lavc_param_format;
|
||||
switch(lavc_param_format)
|
||||
{
|
||||
case IMGFMT_YV12:
|
||||
lavc_venc_context->pix_fmt = PIX_FMT_YUV420P;
|
||||
break;
|
||||
case IMGFMT_422P:
|
||||
lavc_venc_context->pix_fmt = PIX_FMT_YUV422P;
|
||||
break;
|
||||
case IMGFMT_444P:
|
||||
lavc_venc_context->pix_fmt = PIX_FMT_YUV444P;
|
||||
break;
|
||||
case IMGFMT_411P:
|
||||
lavc_venc_context->pix_fmt = PIX_FMT_YUV411P;
|
||||
break;
|
||||
case IMGFMT_YVU9:
|
||||
lavc_venc_context->pix_fmt = PIX_FMT_YUV410P;
|
||||
break;
|
||||
case IMGFMT_BGR32:
|
||||
lavc_venc_context->pix_fmt = PIX_FMT_RGB32;
|
||||
break;
|
||||
default:
|
||||
mp_msg(MSGT_MENCODER,MSGL_ERR,"%s is not a supported format\n", vo_format_name(lavc_param_format));
|
||||
lavc_venc_context->pix_fmt = imgfmt2pixfmt(lavc_param_format);
|
||||
if (lavc_venc_context->pix_fmt == PIX_FMT_NONE)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!stats_file) {
|
||||
/* lavc internal 2pass bitrate control */
|
||||
|
@ -33,6 +33,7 @@
|
||||
#else
|
||||
#include "osdep/glob.h"
|
||||
#endif
|
||||
#include "osdep/strsep.h"
|
||||
|
||||
#include "mp_msg.h"
|
||||
#include "help_mp.h"
|
||||
|
@ -60,10 +60,15 @@ void mp_get_yuv2rgb_coeffs(struct mp_csp_params *params, float yuv2rgb[3][4]) {
|
||||
float uvcos = params->saturation * cos(params->hue);
|
||||
float uvsin = params->saturation * sin(params->hue);
|
||||
int format = params->format;
|
||||
int levelconv = params->levelconv;
|
||||
int i;
|
||||
const float (*uv_coeffs)[3];
|
||||
const float *level_adjust;
|
||||
static const float yuv_pc_level_adjust[4] = {-16 / 255.0, -128 / 255.0, -128 / 255.0, 1.164};
|
||||
static const float yuv_level_adjust[MP_CSP_LEVELCONV_COUNT][4] = {
|
||||
{-16 / 255.0, -128 / 255.0, -128 / 255.0, 1.164},
|
||||
{ 16 / 255.0 * 1.164, -128 / 255.0, -128 / 255.0, 1.0/1.164},
|
||||
{ 0, -128 / 255.0, -128 / 255.0, 1},
|
||||
};
|
||||
static const float xyz_level_adjust[4] = {0, 0, 0, 0};
|
||||
static const float uv_coeffs_table[MP_CSP_COUNT][3][3] = {
|
||||
[MP_CSP_DEFAULT] = {
|
||||
@ -101,7 +106,9 @@ void mp_get_yuv2rgb_coeffs(struct mp_csp_params *params, float yuv2rgb[3][4]) {
|
||||
if (format < 0 || format >= MP_CSP_COUNT)
|
||||
format = MP_CSP_DEFAULT;
|
||||
uv_coeffs = uv_coeffs_table[format];
|
||||
level_adjust = yuv_pc_level_adjust;
|
||||
if (levelconv < 0 || levelconv >= MP_CSP_LEVELCONV_COUNT)
|
||||
levelconv = MP_CSP_LEVELCONV_TV_TO_PC;
|
||||
level_adjust = yuv_level_adjust[levelconv];
|
||||
if (format == MP_CSP_XYZ)
|
||||
level_adjust = xyz_level_adjust;
|
||||
|
||||
|
@ -31,8 +31,16 @@ enum mp_csp_standard {
|
||||
MP_CSP_COUNT
|
||||
};
|
||||
|
||||
enum mp_csp_levelconv {
|
||||
MP_CSP_LEVELCONV_TV_TO_PC,
|
||||
MP_CSP_LEVELCONV_PC_TO_TV,
|
||||
MP_CSP_LEVELCONV_NONE,
|
||||
MP_CSP_LEVELCONV_COUNT
|
||||
};
|
||||
|
||||
struct mp_csp_params {
|
||||
enum mp_csp_standard format;
|
||||
enum mp_csp_levelconv levelconv;
|
||||
float brightness;
|
||||
float contrast;
|
||||
float hue;
|
||||
|
@ -91,12 +91,14 @@ static RECT last_rect = {0xDEADC0DE, 0xDEADC0DE, 0xDEADC0DE, 0xDEADC0DE};
|
||||
* Defining them here allows us to get rid of the dxguid library during
|
||||
* the linking stage.
|
||||
*****************************************************************************/
|
||||
const GUID IID_IDirectDraw7 =
|
||||
#define IID_IDirectDraw7 MP_IID_IDirectDraw7
|
||||
static const GUID MP_IID_IDirectDraw7 =
|
||||
{
|
||||
0x15e65ec0,0x3b9c,0x11d2,{0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b}
|
||||
};
|
||||
|
||||
const GUID IID_IDirectDrawColorControl =
|
||||
#define IID_IDirectDrawColorControl MP_IID_IDirectDrawColorControl
|
||||
static const GUID MP_IID_IDirectDrawColorControl =
|
||||
{
|
||||
0x4b9f0ee0,0x0d7e,0x11d0,{0x9b,0x06,0x00,0xa0,0xc9,0x03,0xa3,0xb8}
|
||||
};
|
||||
|
@ -91,6 +91,7 @@ static int use_ycbcr;
|
||||
#define MASK_GAMMA_SUPPORT (MASK_NOT_COMBINERS & ~(1 << YUV_CONVERSION_FRAGMENT))
|
||||
static int use_yuv;
|
||||
static int colorspace;
|
||||
static int levelconv;
|
||||
static int is_yuv;
|
||||
static int lscale;
|
||||
static int cscale;
|
||||
@ -214,7 +215,7 @@ static void update_yuvconv(void) {
|
||||
float ggamma = exp(log(8.0) * eq_ggamma / 100.0);
|
||||
float bgamma = exp(log(8.0) * eq_bgamma / 100.0);
|
||||
gl_conversion_params_t params = {gl_target, yuvconvtype,
|
||||
{colorspace, bri, cont, hue, sat, rgamma, ggamma, bgamma},
|
||||
{colorspace, levelconv, bri, cont, hue, sat, rgamma, ggamma, bgamma},
|
||||
texture_width, texture_height, 0, 0, filter_strength};
|
||||
mp_get_chroma_shift(image_format, &xs, &ys);
|
||||
params.chrom_texw = params.texw >> xs;
|
||||
@ -996,6 +997,12 @@ static int valid_csp(void *p)
|
||||
return *csp >= -1 && *csp < MP_CSP_COUNT;
|
||||
}
|
||||
|
||||
static int valid_csp_lvl(void *p)
|
||||
{
|
||||
int *lvl = p;
|
||||
return *lvl >= -1 && *lvl < MP_CSP_LEVELCONV_COUNT;
|
||||
}
|
||||
|
||||
static const opt_t subopts[] = {
|
||||
{"manyfmts", OPT_ARG_BOOL, &many_fmts, NULL},
|
||||
{"osd", OPT_ARG_BOOL, &use_osd, NULL},
|
||||
@ -1006,6 +1013,7 @@ static const opt_t subopts[] = {
|
||||
{"rectangle", OPT_ARG_INT, &use_rectangle,int_non_neg},
|
||||
{"yuv", OPT_ARG_INT, &use_yuv, int_non_neg},
|
||||
{"colorspace", OPT_ARG_INT, &colorspace, valid_csp},
|
||||
{"levelconv", OPT_ARG_INT, &levelconv, valid_csp_lvl},
|
||||
{"lscale", OPT_ARG_INT, &lscale, int_non_neg},
|
||||
{"cscale", OPT_ARG_INT, &cscale, int_non_neg},
|
||||
{"filter-strength", OPT_ARG_FLOAT, &filter_strength, NULL},
|
||||
@ -1037,6 +1045,7 @@ static int preinit(const char *arg)
|
||||
use_ycbcr = 0;
|
||||
use_yuv = 0;
|
||||
colorspace = -1;
|
||||
levelconv = -1;
|
||||
lscale = 0;
|
||||
cscale = 0;
|
||||
filter_strength = 0.5;
|
||||
@ -1099,6 +1108,10 @@ static int preinit(const char *arg)
|
||||
" 3: YUV to RGB according to SMPT-240M\n"
|
||||
" 4: YUV to RGB according to EBU\n"
|
||||
" 5: XYZ to RGB\n"
|
||||
" levelconv=<n>\n"
|
||||
" 0: YUV to RGB converting TV to PC levels\n"
|
||||
" 1: YUV to RGB converting PC to TV levels\n"
|
||||
" 2: YUV to RGB without converting levels\n"
|
||||
" lscale=<n>\n"
|
||||
" 0: use standard bilinear scaling for luma.\n"
|
||||
" 1: use improved bicubic scaling for luma.\n"
|
||||
|
@ -561,7 +561,7 @@ static int initGl(uint32_t d_width, uint32_t d_height)
|
||||
if (is_yuv) {
|
||||
int xs, ys;
|
||||
gl_conversion_params_t params = {GL_TEXTURE_2D, use_yuv,
|
||||
{MP_CSP_DEFAULT, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0},
|
||||
{-1, -1, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0},
|
||||
texture_width, texture_height, 0, 0, 0};
|
||||
switch (use_yuv) {
|
||||
case YUV_CONVERSION_FRAGMENT_LOOKUP:
|
||||
|
@ -56,6 +56,8 @@ extern const GUID IID_IDivxFilterInterface;
|
||||
extern const GUID CLSID_IV50_Decoder;
|
||||
extern const GUID CLSID_MemoryAllocator;
|
||||
extern const GUID MEDIATYPE_Video;
|
||||
// avoid a clash with MinGW-W64 libuuid
|
||||
#define GUID_NULL MP_GUID_NULL
|
||||
extern const GUID GUID_NULL;
|
||||
extern const GUID FORMAT_VideoInfo;
|
||||
extern const GUID MEDIASUBTYPE_RGB1;
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "strsep.h"
|
||||
|
||||
char *strsep(char **stringp, const char *delim) {
|
||||
char *begin, *end;
|
||||
|
30
osdep/strsep.h
Normal file
30
osdep/strsep.h
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* strsep implementation for systems that do not have it in libc
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
#ifndef MPLAYER_STRSEP_H
|
||||
#define MPLAYER_STRSEP_H
|
||||
|
||||
#include <string.h>
|
||||
#include "config.h"
|
||||
|
||||
#ifndef HAVE_STRSEP
|
||||
char *strsep(char **stringp, const char *delim);
|
||||
#endif
|
||||
|
||||
#endif /* MPLAYER_STRSEP_H */
|
@ -374,86 +374,127 @@ static int tv_available_inputs_count = 0;
|
||||
*
|
||||
*---------------------------------------------------------------------------------------
|
||||
*/
|
||||
// selectany can not be used with "static", fixes compilation with mingw-w64
|
||||
#undef DECLSPEC_SELECTANY
|
||||
#define DECLSPEC_SELECTANY
|
||||
/// CLSID definitions (used for CoCreateInstance call)
|
||||
DEFINE_GUID(CLSID_SampleGrabber, 0xC1F400A0, 0x3F08, 0x11d3, 0x9F, 0x0B,
|
||||
#define CLSID_SampleGrabber MP_CLSID_SampleGrabber
|
||||
static DEFINE_GUID(CLSID_SampleGrabber, 0xC1F400A0, 0x3F08, 0x11d3, 0x9F, 0x0B,
|
||||
0x00, 0x60, 0x08, 0x03, 0x9E, 0x37);
|
||||
DEFINE_GUID(CLSID_NullRenderer, 0xC1F400A4, 0x3F08, 0x11d3, 0x9F, 0x0B,
|
||||
#define CLSID_NullRenderer MP_CLSID_NullRenderer
|
||||
static DEFINE_GUID(CLSID_NullRenderer, 0xC1F400A4, 0x3F08, 0x11d3, 0x9F, 0x0B,
|
||||
0x00, 0x60, 0x08, 0x03, 0x9E, 0x37);
|
||||
DEFINE_GUID(CLSID_SystemDeviceEnum, 0x62BE5D10, 0x60EB, 0x11d0, 0xBD, 0x3B,
|
||||
#define CLSID_SystemDeviceEnum MP_CLSID_SystemDeviceEnum
|
||||
static DEFINE_GUID(CLSID_SystemDeviceEnum, 0x62BE5D10, 0x60EB, 0x11d0, 0xBD, 0x3B,
|
||||
0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
|
||||
DEFINE_GUID(CLSID_CaptureGraphBuilder2, 0xBF87B6E1, 0x8C27, 0x11d0, 0xB3,
|
||||
#define CLSID_CaptureGraphBuilder2 MP_CLSID_CaptureGraphBuilder2
|
||||
static DEFINE_GUID(CLSID_CaptureGraphBuilder2, 0xBF87B6E1, 0x8C27, 0x11d0, 0xB3,
|
||||
0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
|
||||
DEFINE_GUID(CLSID_VideoInputDeviceCategory, 0x860BB310, 0x5D01, 0x11d0,
|
||||
#define CLSID_VideoInputDeviceCategory MP_CLSID_VideoInputDeviceCategory
|
||||
static DEFINE_GUID(CLSID_VideoInputDeviceCategory, 0x860BB310, 0x5D01, 0x11d0,
|
||||
0xBD, 0x3B, 0x00, 0xA0, 0xC9, 0x11, 0xCE, 0x86);
|
||||
DEFINE_GUID(CLSID_AudioInputDeviceCategory, 0x33d9a762, 0x90c8, 0x11d0,
|
||||
#define CLSID_AudioInputDeviceCategory MP_CLSID_AudioInputDeviceCategory
|
||||
static DEFINE_GUID(CLSID_AudioInputDeviceCategory, 0x33d9a762, 0x90c8, 0x11d0,
|
||||
0xbd, 0x43, 0x00, 0xa0, 0xc9, 0x11, 0xce, 0x86);
|
||||
DEFINE_GUID(CLSID_FilterGraph, 0xe436ebb3, 0x524f, 0x11ce, 0x9f, 0x53,
|
||||
#define CLSID_FilterGraph MP_CLSID_FilterGraph
|
||||
static DEFINE_GUID(CLSID_FilterGraph, 0xe436ebb3, 0x524f, 0x11ce, 0x9f, 0x53,
|
||||
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(CLSID_SystemClock, 0xe436ebb1, 0x524f, 0x11ce, 0x9f, 0x53,
|
||||
#define CLSID_SystemClock MP_CLSID_SystemClock
|
||||
static DEFINE_GUID(CLSID_SystemClock, 0xe436ebb1, 0x524f, 0x11ce, 0x9f, 0x53,
|
||||
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
#ifdef NOT_USED
|
||||
DEFINE_GUID(CLSID_CaptureGraphBuilder, 0xBF87B6E0, 0x8C27, 0x11d0, 0xB3,
|
||||
#define CLSID_CaptureGraphBuilder MP_CLSID_CaptureGraphBuilder
|
||||
static DEFINE_GUID(CLSID_CaptureGraphBuilder, 0xBF87B6E0, 0x8C27, 0x11d0, 0xB3,
|
||||
0xF0, 0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
|
||||
DEFINE_GUID(CLSID_VideoPortManager, 0x6f26a6cd, 0x967b, 0x47fd, 0x87, 0x4a,
|
||||
#define CLSID_VideoPortManager MP_CLSID_VideoPortManager
|
||||
static DEFINE_GUID(CLSID_VideoPortManager, 0x6f26a6cd, 0x967b, 0x47fd, 0x87, 0x4a,
|
||||
0x7a, 0xed, 0x2c, 0x9d, 0x25, 0xa2);
|
||||
DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20,
|
||||
#define IID_IPin MP_IID_IPin
|
||||
static DEFINE_GUID(IID_IPin, 0x56a86891, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20,
|
||||
0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,
|
||||
#define IID_ICaptureGraphBuilder MP_IID_ICaptureGraphBuilder
|
||||
static DEFINE_GUID(IID_ICaptureGraphBuilder, 0xbf87b6e0, 0x8c27, 0x11d0, 0xb3,
|
||||
0xf0, 0x00, 0xaa, 0x00, 0x37, 0x61, 0xc5);
|
||||
DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
|
||||
#define IID_IFilterGraph MP_IID_IFilterGraph
|
||||
static DEFINE_GUID(IID_IFilterGraph, 0x56a8689f, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
|
||||
0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
#define PIN_CATEGORY_PREVIEW MP_PIN_CATEGORY_PREVIEW
|
||||
static DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||
#endif
|
||||
|
||||
/// IID definitions (used for QueryInterface call)
|
||||
DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a,
|
||||
#define IID_IReferenceClock MP_IID_IReferenceClock
|
||||
static DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a,
|
||||
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ED71A0, 0xAF5F, 0x11D0, 0xB3, 0xF0,
|
||||
#define IID_IAMBufferNegotiation MP_IID_IAMBufferNegotiation
|
||||
static DEFINE_GUID(IID_IAMBufferNegotiation, 0x56ED71A0, 0xAF5F, 0x11D0, 0xB3, 0xF0,
|
||||
0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
|
||||
DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa,
|
||||
#define IID_IKsPropertySet MP_IID_IKsPropertySet
|
||||
static DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa,
|
||||
0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
|
||||
DEFINE_GUID(IID_ISampleGrabber, 0x6B652FFF, 0x11FE, 0x4fce, 0x92, 0xAD,
|
||||
#define IID_ISampleGrabber MP_IID_ISampleGrabber
|
||||
static DEFINE_GUID(IID_ISampleGrabber, 0x6B652FFF, 0x11FE, 0x4fce, 0x92, 0xAD,
|
||||
0x02, 0x66, 0xB5, 0xD7, 0xC7, 0x8F);
|
||||
DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154A, 0x2B53, 0x4994, 0xB0, 0xD0,
|
||||
#define IID_ISampleGrabberCB MP_IID_ISampleGrabberCB
|
||||
static DEFINE_GUID(IID_ISampleGrabberCB, 0x0579154A, 0x2B53, 0x4994, 0xB0, 0xD0,
|
||||
0xE7, 0x73, 0x14, 0x8E, 0xFF, 0x85);
|
||||
DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,
|
||||
#define IID_ICaptureGraphBuilder2 MP_IID_ICaptureGraphBuilder2
|
||||
static DEFINE_GUID(IID_ICaptureGraphBuilder2, 0x93e5a4e0, 0x2d50, 0x11d2, 0xab,
|
||||
0xfa, 0x00, 0xa0, 0xc9, 0xc6, 0xe3, 0x8d);
|
||||
DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd, 0x3b,
|
||||
#define IID_ICreateDevEnum MP_IID_ICreateDevEnum
|
||||
static DEFINE_GUID(IID_ICreateDevEnum, 0x29840822, 0x5b84, 0x11d0, 0xbd, 0x3b,
|
||||
0x00, 0xa0, 0xc9, 0x11, 0xce, 0x86);
|
||||
DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a,
|
||||
#define IID_IGraphBuilder MP_IID_IGraphBuilder
|
||||
static DEFINE_GUID(IID_IGraphBuilder, 0x56a868a9, 0x0ad4, 0x11ce, 0xb0, 0x3a,
|
||||
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(IID_IAMVideoProcAmp, 0xC6E13360, 0x30AC, 0x11d0, 0xA1, 0x8C,
|
||||
#define IID_IAMVideoProcAmp MP_IID_IAMVideoProcAmp
|
||||
static DEFINE_GUID(IID_IAMVideoProcAmp, 0xC6E13360, 0x30AC, 0x11d0, 0xA1, 0x8C,
|
||||
0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56);
|
||||
DEFINE_GUID(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
|
||||
#define IID_IVideoWindow MP_IID_IVideoWindow
|
||||
static DEFINE_GUID(IID_IVideoWindow, 0x56a868b4, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00,
|
||||
0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a,
|
||||
#define IID_IMediaControl MP_IID_IMediaControl
|
||||
static DEFINE_GUID(IID_IMediaControl, 0x56a868b1, 0x0ad4, 0x11ce, 0xb0, 0x3a,
|
||||
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||
DEFINE_GUID(IID_IAMTVTuner, 0x211A8766, 0x03AC, 0x11d1, 0x8D, 0x13, 0x00,
|
||||
#define IID_IAMTVTuner MP_IID_IAMTVTuner
|
||||
static DEFINE_GUID(IID_IAMTVTuner, 0x211A8766, 0x03AC, 0x11d1, 0x8D, 0x13, 0x00,
|
||||
0xAA, 0x00, 0xBD, 0x83, 0x39);
|
||||
DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00,
|
||||
#define IID_IAMCrossbar MP_IID_IAMCrossbar
|
||||
static DEFINE_GUID(IID_IAMCrossbar, 0xc6e13380, 0x30ac, 0x11d0, 0xa1, 0x8c, 0x00,
|
||||
0xa0, 0xc9, 0x11, 0x89, 0x56);
|
||||
DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1, 0x8c,
|
||||
#define IID_IAMStreamConfig MP_IID_IAMStreamConfig
|
||||
static DEFINE_GUID(IID_IAMStreamConfig, 0xc6e13340, 0x30ac, 0x11d0, 0xa1, 0x8c,
|
||||
0x00, 0xa0, 0xc9, 0x11, 0x89, 0x56);
|
||||
DEFINE_GUID(IID_IAMAudioInputMixer, 0x54C39221, 0x8380, 0x11d0, 0xB3, 0xF0,
|
||||
#define IID_IAMAudioInputMixer MP_IID_IAMAudioInputMixer
|
||||
static DEFINE_GUID(IID_IAMAudioInputMixer, 0x54C39221, 0x8380, 0x11d0, 0xB3, 0xF0,
|
||||
0x00, 0xAA, 0x00, 0x37, 0x61, 0xC5);
|
||||
DEFINE_GUID(IID_IAMTVAudio, 0x83EC1C30, 0x23D1, 0x11d1, 0x99, 0xE6, 0x00,
|
||||
#define IID_IAMTVAudio MP_IID_IAMTVAudio
|
||||
static DEFINE_GUID(IID_IAMTVAudio, 0x83EC1C30, 0x23D1, 0x11d1, 0x99, 0xE6, 0x00,
|
||||
0xA0, 0xC9, 0x56, 0x02, 0x66);
|
||||
DEFINE_GUID(IID_IAMAnalogVideoDecoder, 0xC6E13350, 0x30AC, 0x11d0, 0xA1,
|
||||
#define IID_IAMAnalogVideoDecoder MP_IID_IAMAnalogVideoDecoder
|
||||
static DEFINE_GUID(IID_IAMAnalogVideoDecoder, 0xC6E13350, 0x30AC, 0x11d0, 0xA1,
|
||||
0x8C, 0x00, 0xA0, 0xC9, 0x11, 0x89, 0x56);
|
||||
DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81, 0x35, 0x00,
|
||||
#define IID_IPropertyBag MP_IID_IPropertyBag
|
||||
static DEFINE_GUID(IID_IPropertyBag, 0x55272a00, 0x42cb, 0x11ce, 0x81, 0x35, 0x00,
|
||||
0xaa, 0x00, 0x4b, 0xb8, 0x51);
|
||||
DEFINE_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
#define PIN_CATEGORY_CAPTURE MP_PIN_CATEGORY_CAPTURE
|
||||
static DEFINE_GUID(PIN_CATEGORY_CAPTURE, 0xfb6c4281, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||
DEFINE_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
#define PIN_CATEGORY_VIDEOPORT MP_PIN_CATEGORY_VIDEOPORT
|
||||
static DEFINE_GUID(PIN_CATEGORY_VIDEOPORT, 0xfb6c4285, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||
DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
#define PIN_CATEGORY_PREVIEW MP_PIN_CATEGORY_PREVIEW
|
||||
static DEFINE_GUID(PIN_CATEGORY_PREVIEW, 0xfb6c4282, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||
DEFINE_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
#define PIN_CATEGORY_VBI MP_PIN_CATEGORY_VBI
|
||||
static DEFINE_GUID(PIN_CATEGORY_VBI, 0xfb6c4284, 0x0353, 0x11d1, 0x90, 0x5f,
|
||||
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||
DEFINE_GUID(PROPSETID_TUNER, 0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00,
|
||||
#define PROPSETID_TUNER MP_PROPSETID_TUNER
|
||||
static DEFINE_GUID(PROPSETID_TUNER, 0x6a2e0605, 0x28e4, 0x11d0, 0xa1, 0x8c, 0x00,
|
||||
0xa0, 0xc9, 0x11, 0x89, 0x56);
|
||||
DEFINE_GUID(MEDIATYPE_VBI, 0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00,
|
||||
#define MEDIATYPE_VBI MP_MEDIATYPE_VBI
|
||||
static DEFINE_GUID(MEDIATYPE_VBI, 0xf72a76e1, 0xeb0a, 0x11d0, 0xac, 0xe4, 0x00,
|
||||
0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||
|
||||
#define INSTANCEDATA_OF_PROPERTY_PTR(x) (((KSPROPERTY*)(x)) + 1)
|
||||
|
Loading…
Reference in New Issue
Block a user