• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Eyevinn / hi264 / 32481712975
88%
main: 88%

Build:
Build:
LAST BUILD BRANCH: fix/cavlc-trailing-ones-sign
DEFAULT BRANCH: main
Ran 21 Aug 2026 12:24PM UTC
Jobs 1
Files 50
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

21 Aug 2026 12:23PM UTC coverage: 87.462% (+0.09%) from 87.374%
32481712975

Pull #22

github

tobbee
fix: write CAVLC trailing_ones_sign_flag in transmission order

levels is collected in reverse scan order, which is already the order the
trailing_ones_sign_flag syntax elements are transmitted in (spec 7.3.5.3.2),
but they were written back to front. Blocks with two or three trailing ones
of mixed sign therefore decoded with those coefficients' signs permuted.

For chroma DC a 1<->2 swap transposes the 2x2 DC array, so the TR and BL
sub-blocks pick up equal and opposite errors. Chroma is coded DC-only, so
the residual could not correct it and the error fed the next macroblock's
intra chroma prediction, propagating right and down: visible as colour
bleeding streaking diagonally down-right on PNG/JPEG input. Flat .gridimg
patterns were unaffected because a single DC coefficient never produces a
mixed-sign trailing-one pair, which is why the encoder verification tests
missed it.

With the fix the encoder's own reconstruction is bit-exact with both
hi264dec and FFmpeg for photo input (it was not before), and CAVLC output
is pixel-identical to CABAC, which never had this bug. On a 320x240
mandelbrot at QP 26 chroma PSNR vs the encoder target goes from
Cb 39.1 / Cr 40.4 dB to Cb 51.4 / Cr 50.9 dB.

Add round-trip tests through the FFmpeg-verified CAVLC reader: the targeted
sign cases, an exhaustive sweep of 4-coefficient chroma DC blocks, and a
fuzz pass over every (nC, maxNumCoeff) category the encoder emits.
Pull Request #22: fix: write CAVLC trailing_ones_sign_flag in transmission order

4 of 4 new or added lines in 1 file covered. (100.0%)

8134 of 9300 relevant lines covered (87.46%)

1.01 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32481712975.1 21 Aug 2026 12:24PM UTC 50
87.46
GitHub Action Run
Source Files on build 32481712975
  • Tree
  • List 50
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #22
  • PR Base - main (#29853934339)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc