}\r
};\r
\r
- // Sanitize the input.\r
- Geometry resultGeometry = AnamorphicFactory.CreateGeometry(settings, new SourceVideoInfo(new Size(title.Geometry.Width, title.Geometry.Height), new Size(title.Geometry.PAR.Num, title.Geometry.PAR.Den)));\r
- int width = resultGeometry.Width * resultGeometry.PAR.Num / resultGeometry.PAR.Den;\r
- int height = resultGeometry.Height;\r
-\r
- uiGeometry.geometry.width = width;\r
- uiGeometry.geometry.height = height;\r
- uiGeometry.geometry.par.num = settings.PixelAspectX;\r
- uiGeometry.geometry.par.den = settings.PixelAspectY;\r
-\r
// Fetch the image data from LibHb\r
IntPtr resultingImageStuct = HBFunctions.hb_get_preview2(this.hbHandle, settings.TitleNumber, previewNumber, ref uiGeometry, 0);\r
hb_image_s image = InteropUtilities.ToStructureFromPtr<hb_image_s>(resultingImageStuct);\r
byte[] managedBuffer = new byte[imageBufferSize];\r
Marshal.Copy(image.plane[0].data, managedBuffer, 0, imageBufferSize);\r
\r
- var bitmap = new Bitmap(width, height);\r
- BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, width, height), ImageLockMode.WriteOnly, PixelFormat.Format32bppRgb);\r
+ var bitmap = new Bitmap(image.width, image.height);\r
+\r
+ BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, image.width, image.height), ImageLockMode.WriteOnly, PixelFormat.Format32bppRgb);\r
\r
IntPtr ptr = bitmapData.Scan0; // Pointer to the first pixel.\r
for (int i = 0; i < image.height; i++)\r
try\r
{\r
Marshal.Copy(managedBuffer, i * stride_width, ptr, stride_width);\r
- ptr = IntPtr.Add(ptr, width * 4);\r
+ ptr = IntPtr.Add(ptr, image.width * 4);\r
}\r
catch (Exception exc)\r
{\r