<div dir="ltr"><br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Jason Garrett-Glaser</b> <span dir="ltr"><<a href="mailto:jason@x264.com">jason@x264.com</a>></span><br>
Date: Sat, Sep 28, 2013 at 4:30 PM<br>Subject: Re: [x265] [PATCH] asm code for ipfilterH_pp, 4 tap filter<br>To: Development for x265 <<a href="mailto:x265-devel@videolan.org">x265-devel@videolan.org</a>><br><br><br>
<div class="im">On Fri, Sep 27, 2013 at 11:42 PM, Praveen Tiwari<br>
<<a href="mailto:praveen@multicorewareinc.com">praveen@multicorewareinc.com</a>> wrote:<br>
> suppose, during execution width comes less than 8 like 5, then we would like<br>
> to run our code section which handles the reaming width (_end_col:) not the<br>
> whole code (handle multiple of 8 and renaming width part, it will computed<br>
> twice in this case and corrupting some (8 - widthleft) dst[] old values<br>
> which is being used with 'pblenvb' instruction.This is why we have put a<br>
> check. if width is always >= 8 you are right, we don't need to put the<br>
> check.<br>
<br>
</div>>>Wait, so you're using pblendvb to avoid corrupting pixels to the right<br>>>of the block being stored?</div><div class="gmail_quote"><br></div><div class="gmail_quote">Yes, can say but whole scenario is like, in our code we supporting odd-size blocks also so we don't know exactly how many elements we need to store to dst[] after multiple of 8. suppose we width is 13 then we need to store 13 - 8 = 5 elements to dst[], if it is 18 then 18 - 2*8 = 2, elements need to store in dst[]. All these things are managed on run time using tab_left mask table, "pblendvb" instruction and dst[] old values. So, "pblendvb" is used to store right number of elements while not corrupting pixels to the right of the block being stored. </div>
<div class="gmail_quote">
<br>>That really doesn't seem necessary; x264's MC functions just wrote<br>>past the end and this was never a problem, because blocks to the right<br>>hadn't been encoded yet anyways.</div><div class="gmail_quote">
<br></div><div class="gmail_quote">I hope x264's MC function fit in above case.<br>
<br>>>Does HEVC really have width-5 blocks? I thought the widths were 4, 8,<br>>>and so forth; did they add odd-size blocks? What is the exact,<br>>>complete list of widths we need to support?</div><div class="gmail_quote">
<br></div><div class="gmail_quote">I had a discussion about the width size with Min, he suggested that new interpolation algorithm (sorry, I don't know much about this algorithm) may use odd-block sizes also. so we need to provide support for them too but I think currently it using multiple of 4.</div>
<div class="gmail_quote"><br></div><div class="gmail_quote">Regards,</div><div class="gmail_quote">Praveen<br>
<div class="HOEnZb"><div class="h5"><br><br>
</div></div></div><br></div>