MPEG2Dec3

Résumé

auteurs: MarcFD, Nic, trbarry, Sh0dan et d'autres
version: 1.10.1
catégorie: Plugins (source) décodeurs MPEG
téléchargement: http://www.avisynth.org/warpenterprises/
outils nécessaires:  

Description

Ce filtre renvoie une sortie dans les formats de couleur RGB, YUY2 et YV12.
C'est un décodeur MPEG-2 capable de décoder tout flux MPEG-2 lu par DVD2AVI 1.76 / 1.77.3 / 1.83x (et d'autres). Il supporte également les flux HDTV, mais seulement avec DVD2AVI 1.83.5. (C'est une version modifiée de MPEG2Dec2). Les fonctions supplémentaires sont par exemple le support des sorties YV12, YUY2 et RGB32 (bien qu'il soit recommandé d'utiliser les routines de conversion de format de couleur d'AviSynth), contrôle de l'entrelacement, post processing intégré, filtrage sur la luminance, etc...

Exemples d'utilisation de l'ensemble de filtre de MPEG2Dec3:

Tout les script ci dessous sont seulement des exemples.
Vous devez tout d'abord ajouter cette ligne dans votre script AviSynth:
LoadPlugin ("MPEG2Dec3.dll")

Utilisation simple de MPEG2Dec3

Pour faire du décodage en YV12.
MPEG2Source("dvd.d2v")

