Partager via


Effet YCbCr

Convertit les données JPEG YCbCr sous-échantillonnée planaires et chroma en RVB. Cet effet suppose que les données YCbCr sont mises en forme conformément à la norme JPEG. Les données des entrées peuvent être obtenues à partir de IWICPlanarBitmapSourceTransform. L’effet YCbCr nécessite deux entrées ; le premier doit être une bitmap DXGI_FORMAT_R8 contenant des données luma, et le second doit être une DXGI_FORMAT_R8G8 bitmap contenant des données chroma sous-échantillonnée. Pour plus d’informations sur l’utilisation de cet effet, consultez Prise en charge JPEG YCbCr.

Le CLSID de cet effet est CLSID_D2D1YCbCr.

Propriétés d’effet

Nom d’affichage et énumération d’index Description
ChromaSubsampling
D2D1_YCBCR_CHROMA_SUBSAMPLING
Spécifie le sous-échantillonnage chroma de l’image chromatique d’entrée.
Le type est D2D1_YCBCR_CHROMA_SUBSAMPLING.
La valeur par défaut est D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO.
TransformMatrix
D2D1_YCBCR_PROP_TRANSFORM_MATRIX
Matrice 3x2 spécifiant la transformation affine alignée sur l’axe de l’image. Les transformations alignées sur l’axe incluent les rotations d’échelle, de retournement et de 90 degrés.
Le type est D2D1_MATRIX_3X2_F.
La valeur par défaut est Matrix3x2F::Identity().
InterpolationMode
D2D1_YCBCR_INTERPOLATION_MODE
Mode d’interpolation.
Le type est D2D1_YCBCR_INTERPOLATION_MODE.

Modes de sous-échantillonnage

Énumération Description
D2D1_YCBCR_CHROMA_SUBSAMPLING_AUTO
Ce mode tente d’inférer le sous-échantillonnage chroma des limites des images d’entrée. Lorsque cette option est sélectionnée, le plus petit plan est suréchantillonné à la taille du plan plus grand et le rectangle de sortie de cet effet est l’intersection des deux plans. Lorsque vous utilisez ce mode, vous devez veiller à appliquer des effets aux plans d’entrée qui modifient les limites de l’image, comme la transformation de bordure, afin que le rapport de taille souhaité entre les plans soit maintenu.
D2D1_YCBCR_CHROMA_SUBSAMPLING_420
Le plan de chroma est sous-échantillonné horizontalement par et verticalement sous-échantillonné par . Lorsque cette option est sélectionnée, le plan chromatique est horizontalement et verticalement suréchantillonné de 2x et ce rectangle de sortie d’effet est l’intersection des deux plans.
D2D1_YCBCR_CHROMA_SUBSAMPLING_422
Le plan chromatique est sous-échantillonné horizontalement par . Lorsque cette option est sélectionnée, le plan chromatique est horizontalement échantillonné de 2x et ce rectangle de sortie d’effet est l’intersection des deux plans.
D2D1_YCBCR_CHROMA_SUBSAMPLING_444
Le plan chromatique n’est pas sous-échantillonné. Lorsque cette option est sélectionnée, ce rectangle de sortie d’effet est l’intersection des deux plans.
D2D1_YCBCR_CHROMA_SUBSAMPLING_440
Le plan de chroma est sous-échantillonné verticalement par . Lorsque cette option est sélectionnée, le plan chromatique est verticalement échantillonné de 2x et ce rectangle de sortie d’effet est l’intersection des deux plans.

Modes d’interpolation

Énumération Description
D2D1_YCBCR_INTERPOLATION_MODE_NEAREST_NEIGHBOR Échantillonne le point unique le plus proche et l’utilise. Ce mode utilise moins de temps de traitement, mais génère l’image de qualité la plus faible.
D2D1_YCBCR_INTERPOLATION_MODE_LINEAR Utilise un exemple à quatre points et une interpolation linéaire. Ce mode utilise plus de temps de traitement que le mode voisin le plus proche, mais génère une image de qualité supérieure.
D2D1_YCBCR_INTERPOLATION_MODE_CUBIC Utilise un exemple de noyau cubique de 16 pour l’interpolation. Ce mode utilise le plus de temps de traitement, mais génère une image de meilleure qualité.
D2D1_YCBCR_INTERPOLATION_MODE_MULTI_SAMPLE_LINEAR Utilise 4 exemples linéaires au sein d’un seul pixel pour une bonne anti-aliasing de bord. Ce mode est adapté à la mise à l’échelle de petites quantités sur des images de quelques pixels.
D2D1_YCBCR_INTERPOLATION_MODE_ANISOTROPIC Utilise le filtrage anisotrope pour échantillonner un modèle en fonction de la forme transformée de la bitmap.
D2D1_YCBCR_INTERPOLATION_MODE_HIGH_QUALITY_CUBIC Utilise un noyau cubique de haute qualité de taille variable pour effectuer une mise à l’échelle antérieure de l’image si la mise à l’échelle inférieure est impliquée dans la matrice de transformation. Utilise ensuite le mode d’interpolation cubique pour la sortie finale.

Bitmap de sortie

La taille de l’image bitmap de sortie dépend de la matrice de transformation appliquée à l’image.

L’effet effectue l’opération de transformation, puis applique un cadre englobant autour du résultat. L’image bitmap de sortie correspond à la taille du cadre englobant.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau | Applications du Windows Store]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau | Applications du Windows Store]
En-tête d2d1effects_1.h
Bibliothèque d2d1.lib, dxguid.lib

ID2D1Effect

Prise en charge jpeg YCbCr

IWICPlanarBitmapSourceTransform