Thank you.
for constant, I explain a little more
we may declare
const intptr_t row_n2 = (rowNum - 2)*stride;
Now,
src[(rowNum - 2)*stride + (colNum - 2)]
src[(rowNum - 2)*stride + (colNum - 1)]
==>
src[row_n2 + (colNum - 2)]
src[row_n2 + (colNum - 1)]
a little better to read.
At 2019-07-15 13:58:53, "Akil" <[email protected]> wrote:
Thanks for your suggestions, Chen. Have added the matrix in comments. That
should make the code more readable. Regarding the last point, I think
(rowNum+X)*stride cannot be replaced by a constant since it tends to change
every time.
On Fri, Jul 12, 2019 at 7:27 AM chen <[email protected]> wrote:
On Wed, Jul 10, 2019 at 3:41 PM Akil <[email protected]> wrote:
# HG changeset patch
# User Akil Ayyappan<[email protected]>
# Date 1561035091 -19800
# Thu Jun 20 18:21:31 2019 +0530
# Node ID d25c33cc2b748401c5e908af445a0a110e26c3cf
# Parent 4f6dde51a5db4f9229bddb60db176f16ac98f505
AQ: New AQ mode with Variance and Edge information
+ //Applying Gaussian filter on the picture
+ src = (pixel*)curFrame->m_fencPic->m_picOrg[0];
+ refPic = pic2 + curFrame->m_fencPic->m_lumaMarginY * stride +
curFrame->m_fencPic->m_lumaMarginX;
+ pixel pixelValue = 0;
+ for (int rowNum = 0; rowNum < height; rowNum++)
+ {
+ for (int colNum = 0; colNum < width; colNum++)
+ {
+ if ((rowNum >= 2) && (colNum >= 2) && (rowNum != height - 2) &&
(colNum != width - 2)) //Ignoring the border pixels of the picture
+ {
+ pixelValue = ((2 * src[(rowNum - 2)*stride + (colNum - 2)] + 4
* src[(rowNum - 2)*stride + (colNum - 1)] + 5 * src[(rowNum - 2)*stride +
(colNum)] + 4 * src[(rowNum - 2)*stride + (colNum + 1)] + 2 * src[(rowNum -
2)*stride + (colNum + 2)] +
+ 4 * src[(rowNum - 1)*stride + (colNum - 2)] + 9 *
src[(rowNum - 1)*stride + (colNum - 1)] + 12 * src[(rowNum - 1)*stride +
(colNum)] + 9 * src[(rowNum - 1)*stride + (colNum + 1)] + 4 * src[(rowNum -
1)*stride + (colNum + 2)] +
+ 5 * src[(rowNum)*stride + (colNum - 2)] + 12 *
src[(rowNum)*stride + (colNum - 1)] + 15 * src[(rowNum)*stride + (colNum)] + 12
* src[(rowNum)*stride + (colNum + 1)] + 5 * src[(rowNum)*stride + (colNum + 2)]
+
+ 4 * src[(rowNum + 1)*stride + (colNum - 2)] + 9 *
src[(rowNum + 1)*stride + (colNum - 1)] + 12 * src[(rowNum + 1)*stride +
(colNum)] + 9 * src[(rowNum + 1)*stride + (colNum + 1)] + 4 * src[(rowNum +
1)*stride + (colNum + 2)] +
+ 2 * src[(rowNum + 2)*stride + (colNum - 2)] + 4 *
src[(rowNum + 2)*stride + (colNum - 1)] + 5 * src[(rowNum + 2)*stride +
(colNum)] + 4 * src[(rowNum + 2)*stride + (colNum + 1)] + 2 * src[(rowNum +
2)*stride + (colNum + 2)]) / 159);
+ refPic[(rowNum*stride) + colNum] = pixelValue;
+ }
+ }
+ }
Could you please modify a little?
Ident or give coif matrix as comment, it will be more readable
moreover, (rowNum+X)*stride can be replace by constant, it does not affect
compiled code performance but help human read code.
_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel
--
Regards,
Akil R_______________________________________________
x265-devel mailing list
[email protected]
https://mailman.videolan.org/listinfo/x265-devel