Pour utiliser le post processing (post traitement), ici du deblocking (atténuation de l'effet de blocs) seulement.

MPEG2Source("dvd.d2v", cpu=4)

C'est mieux d'utiliser un post traitement basé sur les champs dans le cas de sources entrelacées.

MPEG2Source("dvd.d2v", cpu=4, iPP=true)

Si vous avez un intel Pentium 4, vous pouvez forcer l'utilisation du sse2 pour l'idct.

MPEG2Source("dvd.d2v", idct=5)

Pour utiliser un post traitement personnalisé, ici seulement du deringing (atténuation de l'effet baveux des contours).

MPEG2Source("dvd.d2v", cpu2="ooooxx")

Conversions d'espaces de couleurs

Pour convertir en YUY2.
MPEG2Source("dvd.d2v")
YV12toYUY2()

Pour convertir une source YV12 en YUY2 progressif.

MPEG2Source("dvd.d2v")
YV12toYUY2(interlaced=false)

Pour convertir en RGB24.

MPEG2Source("dvd.d2v")
YV12toRGB24()
FlipVertical() #YV12->BGR24 cette conversion retourne nativement l'image

Pour convertir une source YV12 en RGB24 progressif.

MPEG2Source("dvd.d2v")
YV12toRGB24(interlaced=false)
FlipVertical() #YV12->BGR24 cette conversion retourne nativement l'image

Filtres YV12 supplémentaires

Pour diminuer la luminosité.
LumaFilter(-10, 0.9)

Pour augmenter la luminosité.

LumaFilter(+10, 1.1)

Vous pouvez bien sûr paramétrer avec les valeurs que vous voulez.
Voir la partie Syntaxe pour plus d'information.

Syntaxe des filtres de MPEG2Dec3:

MPEG2Source

MPEG2Source (string "d2v", int "cpu" int "idct" bool "iPP", int "moderate_h", int "moderate_v", bool "showQ", bool "fastMC", string "cpu2")

d2v :
Votre fichier projet DVD2AVI. (*.d2v)

cpu : de 0 à 6.
Paramètres CPU similaires à ceux trouvés dans le décodeur de DivX.
- 0 : Pas de post traitement
- 1 : DEBLOCK_Y_H
- 2 : DEBLOCK_Y_H, DEBLOCK_Y_V
- 3 : DEBLOCK_Y_H, DEBLOCK_Y_V, DEBLOCK_C_H
- 4 : DEBLOCK_Y_H, DEBLOCK_Y_V, DEBLOCK_C_H, DEBLOCK_C_V
- 5 : DEBLOCK_Y_H, DEBLOCK_Y_V, DEBLOCK_C_H, DEBLOCK_C_V, DERING_Y
- 6 : DEBLOCK_Y_H, DEBLOCK_Y_V, DEBLOCK_C_H, DEBLOCK_C_V, DERING_Y, DERING_C
(Y=luma C=chroma, H=horizontal,  V=vertical)
Par défaut : 0

idct : de 1 à 5.
iDCT : algorithme iDCT utilisé.
0 : Valeur par défaut (dans le fichier .d2v)
1 : 32 bit MMX
2 : 32 bit SSEMMX
3 : 64 bit FPU
4 : 64 bit IEEE-1180 Reference
5 : 32 bit SSE2 (pour P4)
6 : Skal's SSEMMX iDCT (la plus rapide)
7 : SimpleiDCT (iDCT très précise issue du projet XviD)
par défaut : 0

iPP :
Pour utiliser un post traitement basé sur les champs de la video. Convient mieux si vous voulez désentrelacer.
- True : Basé sur les champs
- False : Basé sur les images (par défaut)

moderate_h, moderate_v :
Ajustement précis de la force du post traitement.
Les valeurs plus faibles donnent un deblocking plus fort. A utiliser avec précautions.
Par défaut : moderate_h=20, moderate_v=40

showQ :
Pour voir le quantificateur de chaque MB (MacroBlock).
Assez amusant à utiliser ^^
Par défaut : false

fastMC :
Code de compensation de mouvement plus rapide de Vlad.
Très faible gain de vitesse, et la précision est diminuée. Ce paramètre est là pour test, et sera probablement supprimé dans les prochaines versions. Pour cpu ssemmx seulement.
Par défaut : false

cpu2 :
Paramètre de post traitement personnalisables. Vous devez entrer une chaîne de 6 caractères. Chaque croix (x) activera le post traitement correspondant:

exemple :
"oxoxox"
123456
activera le post traitement chroma seulement

1 : deblocking horizontal sur luma
2 : deblocking vertical sur luma
3 : deblocking horizontal sur chroma
4 : deblocking vertical sur chroma
5 : deringing horizontal sur luma
6 : deringing horizontal sur chroma
Par défaut : " " (désactivé)

LumaFilter

LumaFilter (clip, integer "lumoff", float "lumgain")

La transformation est effectuée de la manière suivante: yy = (y*lumgain)+lumoff

lumoff :
Décalage de luminosité.
Par défaut = -2 (pour iago ^^)

lumgain :
Gain de luminosité..
Par défaut = 1

YV12toRGB24

YV12toRGB24 (clip, bool "interlaced", bool "TVscale")

YV12->BGR24 cette conversion renverse l'image nativement. Utilisez FlipVertical après.

interlaced :
Mettez ce paramètre sur true (vrai) quand votre source est entrelacée; ceci pour que l'entrelacement de chroma soit correct.
Pour un flux progressif, utiliser false (faux) donnera des couleurs plus précises et plus réelles.
Par défaut : true

TVscale :
La même option que dans DVD2AVI. Elle peut être inversée. Essayez avec et sans et conserver votre favoris.
Par défaut : false

YV12toYUY2

YV12toYUY2 (clip, bool "interlaced", bool "tff")

interlaced :
Mettez ce paramètre sur true (vrai) quand votre source est entrelacée; ceci pour que l'entrelacement de chroma soit correct.
Pour un flux progressif, utiliser false (faux) donnera des couleurs plus précises et plus réelles.
Par défaut : true

tff :
Top Field First (champs du dessus en premier). Mettez ce paramètre sur False si vous avez une source Bottom Field First (champ du bas en premier).
Par défaut : true

BlindPP

BlindPP (clip, int "quant", int "cpu", str "cpu2", bool "iPP", int "moderate_h", int "moderate_v")

Pour le deblocking et le deringing de n'importe quel type de source se basant sur une compression DCT. Bien sûr, il est moins précis que le post traitement du décodeur mais il est cependant très efficace. Il nécessite une entrée en YV12.

quant :
Quantificateur émulé. Utilisez une valeur élevée pour augmenter l'agressivité. En utilisant une valeur proche de votre source, vous obtiendrez un post traitement très précis.
Par défaut : 2

cpu, cpu2, iPP, moderate_h, moderate_v :
Même paramètres que pour le post traitement de MPEG2Source.
Par défaut : cpu=6, cpu2="", iPP=false, moderate_h=20, moderate_v=40

Historique

basé sur MPEG2Dec2 (save-oe CVS 28.09.2002)

Remerciements 

Chia-chen Kuo, auteur de DVD2AVI
Peter Gubanov, auteur de MMX/SSEMMX iDCT
Dmitry Rozhdestvensky, auteur de SSE2 iDCT
Miha Peternel, auteur de Floating Point iDCT et de Reference iDCT
Mathias Born, auteur de MPEG2Dec

Remerciement spécial à Nic, pous les fonctions de post traitement qui ont rendu MPEG2Dec3 possible.

1.01 et ultérieures: Nic, trbarry, sh0dan
Remerciement à Skal pour l'utilisation de son algorithme iDCT (http://skal.planet-d.net)

$English date: 2005/08/11 21:11:50 $
French translation: 2005/10/31 JasonFly macpaille@users.sourceforge.net