mirror of
https://github.com/mpv-player/mpv
synced 2025-01-12 09:59:44 +00: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
|
* Support for more formats in OpenGL vos (different YUV
|
||||||
subsampling, 16 bit per component)
|
subsampling, 16 bit per component)
|
||||||
* Selectable YUV to RGB conversion standard for -vo gl
|
* Selectable YUV to RGB conversion standard for -vo gl
|
||||||
(-vo gl:colorspace=...)
|
(-vo gl:colorspace=...:levelconv=...)
|
||||||
* -vo matrixview finally added
|
* -vo matrixview finally added
|
||||||
|
|
||||||
Other:
|
Other:
|
||||||
@ -43,6 +43,9 @@ MPlayer (1.0)
|
|||||||
Use e.g. ffmpeg://http://example.com/test
|
Use e.g. ffmpeg://http://example.com/test
|
||||||
* better support for 16-bit-per-component formats and formats
|
* better support for 16-bit-per-component formats and formats
|
||||||
with alpha channel.
|
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:
|
MEncoder:
|
||||||
* add -tsprog for demuxer lavf
|
* add -tsprog for demuxer lavf
|
||||||
|
@ -3872,6 +3872,16 @@ Use ITU-R BT.709 color space.
|
|||||||
.IPs 3
|
.IPs 3
|
||||||
Use SMPTE-240M color space.
|
Use SMPTE-240M color space.
|
||||||
.RE
|
.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>
|
.IPs lscale=<n>
|
||||||
Select the scaling function to use for luminance scaling.
|
Select the scaling function to use for luminance scaling.
|
||||||
Only valid for yuv modes 2, 3, 4 and 6.
|
Only valid for yuv modes 2, 3, 4 and 6.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
.\" synced with r30043
|
.\" synced with r30336
|
||||||
.\" Encoding: iso-8859-1
|
.\" Encoding: iso-8859-1
|
||||||
.\" MPlayer (C) 2000-2009 MPlayer Team
|
.\" MPlayer (C) 2000-2009 MPlayer Team
|
||||||
.\" Questa pagina di manuale è stata fatta da Gabucino, Diego Biurrun,
|
.\" 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.
|
chiuso.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-bandwidth <valore> (solo rete)
|
.B \-bandwidth <Bytes> (solo rete)
|
||||||
Specifica la massima larghezza di banda (bandwidth) per lo streaming attraverso
|
Specifica la massima larghezza di banda (bandwidth) per lo streaming attraverso
|
||||||
una rete (per quei server che sono capaci di inviare contenuti, normalmente
|
una rete (per quei server che sono capaci di inviare contenuti, normalmente
|
||||||
filmati, a diversi bitrate).
|
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
|
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 banda in uscita dal server, permettendo un riempimento della cache e un dump
|
||||||
di flusso più veloce.
|
del flusso più rapido.
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B \-cache <KBytes>
|
.B \-cache <KBytes>
|
||||||
@ -1347,15 +1347,15 @@ Usa il dispositivo SCSI generico specificato
|
|||||||
.IPs sector-size=<valore>
|
.IPs sector-size=<valore>
|
||||||
Dimensione di una lettura atomica
|
Dimensione di una lettura atomica
|
||||||
.IPs overlap=<valore>
|
.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
|
.IPs toc-bias
|
||||||
Assume che lo scostamento iniziale della traccia 1 come riportato nella TOC
|
Assume che lo scostamento iniziale della traccia 1 come riportato nella TOC
|
||||||
sarà indirizzato come LBA 0.
|
sarà indirizzato come LBA 0.
|
||||||
Alcuni lettori Toshiba hanno bisogno di questa opzione per ottenere la corretta
|
Alcuni lettori Toshiba hanno bisogno di questa opzione per ottenere la corretta
|
||||||
delimitazione delle tracce.
|
delimitazione delle tracce.
|
||||||
.IPs toc-offset=<valore>
|
.IPs toc-offset=<valore>
|
||||||
Aggiunge <valore> settori ai valori riportati quando si indirizzano
|
Aggiunge <valore> settori ai valori riportati quando si indirizzano le tracce.
|
||||||
le tracce.
|
|
||||||
Può essere negativo.
|
Può essere negativo.
|
||||||
.IPs (no)skip
|
.IPs (no)skip
|
||||||
(Non) accetta una ricostruzione imperfetta dei dati.
|
(Non) accetta una ricostruzione imperfetta dei dati.
|
||||||
@ -2672,7 +2672,7 @@ Attiva il raggio della sfocatura del font (default: 2).
|
|||||||
.TP
|
.TP
|
||||||
.B \-subfont\-encoding <valore> (solo FreeType)
|
.B \-subfont\-encoding <valore> (solo FreeType)
|
||||||
Attiva la codifica del font.
|
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).
|
e verrà usato l'unicode (default: unicode).
|
||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
@ -3606,7 +3606,7 @@ Seleziona la sorgente da cui viene preso il colorkey (default: cur).
|
|||||||
.IPs cur
|
.IPs cur
|
||||||
Il default prende il colorkey correntemente configurato in Xv.
|
Il default prende il colorkey correntemente configurato in Xv.
|
||||||
.IPs use
|
.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).
|
per cambiarlo).
|
||||||
.IPs set
|
.IPs set
|
||||||
Uguale a use ma imposta anche il colorkey fornito.
|
Uguale a use ma imposta anche il colorkey fornito.
|
||||||
@ -3668,7 +3668,7 @@ Pu
|
|||||||
del flusso A/V (default: noqueue).
|
del flusso A/V (default: noqueue).
|
||||||
.IPs (no)sleep
|
.IPs (no)sleep
|
||||||
Utilizza la funzione sleep mentre aspetta che finisca la visualizzazione
|
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
|
.IPs ck=cur|use|set
|
||||||
E' lo stesso che \-vo xv:ck (vedi \-vo xv).
|
E' lo stesso che \-vo xv:ck (vedi \-vo xv).
|
||||||
.IPs ck-method=man|bg|auto
|
.IPs ck-method=man|bg|auto
|
||||||
@ -4024,6 +4024,10 @@ orizzontale / n).
|
|||||||
Richiede il supporto GLX_SGI_swap_control per funzionare.
|
Richiede il supporto GLX_SGI_swap_control per funzionare.
|
||||||
Con alcune (la maggior parte/tutte?) implementazioni funziona sono in modalità
|
Con alcune (la maggior parte/tutte?) implementazioni funziona sono in modalità
|
||||||
a schermo intero.
|
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>
|
.IPs yuv=<n>
|
||||||
Seleziona il tipo di conversione da YUV a RGB.
|
Seleziona il tipo di conversione da YUV a RGB.
|
||||||
.RSss
|
.RSss
|
||||||
@ -4069,10 +4073,28 @@ La gamma pu
|
|||||||
La velocità dipende più dall'ampiezza di memoria della GPU rispetto agli altri
|
La velocità dipende più dall'ampiezza di memoria della GPU rispetto agli altri
|
||||||
metodi.
|
metodi.
|
||||||
.RE
|
.RE
|
||||||
.IPs ycbcr
|
.IPs colorspace
|
||||||
Usa l'estenzione GL_MESA_ycbcr_texture per convertire da YUV a RGB.
|
Seleziona lo spazio colore per la conversione da YUV a RGB.
|
||||||
Nella maggior parte dei casi è probabilmente più lento di una conversione
|
.RSss
|
||||||
software verso RGB.
|
.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>
|
.IPs lscale=<n>
|
||||||
Seleziona la funzione di ridimensionamento da usare per il ridimensionamento
|
Seleziona la funzione di ridimensionamento da usare per il ridimensionamento
|
||||||
della luminanza.
|
della luminanza.
|
||||||
@ -4113,6 +4135,13 @@ GL_NEAREST per la texture 'customtex'.
|
|||||||
.IPs (no)customtrect
|
.IPs (no)customtrect
|
||||||
Se abilitata, usa texture_rectangle per la texture 'customtex'.
|
Se abilitata, usa texture_rectangle per la texture 'customtex'.
|
||||||
Disabilitata di default.
|
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
|
.RE
|
||||||
.sp 1
|
.sp 1
|
||||||
.RS
|
.RS
|
||||||
@ -4171,6 +4200,23 @@ A parte ci
|
|||||||
.REss
|
.REss
|
||||||
.
|
.
|
||||||
.TP
|
.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\ \ \ "
|
.B "null\ \ \ "
|
||||||
Non produce nessuna uscita video.
|
Non produce nessuna uscita video.
|
||||||
Utile per benchmarking (prove di velocità).
|
Utile per benchmarking (prove di velocità).
|
||||||
@ -4226,17 +4272,20 @@ Visualizza il video utilizzando la libreria DirectFB.
|
|||||||
.IPs (no)input
|
.IPs (no)input
|
||||||
Utilizza il codice della tastiera di DirectFB invece di quello standard di MPlayer. (default: abilitato)
|
Utilizza il codice della tastiera di DirectFB invece di quello standard di MPlayer. (default: abilitato)
|
||||||
.IPs buffermode=single|double|triple
|
.IPs buffermode=single|double|triple
|
||||||
Il doppio ed il triplo buffering danno i migliori risultati se vuoi evitare problemi di tearing.
|
Il doppio ed il triplo buffering danno i migliori risultati se vuoi evitare
|
||||||
Il triplo buffering è più efficiente del doppio buffering perché non blocca MPlayer
|
problemi di tearing.
|
||||||
mentre aspetta il tracciamento verticale.
|
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).
|
La bufferizzazione singola dovrebbe essere evitata (default: single).
|
||||||
.IPs fieldparity=top|bottom
|
.IPs fieldparity=top|bottom
|
||||||
Controlla l'ordine di uscita dei fotogrammi interlacciati (default: disabilitato).
|
Controlla l'ordine di uscita dei fotogrammi interlacciati
|
||||||
Valori validi sono top (prima il campo superiore) e bottom (prima il campo inferiore).
|
(default: disabilitato).
|
||||||
Questa opzione non ha alcun effetto su materiale progressivo, generalmente la maggior
|
Valori validi sono top (prima il campo superiore) e bottom (prima il campo
|
||||||
parte dei film MPEG.
|
inferiore).
|
||||||
Devi abilitare questa opzione se hai effetti di tearing oppure movimenti non uniformi
|
Questa opzione non ha alcun effetto su materiale progressivo, generalmente la
|
||||||
guardando materiale interlacciato.
|
maggior parte dei film MPEG.
|
||||||
|
Devi abilitare questa opzione se hai effetti di tearing oppure movimenti non
|
||||||
|
uniformi guardando materiale interlacciato.
|
||||||
.IPs layer=N
|
.IPs layer=N
|
||||||
Forza l'utilizzo del layer con ID N per la riproduzione (default: \-1 \- auto).
|
Forza l'utilizzo del layer con ID N per la riproduzione (default: \-1 \- auto).
|
||||||
.IPs dfbopts=<list>
|
.IPs dfbopts=<list>
|
||||||
@ -8134,7 +8183,7 @@ lascia che sia LAME a scegliere il valore automaticamente.
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B preset=<valore>
|
.B preset=<valore>
|
||||||
valore dei settaggi predefiniti (Preset)
|
valore delle impostazioni predefinite (Preset)
|
||||||
.RSs
|
.RSs
|
||||||
.IPs "help\ "
|
.IPs "help\ "
|
||||||
Stampa le opzioni aggiuntive ed informazioni sui preset.
|
Stampa le opzioni aggiuntive ed informazioni sui preset.
|
||||||
@ -8145,7 +8194,7 @@ codifica VBR, alta qualit
|
|||||||
.IPs extreme
|
.IPs extreme
|
||||||
codifica VBR, qualità molto alta, bitrate compreso tra 200\-240 kbps
|
codifica VBR, qualità molto alta, bitrate compreso tra 200\-240 kbps
|
||||||
.IPs insane
|
.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>
|
.IPs <8\-320>
|
||||||
codifica ABR al bitrate medio specificato
|
codifica ABR al bitrate medio specificato
|
||||||
.RE
|
.RE
|
||||||
@ -9944,12 +9993,12 @@ dai blocchi circostanti (default: attiva).
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
.B vhq=<0\-4>
|
.B vhq=<0\-4>
|
||||||
L'algoritmo di ricerca del movimento è basato su una ricerca nel dominio del colore
|
L'algoritmo di ricerca del movimento è basato su una ricerca nel dominio del
|
||||||
e cerca di trovare un vettore di movimento che minimizzi la differenza tra il fotogramma
|
colore e cerca di trovare un vettore di movimento che minimizzi la differenza
|
||||||
di riferimento e quello codificato.
|
tra il fotogramma di riferimento e quello codificato.
|
||||||
Con questo settaggio attivato Xvid userà anche il dominio delle frequenze (DCT)
|
Con questa impostazione attivata, Xvid userà anche il dominio delle frequenze
|
||||||
per ricercare un vettore di movimento che minimizzi non solo la differenza spaziale, ma
|
(DCT) per ricercare un vettore di movimento che minimizzi non solo la
|
||||||
anche la lunghezza codificata del blocco.
|
differenza spaziale, ma anche la lunghezza codificata del blocco.
|
||||||
Dalla più rapida alla più lenta:
|
Dalla più rapida alla più lenta:
|
||||||
.PD 0
|
.PD 0
|
||||||
.RSs
|
.RSs
|
||||||
|
49
configure
vendored
49
configure
vendored
@ -167,7 +167,7 @@ alpha() {
|
|||||||
|
|
||||||
arm() {
|
arm() {
|
||||||
case "$host_arch" in
|
case "$host_arch" in
|
||||||
arm) return 0;;
|
arm*) return 0;;
|
||||||
*) return 1;;
|
*) return 1;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@ -487,6 +487,7 @@ _sse2=auto
|
|||||||
_ssse3=auto
|
_ssse3=auto
|
||||||
_cmov=auto
|
_cmov=auto
|
||||||
_fast_cmov=auto
|
_fast_cmov=auto
|
||||||
|
_fast_clz=auto
|
||||||
_armv5te=auto
|
_armv5te=auto
|
||||||
_armv6=auto
|
_armv6=auto
|
||||||
_armv6t2=auto
|
_armv6t2=auto
|
||||||
@ -1225,6 +1226,8 @@ for ac_option do
|
|||||||
--disable-cmov) _cmov=no ;;
|
--disable-cmov) _cmov=no ;;
|
||||||
--enable-fast-cmov) _fast_cmov=yes ;;
|
--enable-fast-cmov) _fast_cmov=yes ;;
|
||||||
--disable-fast-cmov) _fast_cmov=no ;;
|
--disable-fast-cmov) _fast_cmov=no ;;
|
||||||
|
--enable-fast-clz) _fast_clz=yes ;;
|
||||||
|
--disable-fast-clz) _fast_clz=no ;;
|
||||||
--enable-altivec) _altivec=yes ;;
|
--enable-altivec) _altivec=yes ;;
|
||||||
--disable-altivec) _altivec=no ;;
|
--disable-altivec) _altivec=no ;;
|
||||||
--enable-armv5te) _armv5te=yes ;;
|
--enable-armv5te) _armv5te=yes ;;
|
||||||
@ -1715,7 +1718,9 @@ case "$host_arch" in
|
|||||||
proc=k8
|
proc=k8
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) proc=k8 iproc=686 ;;
|
*) proc=amdfam10 iproc=686
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
GenuineIntel)
|
GenuineIntel)
|
||||||
@ -1741,6 +1746,7 @@ case "$host_arch" in
|
|||||||
else
|
else
|
||||||
proc=i686
|
proc=i686
|
||||||
fi
|
fi
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
;;
|
;;
|
||||||
15) iproc=686
|
15) iproc=686
|
||||||
# A nocona in 32-bit mode has no more capabilities than a prescott.
|
# A nocona in 32-bit mode has no more capabilities than a prescott.
|
||||||
@ -1748,6 +1754,7 @@ case "$host_arch" in
|
|||||||
proc=prescott
|
proc=prescott
|
||||||
else
|
else
|
||||||
proc=pentium4
|
proc=pentium4
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
fi
|
fi
|
||||||
test $_fast_cmov = "auto" && _fast_cmov=no
|
test $_fast_cmov = "auto" && _fast_cmov=no
|
||||||
;;
|
;;
|
||||||
@ -1786,6 +1793,7 @@ case "$host_arch" in
|
|||||||
*)
|
*)
|
||||||
proc=i586 iproc=586 ;;
|
proc=i586 iproc=586 ;;
|
||||||
esac
|
esac
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=no
|
||||||
fi # test "$_runtime_cpudetection" = no
|
fi # test "$_runtime_cpudetection" = no
|
||||||
|
|
||||||
|
|
||||||
@ -1897,6 +1905,7 @@ EOF
|
|||||||
else
|
else
|
||||||
_fast_cmov="no"
|
_fast_cmov="no"
|
||||||
fi
|
fi
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
|
||||||
echores "$proc"
|
echores "$proc"
|
||||||
;;
|
;;
|
||||||
@ -1925,7 +1934,13 @@ EOF
|
|||||||
if test "$_runtime_cpudetection" = no ; then
|
if test "$_runtime_cpudetection" = no ; then
|
||||||
case "$pvendor" in
|
case "$pvendor" in
|
||||||
AuthenticAMD)
|
AuthenticAMD)
|
||||||
proc=k8;;
|
case "$pfamily" in
|
||||||
|
15) proc=k8
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=no
|
||||||
|
;;
|
||||||
|
*) proc=amdfam10;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
GenuineIntel)
|
GenuineIntel)
|
||||||
case "$pfamily" in
|
case "$pfamily" in
|
||||||
6) proc=core2;;
|
6) proc=core2;;
|
||||||
@ -1934,6 +1949,7 @@ EOF
|
|||||||
# have the same capabilities as a nocona.
|
# have the same capabilities as a nocona.
|
||||||
proc=nocona
|
proc=nocona
|
||||||
test $_fast_cmov = "auto" && _fast_cmov=no
|
test $_fast_cmov = "auto" && _fast_cmov=no
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=no
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
@ -1991,6 +2007,7 @@ EOF
|
|||||||
|
|
||||||
_optimizing="$proc"
|
_optimizing="$proc"
|
||||||
test $_fast_cmov = "auto" && _fast_cmov=yes
|
test $_fast_cmov = "auto" && _fast_cmov=yes
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
|
||||||
echores "$proc"
|
echores "$proc"
|
||||||
;;
|
;;
|
||||||
@ -2023,7 +2040,7 @@ EOF
|
|||||||
_optimizing="$proc"
|
_optimizing="$proc"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
arm|armv4l|armv5tel)
|
arm*)
|
||||||
_arch='ARM'
|
_arch='ARM'
|
||||||
_target_arch='ARCH_ARM = yes'
|
_target_arch='ARCH_ARM = yes'
|
||||||
iproc='arm'
|
iproc='arm'
|
||||||
@ -2034,6 +2051,7 @@ EOF
|
|||||||
_target_arch='ARCH_AVR32 = yes'
|
_target_arch='ARCH_AVR32 = yes'
|
||||||
def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
|
def_fast_unaligned='#define HAVE_FAST_UNALIGNED 1'
|
||||||
iproc='avr32'
|
iproc='avr32'
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
;;
|
;;
|
||||||
|
|
||||||
sh|sh4)
|
sh|sh4)
|
||||||
@ -2154,6 +2172,8 @@ EOF
|
|||||||
echores "none"
|
echores "none"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
alpha*)
|
alpha*)
|
||||||
@ -2195,6 +2215,8 @@ EOF
|
|||||||
_mcpu="-mcpu=$proc"
|
_mcpu="-mcpu=$proc"
|
||||||
echores "$proc"
|
echores "$proc"
|
||||||
|
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
|
||||||
_optimizing="$proc"
|
_optimizing="$proc"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
@ -2221,6 +2243,8 @@ EOF
|
|||||||
echores "$proc"
|
echores "$proc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
hppa)
|
hppa)
|
||||||
@ -2654,6 +2678,8 @@ EOF
|
|||||||
fi
|
fi
|
||||||
echores "$_armv5te"
|
echores "$_armv5te"
|
||||||
|
|
||||||
|
test $_armv5te = "yes" && test $_fast_clz = "auto" && _fast_clz=yes
|
||||||
|
|
||||||
echocheck "ARMv6 (SIMD instructions)"
|
echocheck "ARMv6 (SIMD instructions)"
|
||||||
if test $_armv6 = "auto" ; then
|
if test $_armv6 = "auto" ; then
|
||||||
cat > $TMPC << EOF
|
cat > $TMPC << EOF
|
||||||
@ -2705,7 +2731,7 @@ EOF
|
|||||||
echores "$_iwmmxt"
|
echores "$_iwmmxt"
|
||||||
fi
|
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 "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts"
|
||||||
test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
|
test "$_mmx" = yes && _cpuexts="MMX $_cpuexts"
|
||||||
test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
|
test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts"
|
||||||
@ -2716,6 +2742,7 @@ test "$_sse2" = yes && _cpuexts="SSE2 $_cpuexts"
|
|||||||
test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
|
test "$_ssse3" = yes && _cpuexts="SSSE3 $_cpuexts"
|
||||||
test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
|
test "$_cmov" = yes && _cpuexts="CMOV $_cpuexts"
|
||||||
test "$_fast_cmov" = yes && _cpuexts="FAST_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 "$pld" = yes && _cpuexts="PLD $_cpuexts"
|
||||||
test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
|
test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts"
|
||||||
test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
|
test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts"
|
||||||
@ -5101,7 +5128,7 @@ int main(int argc, char *argv[]) {
|
|||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
_sdl=no
|
_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
|
if cc_check -DCONFIG_SDL_SDL_H $_inc_tmp $_ld_tmp ; then
|
||||||
_sdl=yes
|
_sdl=yes
|
||||||
def_sdl_sdl_h="#define CONFIG_SDL_SDL_H 1"
|
def_sdl_sdl_h="#define CONFIG_SDL_SDL_H 1"
|
||||||
@ -7610,6 +7637,14 @@ else
|
|||||||
echores "no"
|
echores "no"
|
||||||
fi
|
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
|
# Dynamic linking flags
|
||||||
# (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
|
# (FIXME: 'echocheck "dynamic linking"' above and modify here accordingly)
|
||||||
@ -8471,12 +8506,12 @@ $def_yasm
|
|||||||
#define CONFIG_SWSCALE_ALPHA 1
|
#define CONFIG_SWSCALE_ALPHA 1
|
||||||
|
|
||||||
#define HAVE_ATTRIBUTE_PACKED 1
|
#define HAVE_ATTRIBUTE_PACKED 1
|
||||||
#define HAVE_FAST_CLZ 0
|
|
||||||
#define HAVE_GETHRTIME 0
|
#define HAVE_GETHRTIME 0
|
||||||
#define HAVE_INLINE_ASM 1
|
#define HAVE_INLINE_ASM 1
|
||||||
#define HAVE_LDBRX 0
|
#define HAVE_LDBRX 0
|
||||||
#define HAVE_POLL_H 1
|
#define HAVE_POLL_H 1
|
||||||
#define HAVE_PPC4XX 0
|
#define HAVE_PPC4XX 0
|
||||||
|
#define HAVE_VFP_ARGS 1
|
||||||
#define HAVE_VIRTUALALLOC 0
|
#define HAVE_VIRTUALALLOC 0
|
||||||
|
|
||||||
/* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
|
/* Some FFmpeg codecs depend on these. Enable them unconditionally for now. */
|
||||||
|
@ -984,6 +984,7 @@ videocodec ffodivx
|
|||||||
fourcc DCOD,MVXM,EM4A,PM4V
|
fourcc DCOD,MVXM,EM4A,PM4V
|
||||||
fourcc M4T3,DMK2,DIGI,INMC
|
fourcc M4T3,DMK2,DIGI,INMC
|
||||||
fourcc EPHV,SN40
|
fourcc EPHV,SN40
|
||||||
|
fourcc uldx,ULDX,VSPX
|
||||||
driver ffmpeg
|
driver ffmpeg
|
||||||
dll mpeg4 ;opendivx
|
dll mpeg4 ;opendivx
|
||||||
out YV12,I420,IYUV
|
out YV12,I420,IYUV
|
||||||
@ -1015,6 +1016,7 @@ videocodec ffodivxvdpau
|
|||||||
fourcc DCOD,MVXM,EM4A,PM4V
|
fourcc DCOD,MVXM,EM4A,PM4V
|
||||||
fourcc M4T3,DMK2,DIGI,INMC
|
fourcc M4T3,DMK2,DIGI,INMC
|
||||||
fourcc EPHV,SN40
|
fourcc EPHV,SN40
|
||||||
|
fourcc uldx,ULDX,VSPX
|
||||||
driver ffmpeg
|
driver ffmpeg
|
||||||
dll mpeg4_vdpau
|
dll mpeg4_vdpau
|
||||||
out VDPAU_MPEG4
|
out VDPAU_MPEG4
|
||||||
@ -1066,6 +1068,7 @@ videocodec xvid
|
|||||||
fourcc DCOD,MVXM,EM4A,PM4V
|
fourcc DCOD,MVXM,EM4A,PM4V
|
||||||
fourcc M4T3,DMK2,DIGI,INMC
|
fourcc M4T3,DMK2,DIGI,INMC
|
||||||
fourcc EPHV,SN40
|
fourcc EPHV,SN40
|
||||||
|
fourcc uldx,ULDX,VSPX
|
||||||
format 0x10000004 ; mpeg 4 es
|
format 0x10000004 ; mpeg 4 es
|
||||||
driver xvid
|
driver xvid
|
||||||
out YV12
|
out YV12
|
||||||
|
@ -25,10 +25,13 @@ static const struct {
|
|||||||
int fmt;
|
int fmt;
|
||||||
enum PixelFormat pix_fmt;
|
enum PixelFormat pix_fmt;
|
||||||
} conversion_map[] = {
|
} conversion_map[] = {
|
||||||
{IMGFMT_BGR32, PIX_FMT_RGB32},
|
{IMGFMT_ARGB, PIX_FMT_ARGB},
|
||||||
|
{IMGFMT_BGRA, PIX_FMT_BGRA},
|
||||||
{IMGFMT_BGR24, PIX_FMT_BGR24},
|
{IMGFMT_BGR24, PIX_FMT_BGR24},
|
||||||
{IMGFMT_BGR16, PIX_FMT_RGB565},
|
{IMGFMT_BGR16BE, PIX_FMT_RGB565BE},
|
||||||
{IMGFMT_BGR15, PIX_FMT_RGB555},
|
{IMGFMT_BGR16LE, PIX_FMT_RGB565LE},
|
||||||
|
{IMGFMT_BGR15BE, PIX_FMT_RGB555BE},
|
||||||
|
{IMGFMT_BGR15LE, PIX_FMT_RGB555LE},
|
||||||
{IMGFMT_BGR8, PIX_FMT_RGB8},
|
{IMGFMT_BGR8, PIX_FMT_RGB8},
|
||||||
{IMGFMT_BGR4, PIX_FMT_RGB4},
|
{IMGFMT_BGR4, PIX_FMT_RGB4},
|
||||||
{IMGFMT_BGR1, PIX_FMT_MONOBLACK},
|
{IMGFMT_BGR1, PIX_FMT_MONOBLACK},
|
||||||
@ -37,10 +40,13 @@ static const struct {
|
|||||||
{IMGFMT_BG4B, PIX_FMT_RGB4_BYTE},
|
{IMGFMT_BG4B, PIX_FMT_RGB4_BYTE},
|
||||||
{IMGFMT_RGB48LE, PIX_FMT_RGB48LE},
|
{IMGFMT_RGB48LE, PIX_FMT_RGB48LE},
|
||||||
{IMGFMT_RGB48BE, PIX_FMT_RGB48BE},
|
{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_RGB24, PIX_FMT_RGB24},
|
||||||
{IMGFMT_RGB16, PIX_FMT_BGR565},
|
{IMGFMT_RGB16BE, PIX_FMT_BGR565BE},
|
||||||
{IMGFMT_RGB15, PIX_FMT_BGR555},
|
{IMGFMT_RGB16LE, PIX_FMT_BGR565LE},
|
||||||
|
{IMGFMT_RGB15BE, PIX_FMT_BGR555BE},
|
||||||
|
{IMGFMT_RGB15LE, PIX_FMT_BGR555LE},
|
||||||
{IMGFMT_RGB8, PIX_FMT_BGR8},
|
{IMGFMT_RGB8, PIX_FMT_BGR8},
|
||||||
{IMGFMT_RGB4, PIX_FMT_BGR4},
|
{IMGFMT_RGB4, PIX_FMT_BGR4},
|
||||||
{IMGFMT_BGR8, PIX_FMT_PAL8},
|
{IMGFMT_BGR8, PIX_FMT_PAL8},
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include "osdep/strsep.h"
|
||||||
|
|
||||||
#include "af.h"
|
#include "af.h"
|
||||||
|
|
||||||
|
@ -35,12 +35,28 @@
|
|||||||
#define IMGFMT_ARGB IMGFMT_BGR32
|
#define IMGFMT_ARGB IMGFMT_BGR32
|
||||||
#define IMGFMT_RGBA (IMGFMT_BGR32|64)
|
#define IMGFMT_RGBA (IMGFMT_BGR32|64)
|
||||||
#define IMGFMT_RGB48NE IMGFMT_RGB48BE
|
#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
|
#else
|
||||||
#define IMGFMT_ABGR (IMGFMT_BGR32|64)
|
#define IMGFMT_ABGR (IMGFMT_BGR32|64)
|
||||||
#define IMGFMT_BGRA IMGFMT_BGR32
|
#define IMGFMT_BGRA IMGFMT_BGR32
|
||||||
#define IMGFMT_ARGB (IMGFMT_RGB32|64)
|
#define IMGFMT_ARGB (IMGFMT_RGB32|64)
|
||||||
#define IMGFMT_RGBA IMGFMT_RGB32
|
#define IMGFMT_RGBA IMGFMT_RGB32
|
||||||
#define IMGFMT_RGB48NE IMGFMT_RGB48LE
|
#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
|
#endif
|
||||||
|
|
||||||
/* old names for compatibility */
|
/* old names for compatibility */
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#include "mp_msg.h"
|
#include "mp_msg.h"
|
||||||
#include "help_mp.h"
|
#include "help_mp.h"
|
||||||
#include "av_opts.h"
|
#include "av_opts.h"
|
||||||
|
#include "osdep/strsep.h"
|
||||||
|
|
||||||
#include "codec-cfg.h"
|
#include "codec-cfg.h"
|
||||||
#include "stream/stream.h"
|
#include "stream/stream.h"
|
||||||
@ -24,6 +25,7 @@
|
|||||||
#include "libmpdemux/muxer.h"
|
#include "libmpdemux/muxer.h"
|
||||||
|
|
||||||
#include "img_format.h"
|
#include "img_format.h"
|
||||||
|
#include "fmt-conversion.h"
|
||||||
#include "mp_image.h"
|
#include "mp_image.h"
|
||||||
#include "vf.h"
|
#include "vf.h"
|
||||||
|
|
||||||
@ -593,30 +595,9 @@ static int config(struct vf_instance* vf,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mux_v->imgfmt = lavc_param_format;
|
mux_v->imgfmt = lavc_param_format;
|
||||||
switch(lavc_param_format)
|
lavc_venc_context->pix_fmt = imgfmt2pixfmt(lavc_param_format);
|
||||||
{
|
if (lavc_venc_context->pix_fmt == PIX_FMT_NONE)
|
||||||
case IMGFMT_YV12:
|
return 0;
|
||||||
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));
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!stats_file) {
|
if(!stats_file) {
|
||||||
/* lavc internal 2pass bitrate control */
|
/* lavc internal 2pass bitrate control */
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#else
|
#else
|
||||||
#include "osdep/glob.h"
|
#include "osdep/glob.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "osdep/strsep.h"
|
||||||
|
|
||||||
#include "mp_msg.h"
|
#include "mp_msg.h"
|
||||||
#include "help_mp.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 uvcos = params->saturation * cos(params->hue);
|
||||||
float uvsin = params->saturation * sin(params->hue);
|
float uvsin = params->saturation * sin(params->hue);
|
||||||
int format = params->format;
|
int format = params->format;
|
||||||
|
int levelconv = params->levelconv;
|
||||||
int i;
|
int i;
|
||||||
const float (*uv_coeffs)[3];
|
const float (*uv_coeffs)[3];
|
||||||
const float *level_adjust;
|
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 xyz_level_adjust[4] = {0, 0, 0, 0};
|
||||||
static const float uv_coeffs_table[MP_CSP_COUNT][3][3] = {
|
static const float uv_coeffs_table[MP_CSP_COUNT][3][3] = {
|
||||||
[MP_CSP_DEFAULT] = {
|
[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)
|
if (format < 0 || format >= MP_CSP_COUNT)
|
||||||
format = MP_CSP_DEFAULT;
|
format = MP_CSP_DEFAULT;
|
||||||
uv_coeffs = uv_coeffs_table[format];
|
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)
|
if (format == MP_CSP_XYZ)
|
||||||
level_adjust = xyz_level_adjust;
|
level_adjust = xyz_level_adjust;
|
||||||
|
|
||||||
|
@ -31,8 +31,16 @@ enum mp_csp_standard {
|
|||||||
MP_CSP_COUNT
|
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 {
|
struct mp_csp_params {
|
||||||
enum mp_csp_standard format;
|
enum mp_csp_standard format;
|
||||||
|
enum mp_csp_levelconv levelconv;
|
||||||
float brightness;
|
float brightness;
|
||||||
float contrast;
|
float contrast;
|
||||||
float hue;
|
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
|
* Defining them here allows us to get rid of the dxguid library during
|
||||||
* the linking stage.
|
* 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}
|
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}
|
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))
|
#define MASK_GAMMA_SUPPORT (MASK_NOT_COMBINERS & ~(1 << YUV_CONVERSION_FRAGMENT))
|
||||||
static int use_yuv;
|
static int use_yuv;
|
||||||
static int colorspace;
|
static int colorspace;
|
||||||
|
static int levelconv;
|
||||||
static int is_yuv;
|
static int is_yuv;
|
||||||
static int lscale;
|
static int lscale;
|
||||||
static int cscale;
|
static int cscale;
|
||||||
@ -214,7 +215,7 @@ static void update_yuvconv(void) {
|
|||||||
float ggamma = exp(log(8.0) * eq_ggamma / 100.0);
|
float ggamma = exp(log(8.0) * eq_ggamma / 100.0);
|
||||||
float bgamma = exp(log(8.0) * eq_bgamma / 100.0);
|
float bgamma = exp(log(8.0) * eq_bgamma / 100.0);
|
||||||
gl_conversion_params_t params = {gl_target, yuvconvtype,
|
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};
|
texture_width, texture_height, 0, 0, filter_strength};
|
||||||
mp_get_chroma_shift(image_format, &xs, &ys);
|
mp_get_chroma_shift(image_format, &xs, &ys);
|
||||||
params.chrom_texw = params.texw >> xs;
|
params.chrom_texw = params.texw >> xs;
|
||||||
@ -996,6 +997,12 @@ static int valid_csp(void *p)
|
|||||||
return *csp >= -1 && *csp < MP_CSP_COUNT;
|
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[] = {
|
static const opt_t subopts[] = {
|
||||||
{"manyfmts", OPT_ARG_BOOL, &many_fmts, NULL},
|
{"manyfmts", OPT_ARG_BOOL, &many_fmts, NULL},
|
||||||
{"osd", OPT_ARG_BOOL, &use_osd, 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},
|
{"rectangle", OPT_ARG_INT, &use_rectangle,int_non_neg},
|
||||||
{"yuv", OPT_ARG_INT, &use_yuv, int_non_neg},
|
{"yuv", OPT_ARG_INT, &use_yuv, int_non_neg},
|
||||||
{"colorspace", OPT_ARG_INT, &colorspace, valid_csp},
|
{"colorspace", OPT_ARG_INT, &colorspace, valid_csp},
|
||||||
|
{"levelconv", OPT_ARG_INT, &levelconv, valid_csp_lvl},
|
||||||
{"lscale", OPT_ARG_INT, &lscale, int_non_neg},
|
{"lscale", OPT_ARG_INT, &lscale, int_non_neg},
|
||||||
{"cscale", OPT_ARG_INT, &cscale, int_non_neg},
|
{"cscale", OPT_ARG_INT, &cscale, int_non_neg},
|
||||||
{"filter-strength", OPT_ARG_FLOAT, &filter_strength, NULL},
|
{"filter-strength", OPT_ARG_FLOAT, &filter_strength, NULL},
|
||||||
@ -1037,6 +1045,7 @@ static int preinit(const char *arg)
|
|||||||
use_ycbcr = 0;
|
use_ycbcr = 0;
|
||||||
use_yuv = 0;
|
use_yuv = 0;
|
||||||
colorspace = -1;
|
colorspace = -1;
|
||||||
|
levelconv = -1;
|
||||||
lscale = 0;
|
lscale = 0;
|
||||||
cscale = 0;
|
cscale = 0;
|
||||||
filter_strength = 0.5;
|
filter_strength = 0.5;
|
||||||
@ -1099,6 +1108,10 @@ static int preinit(const char *arg)
|
|||||||
" 3: YUV to RGB according to SMPT-240M\n"
|
" 3: YUV to RGB according to SMPT-240M\n"
|
||||||
" 4: YUV to RGB according to EBU\n"
|
" 4: YUV to RGB according to EBU\n"
|
||||||
" 5: XYZ to RGB\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"
|
" lscale=<n>\n"
|
||||||
" 0: use standard bilinear scaling for luma.\n"
|
" 0: use standard bilinear scaling for luma.\n"
|
||||||
" 1: use improved bicubic 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) {
|
if (is_yuv) {
|
||||||
int xs, ys;
|
int xs, ys;
|
||||||
gl_conversion_params_t params = {GL_TEXTURE_2D, use_yuv,
|
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};
|
texture_width, texture_height, 0, 0, 0};
|
||||||
switch (use_yuv) {
|
switch (use_yuv) {
|
||||||
case YUV_CONVERSION_FRAGMENT_LOOKUP:
|
case YUV_CONVERSION_FRAGMENT_LOOKUP:
|
||||||
|
@ -56,6 +56,8 @@ extern const GUID IID_IDivxFilterInterface;
|
|||||||
extern const GUID CLSID_IV50_Decoder;
|
extern const GUID CLSID_IV50_Decoder;
|
||||||
extern const GUID CLSID_MemoryAllocator;
|
extern const GUID CLSID_MemoryAllocator;
|
||||||
extern const GUID MEDIATYPE_Video;
|
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 GUID_NULL;
|
||||||
extern const GUID FORMAT_VideoInfo;
|
extern const GUID FORMAT_VideoInfo;
|
||||||
extern const GUID MEDIASUBTYPE_RGB1;
|
extern const GUID MEDIASUBTYPE_RGB1;
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
#include "strsep.h"
|
||||||
|
|
||||||
char *strsep(char **stringp, const char *delim) {
|
char *strsep(char **stringp, const char *delim) {
|
||||||
char *begin, *end;
|
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)
|
/// 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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
|
||||||
#ifdef NOT_USED
|
#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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
0x00, 0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/// IID definitions (used for QueryInterface call)
|
/// 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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
0x00, 0xc0, 0xcc, 0x16, 0xba);
|
||||||
|
|
||||||
#define INSTANCEDATA_OF_PROPERTY_PTR(x) (((KSPROPERTY*)(x)) + 1)
|
#define INSTANCEDATA_OF_PROPERTY_PTR(x) (((KSPROPERTY*)(x)) + 1)
|
||||||
|
Loading…
Reference in New Issue
Block a user