>From 0bb94979eee99370e5aa494717fe80a9d5701e81 Mon Sep 17 00:00:00 2001 From: PavanTarun <pavan.ta...@multicorewareinc.com> Date: Fri, 28 Mar 2025 05:56:28 +0000 Subject: [PATCH] Fix build warnings in arm
--- source/CMakeLists.txt | 1 - source/common/aarch64/loopfilter-prim.cpp | 10 +++++----- source/common/common.h | 1 + source/common/cpu.cpp | 2 ++ source/common/param.cpp | 4 ++++ source/common/scaler.cpp | 3 --- source/encoder/entropy.cpp | 4 ++-- source/encoder/level.cpp | 9 --------- source/encoder/ratecontrol.cpp | 10 +++------- source/encoder/sao.cpp | 5 ----- source/encoder/search.cpp | 4 ---- source/encoder/slicetype.cpp | 4 ---- source/test/pixelharness.cpp | 19 ------------------- source/test/pixelharness.h | 2 +- source/x265.cpp | 2 +- 15 files changed, 19 insertions(+), 61 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 4f5b3ed82..c1473caa5 100755 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -622,7 +622,6 @@ option(WARNINGS_AS_ERRORS "Stop compiles on first warning" OFF) if(WARNINGS_AS_ERRORS) if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") add_definitions(-Werror) - add_definitions(-Wno-unused) elseif(MSVC) add_definitions(/WX) endif() diff --git a/source/common/aarch64/loopfilter-prim.cpp b/source/common/aarch64/loopfilter-prim.cpp index 320cb8153..54ea561ab 100644 --- a/source/common/aarch64/loopfilter-prim.cpp +++ b/source/common/aarch64/loopfilter-prim.cpp @@ -279,11 +279,11 @@ void pelFilterLumaStrong_V_neon(pixel *src, intptr_t srcStep, intptr_t offset, // -1 index means value is zero because TBL instructions // zero elements that have out of range indices. - const uint8x8_t idx0 = { -1, 0, 1, 2, 3, 4, 5, -1 }; - const uint8x8_t idx1 = { -1, 1, 2, 3, 4, 5, 6, -1 }; - const uint8x8_t idx2 = { -1, 2, 3, 4, 5, 6, 7, -1 }; - const uint8x8_t idx3 = { -1, 3, 4, 5, 6, -1, 3, -1 }; - const uint8x8_t idx4 = { -1, 4, -1, 1, 2, 3, 4, -1 }; + const uint8x8_t idx0 = { 255, 0, 1, 2, 3, 4, 5, 255 }; + const uint8x8_t idx1 = { 255, 1, 2, 3, 4, 5, 6, 255 }; + const uint8x8_t idx2 = { 255, 2, 3, 4, 5, 6, 7, 255 }; + const uint8x8_t idx3 = { 255, 3, 4, 5, 6, 255, 3, 255 }; + const uint8x8_t idx4 = { 255, 4, 255, 1, 2, 3, 4, 255 }; const int16x8_t neg_shift = { 0, -3, -2, -3, -3, -2, -3, 0 }; diff --git a/source/common/common.h b/source/common/common.h index f5e2f63fe..794073577 100644 --- a/source/common/common.h +++ b/source/common/common.h @@ -39,6 +39,7 @@ #include <stdint.h> #include <memory.h> #include <assert.h> +#include <stdlib.h> #include "x265.h" diff --git a/source/common/cpu.cpp b/source/common/cpu.cpp index 35c43deaf..d4a4e63c5 100644 --- a/source/common/cpu.cpp +++ b/source/common/cpu.cpp @@ -62,7 +62,9 @@ static void sigill_handler(int sig) #endif // if X265_ARCH_ARM namespace X265_NS { +#if X265_ARCH_X86 static bool enable512 = false; +#endif const cpu_name_t cpu_names[] = { #if X265_ARCH_X86 diff --git a/source/common/param.cpp b/source/common/param.cpp index 02cface59..759e67216 100755 --- a/source/common/param.cpp +++ b/source/common/param.cpp @@ -904,12 +904,16 @@ int x265_param_parse(x265_param* p, const char* name, const char* value) bool bValueWasNull = !value; bool bExtraParams = false; char nameBuf[64]; +#ifdef SVT_HEVC static int count; +#endif if (!name) return X265_PARAM_BAD_NAME; +#ifdef SVT_HEVC count++; +#endif // skip -- prefix if provided if (name[0] == '-' && name[1] == '-') name += 2; diff --git a/source/common/scaler.cpp b/source/common/scaler.cpp index 879654793..4577f4871 100644 --- a/source/common/scaler.cpp +++ b/source/common/scaler.cpp @@ -511,10 +511,7 @@ int ScalerFilterManager::init(int algorithmFlags, VideoDesc *srcVideoDesc, Video int dstHCrPos; int srcVCrPos; int dstVCrPos; - int dst_stride = SCALER_ALIGN(dstW * sizeof(int16_t) + 66, 16); m_bitDepth = dstVideoDesc->m_inputDepth; - if (m_bitDepth == 16) - dst_stride <<= 1; m_algorithmFlags = algorithmFlags; lumXInc = (((int64_t)srcW << 16) + (dstW >> 1)) / dstW; diff --git a/source/encoder/entropy.cpp b/source/encoder/entropy.cpp index ece8d6bc9..c7cc470a3 100644 --- a/source/encoder/entropy.cpp +++ b/source/encoder/entropy.cpp @@ -1782,7 +1782,7 @@ void Entropy::codePredWeightTable(const Slice& slice) else #endif WRITE_FLAG(!!wp[0].wtPresent, "luma_weight_lX_flag"); - totalSignalledWeightFlags += wp[0].wtPresent; + totalSignalledWeightFlags = totalSignalledWeightFlags + wp[0].wtPresent; } if (bChroma) @@ -1796,7 +1796,7 @@ void Entropy::codePredWeightTable(const Slice& slice) else #endif WRITE_FLAG(!!wp[1].wtPresent, "chroma_weight_lX_flag"); - totalSignalledWeightFlags += 2 * wp[1].wtPresent; + totalSignalledWeightFlags = totalSignalledWeightFlags + 2 * wp[1].wtPresent; } } diff --git a/source/encoder/level.cpp b/source/encoder/level.cpp index 34ad23d1f..5f3c4bc22 100644 --- a/source/encoder/level.cpp +++ b/source/encoder/level.cpp @@ -64,15 +64,6 @@ LevelSpec levels[] = { MAX_UINT, MAX_UINT64, MAX_UINT, MAX_UINT, MAX_UINT, MAX_UINT, 1, Level::LEVEL8_5, "8.5", 85 }, }; -static inline int _confirm(x265_param* param, bool bflag, const char* message) -{ - if (!bflag) - return 0; - - x265_log(param, X265_LOG_ERROR, "%s\n", message); - return 1; -} - /* determine minimum decoder level required to decode the described video */ void determineLevel(const x265_param ¶m, VPS& vps) { diff --git a/source/encoder/ratecontrol.cpp b/source/encoder/ratecontrol.cpp index 6749503b1..6b8b384e4 100644 --- a/source/encoder/ratecontrol.cpp +++ b/source/encoder/ratecontrol.cpp @@ -664,7 +664,6 @@ bool RateControl::init(const SPS& sps) } /* read stats */ p = statsIn; - double totalQpAq = 0; for (int i = 0; i < m_numEntries; i++) { RateControlEntry *rce, *rcePocOrder; @@ -729,7 +728,6 @@ bool RateControl::init(const SPS& sps) return false; } rce->qScale = rce->newQScale = x265_qp2qScale(qpRc); - totalQpAq += qpAq; rce->qpNoVbv = qNoVbv; rce->qpaRc = qpRc; rce->qpAq = qpAq; @@ -1108,7 +1106,7 @@ fail: bool RateControl::initPass2() { - uint64_t allConstBits = 0, allCodedBits = 0; + uint64_t allConstBits = 0; uint64_t allAvailableBits = uint64_t(m_param->rc.bitrate * 1000. * m_numEntries * m_frameDuration); int startIndex, endIndex; int fps = X265_MIN(m_param->keyframeMax, (int)(m_fps + 0.5)); @@ -1127,7 +1125,6 @@ bool RateControl::initPass2() for (endIndex = m_start; endIndex < m_numEntries; endIndex++) { allConstBits += m_rce2Pass[endIndex].miscBits; - allCodedBits += m_rce2Pass[endIndex].coeffBits + m_rce2Pass[endIndex].mvBits; } if (allAvailableBits < allConstBits) @@ -1225,14 +1222,13 @@ bool RateControl::vbv2Pass(uint64_t allAvailableBits, int endPos, int startPos) int t0, t1; double qScaleMin = x265_qp2qScale(m_param->rc.qpMin); double qScaleMax = x265_qp2qScale(m_param->rc.qpMax); - int iterations = 0 , adjMin, adjMax; + int adjMin, adjMax; CHECKED_MALLOC(fills, double, m_numEntries + 1); fills++; /* adjust overall stream size */ do { - iterations++; prevBits = expectedBits; if (expectedBits) @@ -1907,7 +1903,7 @@ double RateControl::tuneQScaleForGrain(double rcOverflow) int newQp = rcOverflow > 1.1 ? curQp + 2 : rcOverflow > 1 ? curQp + 1 : curQp - 1 ; double projectedBitrate = int(m_fps + 0.5) * m_qpToEncodedBits[newQp]; if (curBitrate > 0 && projectedBitrate > 0) - q = abs(projectedBitrate - m_bitrate) < abs (curBitrate - m_bitrate) ? x265_qp2qScale(newQp) : m_lastQScaleFor[P_SLICE]; + q = std::abs(projectedBitrate - m_bitrate) < std::abs (curBitrate - m_bitrate) ? x265_qp2qScale(newQp) : m_lastQScaleFor[P_SLICE]; else q = rcOverflow > 1 ? qScaleAvg * qpstep : rcOverflow < 1 ? qScaleAvg / qpstep : m_lastQScaleFor[P_SLICE]; return q; diff --git a/source/encoder/sao.cpp b/source/encoder/sao.cpp index 329f36ccf..0dee092d7 100644 --- a/source/encoder/sao.cpp +++ b/source/encoder/sao.cpp @@ -733,7 +733,6 @@ void SAO::calcSaoStatsCTU(int addr, int plane) const CUData* cu = m_frame->m_encData->getPicCTU(addr); const pixel* fenc0 = m_frame->m_fencPic->getPlaneAddr(plane, addr); const pixel* rec0 = reconPic->getPlaneAddr(plane, addr); - const pixel* fenc; const pixel* rec; intptr_t stride = plane ? reconPic->m_strideC : reconPic->m_stride; uint32_t picWidth = m_param->sourceWidth; @@ -863,7 +862,6 @@ void SAO::calcSaoStatsCTU(int addr, int plane) skipR = 5; } - fenc = fenc0; rec = rec0; startX = !lpelx; @@ -873,7 +871,6 @@ void SAO::calcSaoStatsCTU(int addr, int plane) endY = (bpely == picHeight) ? ctuHeight - 1 : ctuHeight - skipB + plane_offset; if (startY) { - fenc += stride; rec += stride; } @@ -888,7 +885,6 @@ void SAO::calcSaoStatsCTU(int addr, int plane) skipB = 4; skipR = 5; } - fenc = fenc0; rec = rec0; startX = !lpelx; endX = (rpelx == picWidth) ? ctuWidth - 1 : ctuWidth - skipR + plane_offset; @@ -898,7 +894,6 @@ void SAO::calcSaoStatsCTU(int addr, int plane) if (startY) { - fenc += stride; rec += stride; } diff --git a/source/encoder/search.cpp b/source/encoder/search.cpp index 2a324700d..0522f52cc 100644 --- a/source/encoder/search.cpp +++ b/source/encoder/search.cpp @@ -276,7 +276,6 @@ void Search::codeCoeffQTChroma(const CUData& cu, uint32_t tuDepth, uint32_t absP return; } - uint32_t tuDepthC = tuDepth; uint32_t log2TrSizeC = log2TrSize - m_hChromaShift; if (log2TrSizeC < 2) @@ -285,7 +284,6 @@ void Search::codeCoeffQTChroma(const CUData& cu, uint32_t tuDepth, uint32_t absP if (absPartIdx & 3) return; log2TrSizeC = 2; - tuDepthC--; } uint32_t qtLayer = log2TrSize - 2; @@ -5717,12 +5715,10 @@ void Search::saveResidualQTData(CUData& cu, ShortYuv& resiYuv, uint32_t absPartI uint32_t log2TrSizeC = log2TrSize - m_hChromaShift; uint32_t codeChroma = (m_csp != X265_CSP_I400 && m_frame->m_fencPic->m_picCsp != X265_CSP_I400) ? 1 : 0; - uint32_t tuDepthC = tuDepth; if (log2TrSizeC < 2) { X265_CHECK(log2TrSize == 2 && m_csp != X265_CSP_I444 && tuDepth, "invalid tuDepth\n"); log2TrSizeC = 2; - tuDepthC--; codeChroma &= !(absPartIdx & 3); } diff --git a/source/encoder/slicetype.cpp b/source/encoder/slicetype.cpp index e94a7eb9c..992d7b687 100644 --- a/source/encoder/slicetype.cpp +++ b/source/encoder/slicetype.cpp @@ -1473,7 +1473,6 @@ void LookaheadTLD::computePictureStatistics(Frame *curFrame) uint64_t picTotVariance = 0; uint32_t variance; - uint64_t blockXY = 0; pixel* src = curFrame->m_fencPic->m_picOrg[0]; for (int blockY = 0; blockY < maxRow; blockY += 8) @@ -1489,7 +1488,6 @@ void LookaheadTLD::computePictureStatistics(Frame *curFrame) blockOffsetLuma, 0); rowVariance += variance; - blockXY++; } picTotVariance += (uint16_t)(rowVariance / maxCol); } @@ -1520,7 +1518,6 @@ void LookaheadTLD::computePictureStatistics(Frame *curFrame) blockOffsetChroma, 1); rowVariance += variance; - blockXY++; } picTotVariance += (uint16_t)(rowVariance / maxColChroma); } @@ -1544,7 +1541,6 @@ void LookaheadTLD::computePictureStatistics(Frame *curFrame) blockOffsetChroma, 2); rowVariance += variance; - blockXY++; } picTotVariance += (uint16_t)(rowVariance / maxColChroma); } diff --git a/source/test/pixelharness.cpp b/source/test/pixelharness.cpp index 10f66cda1..2c9b5200c 100644 --- a/source/test/pixelharness.cpp +++ b/source/test/pixelharness.cpp @@ -998,8 +998,6 @@ bool PixelHarness::check_pixel_add_ps_aligned(pixel_add_ps_t ref, pixel_add_ps_t bool PixelHarness::check_pixel_var(var_t ref, var_t opt) { - int j = 0; - intptr_t stride = STRIDE; for (int i = 0; i < ITERS; i++) @@ -1011,7 +1009,6 @@ bool PixelHarness::check_pixel_var(var_t ref, var_t opt) return false; reportfail(); - j += INCR; } return true; @@ -1350,8 +1347,6 @@ bool PixelHarness::check_saoCuStatsE1_t(saoCuStatsE1_t ref, saoCuStatsE1_t opt) int8_t _upBuff1_ref[MAX_CU_SIZE + 2], *upBuff1_ref = _upBuff1_ref + 1; int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1; - int j = 0; - for (int i = 0; i < ITERS; i++) { // initialize input data to random, the dynamic range wrong but good to verify our asm code @@ -1377,7 +1372,6 @@ bool PixelHarness::check_saoCuStatsE1_t(saoCuStatsE1_t ref, saoCuStatsE1_t opt) return false; reportfail(); - j += INCR; } return true; @@ -1397,7 +1391,6 @@ bool PixelHarness::check_saoCuStatsE2_t(saoCuStatsE2_t ref, saoCuStatsE2_t opt) int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1; int8_t _upBufft_vec[MAX_CU_SIZE + 2], *upBufft_vec = _upBufft_vec + 1; - int j = 0; // NOTE: verify more times since our asm is NOT exact match to C, the output of upBuff* will be DIFFERENT for (int i = 0; i < ITERS * 10; i++) @@ -1428,7 +1421,6 @@ bool PixelHarness::check_saoCuStatsE2_t(saoCuStatsE2_t ref, saoCuStatsE2_t opt) return false; reportfail(); - j += INCR; } return true; @@ -1446,8 +1438,6 @@ bool PixelHarness::check_saoCuStatsE3_t(saoCuStatsE3_t ref, saoCuStatsE3_t opt) int8_t _upBuff1_ref[MAX_CU_SIZE + 2], *upBuff1_ref = _upBuff1_ref + 1; int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1; - int j = 0; - // (const pixel *fenc, const pixel *rec, intptr_t stride, int8_t *upBuff1, int endX, int endY, int32_t *stats, int32_t *count) for (int i = 0; i < ITERS; i++) { @@ -1476,7 +1466,6 @@ bool PixelHarness::check_saoCuStatsE3_t(saoCuStatsE3_t ref, saoCuStatsE3_t opt) return false; reportfail(); - j += INCR; } return true; @@ -1729,7 +1718,6 @@ bool PixelHarness::check_scanPosLast(scanPosLast_t ref, scanPosLast_t opt) uint16_t ref_coeffSign[MLS_GRP_NUM], opt_coeffSign[MLS_GRP_NUM]; // bit mask map for non-zero coeff sign uint16_t ref_coeffFlag[MLS_GRP_NUM], opt_coeffFlag[MLS_GRP_NUM]; // bit mask map for non-zero coeff - int totalCoeffs = 0; for (int i = 0; i < 32 * 32; i++) { ref_src[i] = rand() & SHORT_MAX; @@ -1741,7 +1729,6 @@ bool PixelHarness::check_scanPosLast(scanPosLast_t ref, scanPosLast_t opt) // more negtive if ((rand() % 10) < 8) ref_src[i] *= -1; - totalCoeffs += (ref_src[i] != 0); } // extra test area all of 0x1234 @@ -1865,7 +1852,6 @@ bool PixelHarness::check_costCoeffNxN(costCoeffNxN_t ref, costCoeffNxN_t opt) memset(ref_absCoeff, 0xCD, sizeof(ref_absCoeff)); memset(opt_absCoeff, 0xCD, sizeof(opt_absCoeff)); - int totalCoeffs = 0; for (int i = 0; i < 32 * 32; i++) { ref_src[i] = rand() & SHORT_MAX; @@ -1877,7 +1863,6 @@ bool PixelHarness::check_costCoeffNxN(costCoeffNxN_t ref, costCoeffNxN_t opt) // more negtive if ((rand() % 10) < 8) ref_src[i] *= -1; - totalCoeffs += (ref_src[i] != 0); } // extra test area all of 0x1234 @@ -2230,7 +2215,6 @@ bool PixelHarness::check_pelFilterChroma_V(pelFilterChroma_t ref, pelFilterChrom bool PixelHarness::check_integral_initv(integralv_t ref, integralv_t opt) { intptr_t srcStep = 64; - int j = 0; uint32_t dst_ref[BUFFSIZE] = { 0 }; uint32_t dst_opt[BUFFSIZE] = { 0 }; @@ -2261,7 +2245,6 @@ bool PixelHarness::check_integral_initv(integralv_t ref, integralv_t opt) return false; reportfail() - j += INCR; } return true; } @@ -2272,7 +2255,6 @@ bool PixelHarness::check_integral_inith(integralh_t ref, integralh_t opt) * to check correctness for two cases: stride multiple of 16 and stride not a multiple of 16; fine for High bit depth * where data movement in AVX2 is 8 elements at a time */ intptr_t srcStep[2] = { 56, 64 }; - int j = 0; uint32_t dst_ref[BUFFSIZE] = { 0 }; uint32_t dst_opt[BUFFSIZE] = { 0 }; @@ -2291,7 +2273,6 @@ bool PixelHarness::check_integral_inith(integralh_t ref, integralh_t opt) return false; reportfail() - j += INCR; } } return true; diff --git a/source/test/pixelharness.h b/source/test/pixelharness.h index ee43cbeae..5dd354029 100644 --- a/source/test/pixelharness.h +++ b/source/test/pixelharness.h @@ -109,7 +109,7 @@ protected: bool check_addAvg_aligned(addAvg_t, addAvg_t); bool check_saoCuOrgE0_t(saoCuOrgE0_t ref, saoCuOrgE0_t opt); bool check_saoCuOrgE1_t(saoCuOrgE1_t ref, saoCuOrgE1_t opt); - bool check_saoCuOrgE2_t(saoCuOrgE2_t ref[], saoCuOrgE2_t opt[]); + bool check_saoCuOrgE2_t(saoCuOrgE2_t ref[2], saoCuOrgE2_t opt[2]); bool check_saoCuOrgE3_t(saoCuOrgE3_t ref, saoCuOrgE3_t opt); bool check_saoCuOrgE3_32_t(saoCuOrgE3_t ref, saoCuOrgE3_t opt); bool check_saoCuOrgB0_t(saoCuOrgB0_t ref, saoCuOrgB0_t opt); diff --git a/source/x265.cpp b/source/x265.cpp index d1a362070..1617ef414 100644 --- a/source/x265.cpp +++ b/source/x265.cpp @@ -208,7 +208,7 @@ static bool parseAbrConfig(FILE* abrConfig, CLIOptions cliopt[], uint8_t numEnco { argv[argc] = strPool; strPool += strlen(token) + 1; - strPoolSize -= (int)strlen(token) + 1; + strPoolSize = strPoolSize - (int)strlen(token) + 1; strcpy(argv[argc], token); token = strtok(NULL, " "); argc++; -- 2.43.0
0001-Fix-build-warnings-in-arm.patch
Description: 0001-Fix-build-warnings-in-arm.patch
_______________________________________________ x265-devel mailing list x265-devel@videolan.org https://mailman.videolan.org/listinfo/x265-devel