Repository navigation
Version 6.3.0 - #740
Open
cdgriffith wants to merge 26 commits into
Open
Version 6.3.0#740cdgriffith wants to merge 26 commits into
cdgriffith wants to merge 26 commits into
Conversation
…eg 8.0+ by adding `-update 1` flag required by the image2 muxer for single-image output (thanks to kliffgomel)
… (FFmpeg eq/hue filters for software encoders, --vpp-tweak for rigaya) * Adding Reverse Video option in the Advanced panel (applies FFmpeg reverse video filter and areverse audio filter for converted tracks) * Adding rigaya encoder support for Equalizer (--vpp-tweak), Denoise (--vpp-nlmeans/knn/pmd), Deblock (--vpp-deblock), Output FPS (--vpp-fps), and Video Track Title — only Video Speed and Reverse Video remain unsupported * Fixing #738 conversion error with Google Pixel videos by disabling data stream mapping for Matroska containers which only support audio, video, and subtitle streams (thanks to Hankuuuu) * Fixing #739 unable to add more than 1 video per session due to AttributeError when closing audio track widgets (thanks to mrdav1) * Fixing startup crash when queue file exists but is missing the 'queue' key
…filter for software encoders, --vpp-unsharp for rigaya) * Adding #447 GOP length setting to the Advanced panel (FFmpeg -g, rigaya --gop-len) (thanks to colemar) * Adding #498 deinterlace setting persistence in profiles * Adding #526 -movflags +faststart toggle for MP4/MOV containers, enabled by default (thanks to Aria)
…s are incompatible with the output format (e.g. data streams in MKV) * Fixing attachment streams (fonts, etc.) losing mimetype/filename metadata during conversion due to `-map_metadata -1` stripping per-stream tags required by the muxers * Fixing cover image metadata targeting wrong output stream when data/attachment tracks are present (FFmpeg places `-map` streams before `-attach` streams in output order) * Fixing data streams being auto-included by FFmpeg when encoding to MKV, causing "Only audio, video, and subtitles are supported" errors — now explicitly excludes unmapped data with `-dn` and rechecks compatibility when output format changes
…, and AV1 (SVT-AV1) encoders * Adding #457 QSVEncC --tune parameter support (hq, ll, ull, lossless) for HEVC, AV1, and AVC encoders (thanks to Marco Ravich) * Adding #682 HE-AAC and HE-AAC v2 audio profile selection for AAC and libfdk_aac codecs (thanks to Augusto7743) * Adding #520 "Same as Source" option for the output file extension, matching the output container to the source format for batch encoding mixed MKV/MP4 files (thanks to x9sim9) * Adding #480 2-pass CRF encoding for the AOM AV1 encoder for improved quality (thanks to jimbow973) * Adding #665 profile-level control for subtitle "default" and "forced" disposition flags with Keep Source, Clear All, and Set on First Track modes (thanks to legoleigh) * Adding #523 drag and drop folder support in the Concatenation Builder (thanks to GokieKS) * Adding #677 "Keep source loaded after adding to queue" setting to allow tweaking and re-queuing the same source without reloading (thanks to Mine181) * Adding #594 codec and codec+profile matching options for audio profile pattern matching, allowing users to distinguish between e.g. DTS-HD MA and regular DTS tracks (thanks to Damundai) * Adding #202 new video filters to the Advanced panel: vibrance, color temperature, curves presets, colorbalance presets, unsharp mask, deflicker, pad/letterbox, LUT3D file loading, and nlmeans_opencl GPU-accelerated denoise — with rigaya hardware encoder support for curves (--vpp-curves), unsharp (--vpp-unsharp), pad (--vpp-pad), LUT3D (--vpp-colorspace lut3d), and nlmeans_opencl (--vpp-nlmeans)
…ndard aspect ratios (4:3 FHD, 2.76:1 ultra-wide) due to independent dimension tracking across cropdetect frames and Python falsy-zero bug (thanks to hallmansm) * Adding structured table view to Source Details tab with grouped sections, human-readable value formatting, Download JSON export, and full path tooltips on source/output filename fields * Fixing HDR tonemapping failing with zscale "no path between colorspaces" by passing complete source colorspace parameters (primaries, matrix, transfer) to the zscale filter, with fallback retry for crop previews when tonemapping still fails * Fixing bitrate combobox being unreadably small on x264 and x265 encoders — combo now sizes to fit its widest item * Fixing rigaya encoder pad/letterbox calculation ignoring crop dimensions due to incorrect type check
…r exporting mastering display and content light level data in x265-compatible format (thanks to yundebian918)
|
please, add support to enable the option/ability to download at fastflix start-up the lastest ffmepg software and/or rigaya software, and the option to checks stable/beta fastflix program at the start-up. |
- Keep auto-detected interlacing when a profile default is applied - Give a kept source a fresh uuid/work_path after adding to queue - Use explicit mode for yadif/bwdif/w3fdif/estdif deinterlace presets - Suppress speed/reverse warnings on programmatic changes - GOP length minimum 1, preserve values with is-not-None checks - Restore word wrap in yes_no_message - ElidedLabel now actually elides (small minimum size hint) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Reverse forces input-side seeking so -ss/-to are not applied to the reversed timeline - nlmeans_opencl initializes the OpenCL device without HDR removal; falls back to CPU nlmeans when OpenCL is unavailable (thumbnails); hwupload format follows source bit depth (p010) - Copy encoder no longer reverses converted audio when video filters are disabled - Pad is applied after rotation/flip - Text subtitle burn-in is applied before reverse - Data/attachment per-stream metadata uses the real output index computed from emitted maps - gop_length <= 0 is treated as unset (no -g 0) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- QSVEncC: use valid --tune values (default, psnr, ssim, ms_ssim, vmaf, perceptual); drop legacy NVEncC values - HE-AAC only for libfdk_aac (native aac rejects it); HE-AACv2 falls back to HE-AAC when not stereo - rigaya --audio-profile uses libavcodec names (HE-AAC, HE-AACv2) - x264 lossless omits incompatible -profile:v (keeps high444) - SVT-AV1/AOM lossless skip film grain / denoise options - Merge hdr2sdr and lut3d into a single --vpp-colorspace - rigaya pad calculation accounts for 90/270 rotation - Treat gop_length <= 0 as unset for rigaya encoders Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…les, i18n - Video.compute_output_dimensions: restore w:-N / -N:h custom scaling, round auto dimension to nearest multiple - Auto-crop: ignore negative cropdetect output, use union of content rects per edge (also in GUI aggregation) - Info panel: reset hdr10 button/min height, deleteLater tabs, plain-text labels, error box on HDR10 save failure - Data panel: restore user's Preserve selection when container becomes compatible again - ToggleSwitch: dimmed rendering when disabled - Profile window: remove dead set_disposition_from_profile, add AAC (HE) profile selector - languages.yaml: add missing keys and translations - test_local_encode: accept webp_anim, skip unavailable hardware encoders Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…y deinterlace presets * FFmpeg hevc_nvenc/av1_nvenc bitrate mode used -pass/-passlogfile/-2pass, which NVENC does not support (-2pass was removed from FFmpeg); now a single encode using -multipass * hevc_nvenc passed -spatial_aq:v, the FFmpeg option is -spatial-aq * Cover -attach metadata now addressed by attachment-type stream specifier (s:t:N) instead of stale outdex * Map deinterlace filter strings saved by earlier versions back to the new explicit presets Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…einterlace toggle Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uild pipeline Installer/uninstaller: - Self-delete now writes a temp .bat (retry loop, deletes itself) run hidden/detached - New shared package cmd/internal/ffinstall: path validation, separator-aware protected-root checks, SafeToRemove marker checks, manifest-based removal that keeps user files (portable fastflix.yaml), registry cleanup in both views, process detection incl. orphaned python.exe, IsAdmin via process token - Installer writes install_manifest.txt; uninstall removes only installed entries and only the registry root that owns the install; --silent still checks running + elevates - Elevated cleanup/installs use installer helper modes (--elevated-uninstall/-install) instead of cmd /c rmdir; error markers surfaced in the GUI, incl. timeout - Finds NSIS installs via WOW6432Node view; cleans WOW6432Node uninstall key - Shortcut creation passes paths via env vars and reports errors - Remove dead code (runUninstall, copyFile, --elevated-copy, expired ad), use BuildDate - Fix go vet unsafe.Pointer warnings, handle leaks, installing flag, partial extraction - Launcher passes args through, drops ineffective PYTHONHOME/PYTHONPATH Build/CI: - build_distribution.py: clean wheel dir, exactly one wheel, uv.lock-pinned deps resolved for bundled CPython 3.13 / win_amd64|arm64, single DEFAULT_PYTHON_VERSION (3.13.16), runs go-winres for every cmd, -H windowsgui for uninstaller, injects version/date, syncs winres.json from fastflix/version.py, --installer flag, keeps license files, limits tests-dir deletion to known-safe packages - Windows CI job uses the new pipeline (setup-go, go-winres v0.3.3, go vet/test, smoke test) - Remove accidentally committed .claude/settings.local.json and detect_cards.py, fix .gitignore entry, drop unused deepl dev dependency - Update WINDOWS_BUILD.md, CLAUDE.md build section and build-installer skill Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…sole windows Paths are passed to the cleanup batch through environment variables instead of being written into the script (cmd reads batch files in the OEM code page), and the batch runs with CREATE_NO_WINDOW only, since DETACHED_PROCESS made each ping open its own console window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… delete checks The elevated helpers no longer write a marker file to a user-controlled temp path (symlink/junction overwrite risk). The GUI launches them with ShellExecuteExW (SEE_MASK_NOCLOSEPROCESS), waits on the process handle and reads GetExitCodeProcess. LooksInstalled now requires FastFlix.exe plus a manifest, uninstall.exe or python dir. The legacy delete-everything branch additionally requires a folder named FastFlix with FastFlix.exe and uninstall.exe. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…nux (#766) * Implement clean_env to manage environment variables Add clean_env function to remove LD_LIBRARY_PATH from environment. * Add clean_env to subprocess environment * Use clean_env() in run_check_features function Added clean_env() to subprocess calls for feature checks. * Add clean_env to subprocess calls in background_tasks Updated the run method to include a clean environment for subprocesses. * Update subprocess call to include cleaned environment Pass cleaned environment to subprocess run for thumbnail generation. * Use clean_env for thumbnail generation Updated thumbnail generation to use a cleaned environment. * Use clean environment for thumbnail generation Updated thumbnail generation to use a cleaned environment. * Add clean_env function to subprocess environment --------- Co-authored-by: Chris Griffith <chris@cdgriffith.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
-update 1flag required by the image2 muxer for single-image output (thanks to kliffgomel)-map_metadata -1stripping per-stream tags required by the muxers-mapstreams before-attachstreams in output order)-dnand rechecks compatibility when output format changes