You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Renamed repository and project branding from bc250-vcn-driver to bc250-encoding-decoding-fix to eliminate confusion.
Clarification: Factory eFuses permanently disable the hardware VCN (Video Core Next) block on BC-250 mining dies. No software, driver, or firmware modification can turn the dead ASIC back on. This project provides a high-performance VA-API hardware driver replacement powered by custom Vulkan Compute shaders executed directly across the APU's RDNA 2 Compute Units, coupled with real-time CPU SIMD load balancing and audio clock fixes.
Solves the long-standing streaming frame drop issue under heavy 3D titles (e.g. Proton/DXVK/Gamescope) when GPU CUs reach 95–100% saturation.
Bypasses the GPU Motion Estimation compute pass (~70% of encoder compute load) during CU saturation and offloads 16x16 macroblock motion search to the Zen 2 CPU cores (which maintain ~25% headroom) using vectorized SSE2 intrinsics (_mm_sad_epu8) over the unified 16 GB GDDR6 physical memory bus.
Real-Time Saturation Governor: 4-tier state machine (Tier 0 Full GPU, Tier 1 Fast GPU ME, Tier 2 CPU SIMD ME Offload, Tier 3 P_Skip Failover) with latency EMA tracking (\alpha = 0.20) and a 15-frame anti-thrashing hysteresis filter to lock 60 fps game streaming without frame drops.
Bounded to strictly 2 CPU worker threads to guarantee gaming CPU headroom.
3. Multi-Threaded Slice Entropy Coding
Added OpenMP parallelized CAVLC and CABAC slice encoding (#pragma omp parallel for) when multi-slice streaming is active (\BC250_SLICES_PER_FRAME).
4. Pre-built Dual Architecture Bundles
bc250-driver-linux-x86_64.tar.gz: 64-bit driver for standard VA-API clients (Sunshine, OBS, FFmpeg).
bc250-driver-linux-i386.tar.gz: 32-bit driver for 32-bit Steam Link streaming.