diff options
author | jstebbins <[email protected]> | 2015-03-14 21:39:50 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2015-03-14 21:39:50 +0000 |
commit | e366121108ae8620ff242f596102e4b44af8f1eb (patch) | |
tree | 1f46b83654136253708264b1abc1686eac0481fc /libhb/decomb.c | |
parent | 83b3e2b833b9def99b35ae0a8c88a6333dde1e9d (diff) |
merge: decomb: fix green line when source hight is modulus 2
decomb requires mod 4 height. we pad our frame buffer heights to allow
for this kind of thing, but need to allow decomb to operate on those extra
blank lines.
git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/0.10.x@6990 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'libhb/decomb.c')
-rw-r--r-- | libhb/decomb.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libhb/decomb.c b/libhb/decomb.c index 212720fcb..4b8b0a91b 100644 --- a/libhb/decomb.c +++ b/libhb/decomb.c @@ -1745,7 +1745,7 @@ static void yadif_decomb_filter_thread( void *thread_args_v ) int yy; int width = dst->plane[pp].width; int stride = dst->plane[pp].stride; - int height = dst->plane[pp].height; + int height = dst->plane[pp].height_stride; int penultimate = height - 2; segment_start = thread_args->segment_start[pp]; @@ -2090,8 +2090,8 @@ static int hb_decomb_init( hb_filter_object_t * filter, * Final segment */ thread_args->segment_height[pp] = - hb_image_height(init->pix_fmt, init->height, pp) - - thread_args->segment_start[pp]; + (hb_image_height(init->pix_fmt, init->height, pp) - + thread_args->segment_start[pp] + 3) & ~1; } else { thread_args->segment_height[pp] = pv->segment_height[pp]; } @@ -2661,7 +2661,7 @@ void hb_deinterlace(hb_buffer_t *dst, hb_buffer_t *src) int yy; int width = src->plane[pp].width; int stride = src->plane[pp].stride; - int height = src->plane[pp].height; + int height = src->plane[pp].height_stride; // Filter parity lines uint8_t *pdst = &dst->plane[pp].data[0]; |