Skip to content

v0.2.8

Latest

Choose a tag to compare

@github-actions github-actions released this 16 Jun 04:04
· 6 commits to main since this release

New Features

✨ Custom ffmpeg Path Support

  • Added a GUI option to specify a custom ffmpeg executable path
  • The custom path is now used across all detection and test modules
  • Improved ffmpeg discovery logic in utilities

✨ Automatic ffmpeg Installation (install_ffmpeg_if_needed)

  • New module to automatically detect if ffmpeg is installed
  • If missing, prompts and guides the user through installation
  • Significantly improved installation logic with 306+ lines of enhancements

✨ Colorful Terminal Output

  • Added vibrant color-coded output for bit depth and chroma detection results
  • Enhanced test runner output with colorized status indicators
  • Improved readability of console output across all modules

✨ Hardware Device Index Support

  • Added device index configuration for hardware encoders/decoders
  • New codec_defs.py module defining available hardware devices and codecs
  • GUI now supports selecting hardware device indices

Bug Fixes

🐛 Vulkan hwupload Format Compatibility

  • Fixed issue where Vulkan hwupload only accepted semi-planar HW-friendly pixel formats
  • Added proper format validation for Vulkan hardware uploads

🐛 tkinter ImportError

  • Fixed ImportError when tkinter is not available in certain Python environments
  • Added graceful fallback when running in headless mode

🐛 Subprocess Timeout

  • Set subprocess timeout to 10 seconds to prevent indefinite hangs
  • Improved error handling for timed-out ffmpeg operations

Refactoring & Improvements

🔧 Major Codebase Restructuring

  • Extracted hardware codec definitions into dedicated codec_defs.py module
  • Extracted theme/color definitions into dedicated theme.py module
  • Reduced gui.py by 873 lines through modularization
  • Overall: +499 lines added, -873 lines removed across 8 files

🔧 Improved Test Runner

  • Refactored run_tests.py for better code organization
  • Enhanced test output formatting
  • Added support for custom ffmpeg path in test execution

🔧 Optimization

  • Optimized GUI layout and logic
  • Improved error handling and user feedback across all modules