Skip to content

Commit

Permalink
Version 5.3.0 (#440)
Browse files Browse the repository at this point in the history
* Adding profile select in Load Directory window
* Adding `avis` and `avifs` extensions for AV1 (thanks to u/zimmwisdom)
* Fixing #439 QSVEnc QP mode select did not work in AVC / HEVC (thanks to sun6560032)
* Fixing current profile window would not show
  • Loading branch information
cdgriffith authored Mar 12, 2023
1 parent efadc16 commit 0e8e2ea
Show file tree
Hide file tree
Showing 10 changed files with 137 additions and 7 deletions.
9 changes: 8 additions & 1 deletion CHANGES
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## Version 5.3.0

* Adding profile select in Load Directory window
* Adding `avis` and `avifs` extensions for AV1 (thanks to u/zimmwisdom)
* Fixing #439 QSVEnc QP mode select did not work in AVC / HEVC (thanks to sun6560032)
* Fixing current profile window would not show

## Version 5.2.3

* Fixing #433 queue_extras emptied on loading queue (thanks to Maddie Davis)
Expand Down Expand Up @@ -44,8 +51,8 @@

* Adding AV1 support for rigaya's AMD hardware encoder!
* Adding #192 a true portable mode for Windows (thanks to Demicro)
* Fixing #374 lookup for hdr10plus_tool (thanks to techore)
* Fixing lookup for QSVEncC
* Fixing lookup for hdr10plus_tool
* Fixing concat builder
* Fixing #390 Wrong scale and behavior for DPI 250% on Windows (thanks to smtad)

Expand Down
102 changes: 102 additions & 0 deletions fastflix/data/languages.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8377,3 +8377,105 @@ That video was added with an encoder that is no longer available, unable to load
ukr: Це відео було додано за допомогою кодера, який більше не доступний і не може
бути завантажений з черги
kor: 해당 동영상은 더 이상 사용할 수 없는 인코더로 추가되어 대기열에서 로드할 수 없습니다.
'This profile will be applied to all the selected items:':
eng: 'This profile will be applied to all the selected items:'
deu: 'Dieses Profil wird auf alle ausgewählten Artikel angewendet:'
fra: 'Ce profil sera appliqué à tous les éléments sélectionnés :'
ita: 'Questo profilo verrà applicato a tutti gli elementi selezionati:'
spa: 'Este perfil se aplicará a todos los elementos seleccionados:'
zho: 这个配置文件将被应用于所有选定的项目。
jpn: このプロファイルは、選択されたすべてのアイテムに適用されます。
rus: 'Этот профиль будет применен ко всем выбранным элементам:'
por: 'Este perfil será aplicado a todos os artigos seleccionados:'
swe: 'Profilen tillämpas på alla markerade objekt:'
pol: 'Ten profil zostanie zastosowany do wszystkich wybranych elementów:'
ukr: 'Цей профіль буде застосовано до всіх вибраних елементів:'
kor: '이 프로필은 선택한 모든 항목에 적용됩니다:'
QP Mode:
eng: QP Mode
deu: QP-Modus
fra: Mode QP
ita: Modalità QP
spa: Modo QP
zho: QP模式
jpn: QPモード
rus: Режим QP
por: Modo QP
swe: QP-läge
pol: Tryb QP
ukr: Режим QP
kor: QP 모드
Constant Quality, Intelligent Constant Quality, Intelligent + Lookahead Constant Quality:
eng: Constant Quality, Intelligent Constant Quality, Intelligent + Lookahead Constant
Quality
deu: Konstante Qualität, Intelligent Konstante Qualität, Intelligent + Lookahead
Konstante Qualität
fra: Qualité constante, intelligente Qualité constante, intelligente + Lookahead
Qualité constante
ita: Qualità costante, Intelligente Qualità costante, Intelligente + Lookahead Qualità
costante
spa: Calidad constante, Inteligente Calidad constante, Inteligente + Lookahead Calidad
constante
zho: 恒定质量,智能恒定质量,智能+前瞻恒定质量
jpn: 一定品質、インテリジェント一定品質、インテリジェント+ルックアヘッド一定品質
rus: Постоянное качество, интеллектуальное постоянное качество, интеллектуальное
качество + опережающее постоянное качество
por: Qualidade Constante, Qualidade Constante Inteligente, Qualidade Constante Inteligente
+ Lookahead
swe: Konstant kvalitet, intelligent Konstant kvalitet, intelligent + Lookahead Konstant
kvalitet
pol: Stała jakość, inteligentna stała jakość, inteligentna + Lookahead Stała jakość
ukr: Постійна якість, Інтелектуальна Постійна якість, Інтелектуальна + Lookahead
Постійна якість
kor: 일정한 품질, 지능형 일정한 품질, 지능형 + 룩어헤드 일정한 품질
The following items were excluded as they could not be identified as a video files:
eng: The following items were excluded as they could not be identified as a video
files
deu: Die folgenden Elemente wurden ausgeschlossen, da sie nicht als Videodateien
identifiziert werden konnten
fra: Les éléments suivants ont été exclus car ils ne pouvaient pas être identifiés
comme des fichiers vidéo
ita: I seguenti elementi sono stati esclusi in quanto non potevano essere identificati
come file video
spa: Se excluyeron los siguientes elementos por no poder identificarse como archivos
de vídeo
zho: 以下项目被排除在外,因为它们不能被确定为视频文件
jpn: 以下のものは、ビデオファイルとして識別できないため、除外した。
rus: Следующие предметы были исключены, так как их нельзя было идентифицировать
как видеофайлы
por: Os seguintes itens foram excluídos por não poderem ser identificados como ficheiros
de vídeo
swe: Följande poster uteslöts eftersom de inte kunde identifieras som videofiler
pol: Następujące pozycje zostały wyłączone, ponieważ nie mogły być zidentyfikowane
jako pliki wideo
ukr: Наступні елементи були виключені, оскільки вони не могли бути ідентифіковані
як відеофайли
kor: 다음 항목은 동영상 파일로 식별할 수 없으므로 제외되었습니다.
more:
eng: more
deu: mehr
fra: plus
ita: di più
spa: más
zho: 更多
jpn:
rus: больше
por: mais
swe: mer
pol: więcej
ukr: більше
kor: 더 보기
Loading Videos:
eng: Loading Videos
deu: Videos laden
fra: Chargement des vidéos
ita: Caricamento dei video
spa: Cargando vídeos
zho: 加载视频
jpn: 動画読み込み
rus: Загружаемые видеоролики
por: Carregamento de vídeos
swe: Lastning av videoklipp
pol: Ładowanie filmów
ukr: Завантаження відео
kor: 동영상 로드 중
1 change: 1 addition & 0 deletions fastflix/encoders/qsvencc_avc/settings_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,7 @@ def update_video_encoder_settings(self):
level=self.widgets.level.currentText() if self.widgets.level.currentIndex() != 0 else None,
b_frames=self.widgets.b_frames.currentText() if self.widgets.b_frames.currentIndex() != 0 else None,
ref=self.widgets.ref.currentText() if self.widgets.ref.currentIndex() != 0 else None,
qp_mode=self.widgets.qp_mode.currentText(),
)

