Mercurial > libavcodec.hg
changeset 5177:ea61020e5e87 libavcodec
Don't swap back un-deblocked lines for intra prediction when
at slice boundaries for deblocking-type 2 content.
This is needed for slice based threading only and doesn't do much
good or bad otherwise.
Patch by Andreas Oman %andreas A olebyn P nu%
Original thread:
date: Jun 18, 2007 1:21 PM
subject: Re: [FFmpeg-devel] [PATCH] h264 parallelized,
author | gpoirier |
---|---|
date | Thu, 21 Jun 2007 07:52:06 +0000 |
parents | 82f7eaa32f46 |
children | b215d5a5fa9a |
files | h264.c |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/h264.c Thu Jun 21 07:46:48 2007 +0000 +++ b/h264.c Thu Jun 21 07:52:06 2007 +0000 @@ -3024,8 +3024,18 @@ MpegEncContext * const s = &h->s; int temp8, i; uint64_t temp64; - int deblock_left = (s->mb_x > 0); - int deblock_top = (s->mb_y > 0); + int deblock_left; + int deblock_top; + int mb_xy; + + if(h->deblocking_filter == 2) { + mb_xy = s->mb_x + s->mb_y*s->mb_stride; + deblock_left = h->slice_table[mb_xy] == h->slice_table[mb_xy - 1]; + deblock_top = h->slice_table[mb_xy] == h->slice_table[h->top_mb_xy]; + } else { + deblock_left = (s->mb_x > 0); + deblock_top = (s->mb_y > 0); + } src_y -= linesize + 1; src_cb -= uvlinesize + 1;