Procoder 2 + DivX = bug

Je viens de comprendre pourquoi Canopus ProCoder 2 pourrit l’image vidéo lorsqu’on veut encoder un fichier en DivX dans un autre format (MPEG2 pour faire un DVD, par exemple). Lorsque l’image source n’est pas de la même taille que l’image finale, le redimensionnement par ProCoder est tout merdique : c’est comme si l’image avait une résolution horizontale deux fois inférieure à ce quelle devrait être.

L’origine de ce bug, et je viens de la trouver, est que ProCoder a un bug dans l’upsampling de 4:2:2 vers 4:4:4 à partir d’une source VfW (vidéo for Windows, autrement dit de l’AVI). Au lieu d’interpoler horizontalement la chroma uniquement, il interpole la chroma ET la luma (autrement dit toute l’image).

Une solution consiste à désinstaller les décodeurs DivX & cie et à la place d’installer le décodeur Xvid (téléchargeable ici). Une fois fait allez dans le menu démarrer dans « Xvid » > « Configure Decoder » puis changez l’option « Output Colorspace » en « RGB24 » (au lieu de « no force »). Par la même occasion, vérifiez que les trois options dans « FourCC support » soient bien toutes cochées (comme ça le Xvid décodera vos sources DivX 4 ou 5). Attention, le Xvid ne décode pas l’ancien DivX 3.

Les options de deblocking (Y et UV) améliorent la qualité de l’image en supprimant certains artefacts (utile pour la conversion dans ProCoder) mais si votre machine est un peu lente les vidéos peuvent se mettre à ramer en lecture normale.
Une fois ces modifications effectuées, vous pourrez faire des MPEG2 (pour DVD), des conversions DV, des transcodages, etc. de toutes vos vidéos DivX 4/5 ou XviD directement dans ProCoder sans problème.
Attention cependant, en lecture normale (dans Media Player & cie), l’affichage de la vidéo se fait par un système d’incrustation directement au niveau de la carte graphique – cela se voit quand on bouge rapidement la fenêtre du player car la vidéo suit le mouvement de la souris avec un temps de retard. Malheureusement les cartes attendent en général du YUY2 ou du YV12 mais pas du RGB24… Donc si vous avez des soucis à la lecture (ralentissements notamment), c’est que l’incrustation vidéo est désactivée. Pour la réactiver, il faut repasser en mode « No force ».

Voici au passage la table de correspondances entre noms informatique et formats vidéo :
RGB32 = RGB 8 bits + alpha channel 8 bits
RGB24 = RGB 8 bits
YUY2 = 4:2:2
YUYV = 4:2:2
YV12 = 4:2:0

Les commentaires sont fermés.