encode_type, q_value = self.get_mode_settings()
Expand Down
1 change: 1 addition & 0 deletions fastflix/encoders/qsvencc_hevc/settings_panel.py
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,7 @@ def update_video_encoder_settings(self):
level=self.widgets.level.currentText() if self.widgets.level.currentIndex() != 0 else None,
b_frames=self.widgets.b_frames.currentText() if self.widgets.b_frames.currentIndex() != 0 else None,
ref=self.widgets.ref.currentText() if self.widgets.ref.currentIndex() != 0 else None,
qp_mode=self.widgets.qp_mode.currentText(),
)

encode_type, q_value = self.get_mode_settings()
Expand Down
4 changes: 2 additions & 2 deletions fastflix/encoders/svt_av1_avif/command_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ def convert_me(two_numbers, conversion_rate=50_000) -> str:
pass_type = "bitrate" if settings.bitrate else "QP"

if settings.bitrate:
command_1 = f"{beginning} -b:v {settings.bitrate} {settings.extra} {ending} -f avif "
command_1 = f"{beginning} -b:v {settings.bitrate} {settings.extra} -f avif {ending}"

elif settings.qp is not None:
command_1 = f"{beginning} -{settings.qp_mode} {settings.qp} {settings.extra} {ending} -f avif "
command_1 = f"{beginning} -{settings.qp_mode} {settings.qp} {settings.extra} -f avif {ending}"
else:
return []
return [Command(command=command_1, name=f"{pass_type}", exe="ffmpeg")]
2 changes: 1 addition & 1 deletion fastflix/encoders/svt_av1_avif/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
name = "AVIF (SVT AV1)"
requires = "libsvtav1"

