summaryrefslogtreecommitdiffstats
path: root/libhb/decavcodec.c
diff options
context:
space:
mode:
authorvan <[email protected]>2008-08-08 06:19:54 +0000
committervan <[email protected]>2008-08-08 06:19:54 +0000
commitf8eb63aed0df0e9c99b5d652728ccb01a2d4eb68 (patch)
tree5a2a0a1e1200b8e41c78b66349001f398befc4f2 /libhb/decavcodec.c
parent138aa5d206ae6ee6296948367de807089f414f6a (diff)
- change aspect from a scaled int to a double so we can handle the wider
range of aspect ratios we get from ffmpeg files. - add container_aspect to title struct (always zero except for DVDs when it's the aspect from the VTSI). To handle broken French DVDs, make HB complain & use the container aspect if it's different from the aspect computed from the video PAR. - fix ScanFunc's job template init so that it doesn't think the only legal aspect ratios are 16:9 & 4:3. - hb_reduce wouldn't reduce any fraction where both terms were equal and prime (e.g., 2/2, 3/3, 5/5, etc. would not become 1/1). Recoded it using Euclid's Algorithm so it always works and is faster. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@1616 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/decavcodec.c')
-rw-r--r--libhb/decavcodec.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/libhb/decavcodec.c b/libhb/decavcodec.c
index 2ad3993a0..a945680e0 100644
--- a/libhb/decavcodec.c
+++ b/libhb/decavcodec.c
@@ -547,12 +547,11 @@ static int decavcodecvInfo( hb_work_object_t *w, hb_work_info_t *info )
/* ffmpeg returns the Pixel Aspect Ratio (PAR). Handbrake wants the
* Display Aspect Ratio so we convert by scaling by the Storage
* Aspect Ratio (w/h). We do the calc in floating point to get the
- * rounding right. We round in the second decimal digit because we
- * scale the (integer) aspect by 9 to preserve the 1st digit. */
- info->aspect = ( (double)info->pixel_aspect_width *
- (double)context->width /
- (double)info->pixel_aspect_height /
- (double)context->height + 0.05 ) * HB_ASPECT_BASE;
+ * rounding right. */
+ info->aspect = (double)info->pixel_aspect_width *
+ (double)context->width /
+ (double)info->pixel_aspect_height /
+ (double)context->height;
info->profile = context->profile;
info->level = context->level;