h264-reader icon indicating copy to clipboard operation
h264-reader copied to clipboard

Bounds checks for many fields

Open dholroyd opened this issue 1 year ago • 2 comments

Turns out to be more complicated than I expected due to the need to refer to a table of values from the spec when calculating the max value for max_dec_frame_buffering.

log2_max_mv_length_horizontal and log2_max_mv_length_vertical are not checked to the [0, 15] limits in the most recent spec because older specs said the restriction was [0, 16] and real world test data appears to use the value 16.

Other changes included,

  • Levels 6, 6.1 and 6.2, because the spec doc I'm referring to for "Table A-1 – Level limits" has these levels now
  • some rewiring to thread SPS/PPS info through to code that needs them to perform field validations

Fixes #55 and #58

dholroyd avatar Feb 26 '24 00:02 dholroyd

🐰Bencher

ReportFri, March 1, 2024 at 07:28:22 UTC
Projecth264-reader
Branch66/merge
Testbedubuntu-22.04
BenchmarkEstimated CyclesEstimated Cycles Results
estimated cycles
InstructionsInstructions Results
instructions
L1 AccessesL1 Accesses Results
accesses
L2 AccessesL2 Accesses Results
accesses
RAM AccessesRAM Accesses Results
accesses
Total AccessesTotal Accesses Results
total-accesses
ci_bench::ci::reader read:setup_video("big_buck_bunny_1080p_24f...➖ (view plot)16653199.000➖ (view plot)8205418.000➖ (view plot)10769774.000➖ (view plot)16841.000➖ (view plot)165692.000➖ (view plot)10952307.000

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

github-actions[bot] avatar Feb 29 '24 21:02 github-actions[bot]

🐰Bencher

ReportFri, March 1, 2024 at 18:56:06 UTC
Projecth264-reader
Branch66/merge
Testbedlocalhost
BenchmarkEstimated CyclesEstimated Cycles Results
estimated cycles | (Δ%)
Estimated Cycles Lower Boundary
estimated cycles | (%)
InstructionsInstructions Results
instructions
L1 AccessesL1 Accesses Results
accesses
L2 AccessesL2 Accesses Results
accesses
RAM AccessesRAM Accesses Results
accesses
Total AccessesTotal Accesses Results
total-accesses
ci_bench::ci::reader read:setup_video("big_buck_bunny_1080p_24f...✅ (view plot)16648266.000 (+0.04%)14976912.000 (89.96%)➖ (view plot)8205445.000➖ (view plot)10771081.000➖ (view plot)15558.000➖ (view plot)165697.000➖ (view plot)10952336.000

Bencher - Continuous Benchmarking
View Public Perf Page
Docs | Repo | Chat | Help

github-actions[bot] avatar Mar 01 '24 13:03 github-actions[bot]