video_extensions = [".avif"]
video_extensions = [".avif", ".avis", ".avifs"]
video_dimension_divisor = 8

ref = importlib.resources.files("fastflix") / f"data/encoders/icon_svt_av1.png"
Expand Down
2 changes: 1 addition & 1 deletion fastflix/version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
__version__ = "5.2.3"
__version__ = "5.3.0"
__author__ = "Chris Griffith"
2 changes: 1 addition & 1 deletion fastflix/widgets/container.py
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ def profile_widget(self, settings):
widget = QtWidgets.QWidget()
layout = QtWidgets.QVBoxLayout()
title = QtWidgets.QLabel(t("Encoder Settings"))
title.setFont(QtGui.QFont(self.app.font().family(), 9, weight=70))
# title.setFont(QtGui.QFont(self.app.font().family(), 9, weight=70))
layout.addWidget(title)
for k, v in settings.dict().items():
item_1 = QtWidgets.QLabel(" ".join(str(k).split("_")).title())
Expand Down
19 changes: 19 additions & 0 deletions fastflix/widgets/windows/multiple_files.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,10 +187,29 @@ def __init__(self, app, main, items=None):

layout.addLayout(top_bar)

profile_ara = QtWidgets.QHBoxLayout()

profile_ara.addWidget(QtWidgets.QLabel(t("This profile will be applied to all the selected items:")))
self.profile_box = QtWidgets.QComboBox()
self.profile_box.setStyleSheet("text-align: center;")
self.profile_box.addItems(self.app.fastflix.config.profiles.keys())
self.profile_box.view().setFixedWidth(self.profile_box.minimumSizeHint().width() + 50)
self.profile_box.setCurrentText(self.app.fastflix.config.selected_profile)
self.profile_box.currentIndexChanged.connect(self.change_profile)
self.profile_box.setFixedWidth(300)
self.profile_box.setFixedHeight(40)

profile_ara.addWidget(self.profile_box)

layout.addLayout(profile_ara)
layout.addWidget(self.files_area)
layout.addWidget(QtWidgets.QLabel(t("Drag and Drop to reorder")))
self.setLayout(layout)

def change_profile(self):
self.main.widgets.profile_box.setCurrentText(self.profile_box.currentText())
# self.main.set_profile()

def set_folder_name(self, name):
self.base_folder_label.setText(f'{t("Base Folder")}: {name}')

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ exclude = '''

[tool.poetry]
name = "FastFlix"
version = "5.2.3"
version = "5.3.0"
description = "GUI Encoder"
license = "MIT"
authors = ["Chris Griffith <chris@cdgriffith.com>", ]
Expand Down

0 comments on commit 0e8e2ea

Please sign in to comment.