예제 #1
0
 /// <summary>
 /// Returns the relative number of chroma (u or v) to luma (y) samples according to yuv format.
 /// </summary>
 /// <param name="format">the yuv format</param>
 /// <returns>relative number of samples (1, 0.5 or 0.25)</returns>
 public static float getLum2Chrom(YuvFormat format)
 {
     switch (format)
     {
         case YuvFormat.YUV444:
             return 1.0f;
         case YuvFormat.YUV422_UYVY:
             return 0.5f;
         case YuvFormat.YUV411_Y41P:
             return 0.25f;
         case YuvFormat.YUV420_IYUV:
             return 0.25f;
         default:
             throw new ArgumentException("Invalid YuvFormat set in VideoInfo.");
     }
 }
예제 #2
0
 /// <summary>
 /// Gets the kind of <see cref="ChrominanceSubsampling"/> used by a given YuvFormat.
 /// </summary>
 /// <returns>The subsampling level.</returns>
 /// <param name="yuvFormat">The YuvFormat.</param>
 public static ChrominanceSubsampling GetSubsamplingLevel(this YuvFormat yuvFormat)
 {
     return(YUVSubsamp[(int)yuvFormat]);
 }