[x265] fix weightCost() [CHANGES OUTPUT]
Steve Borho
steve at borho.org
Tue Jan 6 04:42:54 CET 2015
On 01/06, Satoshi Nakagawa wrote:
> # HG changeset patch
> # User Satoshi Nakagawa <nakagawa424 at oki.com>
> # Date 1420511389 -32400
> # Tue Jan 06 11:29:49 2015 +0900
> # Node ID a260403b0d21cd2948fb2546997269c102249369
> # Parent f255e8d06423231cb8c58ab5d3b10de7fb27b424
> fix weightCost() [CHANGES OUTPUT]
>
> diff -r f255e8d06423 -r a260403b0d21 source/encoder/weightPrediction.cpp
> --- a/source/encoder/weightPrediction.cpp Fri Jan 02 18:22:38 2015 +0530
> +++ b/source/encoder/weightPrediction.cpp Tue Jan 06 11:29:49 2015 +0900
> @@ -193,9 +193,9 @@
> if (bLuma)
> {
> int cu = 0;
> - for (int y = 8; y < height; y += 8, r += 8 * stride, f += 8 * stride)
> + for (int y = 0; y < height; y += 8, r += 8 * stride, f += 8 * stride)
I thought maybe x264 was skipping the top/bottom rows here like they do
for estimated frame cost, but it turns out they don't. I'm not sure why
we ever did.
queued
> {
> - for (int x = 8; x < width; x += 8, cu++)
> + for (int x = 0; x < width; x += 8, cu++)
> {
> int cmp = primitives.satd[LUMA_8x8](r + x, stride, f + x, stride);
> cost += X265_MIN(cmp, cache.intraCost[cu]);
> @@ -203,12 +203,12 @@
> }
> }
> else if (cache.csp == X265_CSP_I444)
> - for (int y = 16; y < height; y += 16, r += 16 * stride, f += 16 * stride)
> - for (int x = 16; x < width; x += 16)
> + for (int y = 0; y < height; y += 16, r += 16 * stride, f += 16 * stride)
> + for (int x = 0; x < width; x += 16)
> cost += primitives.satd[LUMA_16x16](r + x, stride, f + x, stride);
> else
> - for (int y = 8; y < height; y += 8, r += 8 * stride, f += 8 * stride)
> - for (int x = 8; x < width; x += 8)
> + for (int y = 0; y < height; y += 8, r += 8 * stride, f += 8 * stride)
> + for (int x = 0; x < width; x += 8)
> cost += primitives.satd[LUMA_8x8](r + x, stride, f + x, stride);
>
> return cost;
> @@ -381,9 +381,9 @@
> break;
>
> case 2:
> - fref = refFrame->m_fencPic->m_picOrg[2];
> orig = fencPic->m_picOrg[2];
> stride = fencPic->m_strideC;
> + fref = refFrame->m_fencPic->m_picOrg[2];
> width = ((fencPic->m_picWidth >> 4) << 4) >> cache.hshift;
> height = ((fencPic->m_picHeight >> 4) << 4) >> cache.vshift;
> if (mvs)
> _______________________________________________
> x265-devel mailing list
> x265-devel at videolan.org
> https://mailman.videolan.org/listinfo/x265-devel
--
Steve Borho
More information about the x265-devel
mailing list