Browsed by
Tag: development

Collaborating in the exhale project – Part 2

Collaborating in the exhale project – Part 2

Hi everyone,

Yesterday, I began working on my second collaboration for the exhale xHE-AAC USAC encoder. This time, I worked on adding an argument to print the software version on the console.

exhale-V-argument-main-software

The above is the main software, printing its information as well as how to use it.

There was no option to print the version only. Ideally, I just wanted a way to print something like exhale version 1.0.3 .....so that I can easily parse it as I do with other tools like Opusenc and Flac. Because of this, I began working on adding this functionality.

The code that performs this will check if there is just one argument (actually 2, since the first one is the executable filename). It also checks if the argument is either -v or -V. If this is true, we print the software information to the user:

This is the result:

A very simple and minimalistic output. Thanks to this, I can parse it and use on tools like my upcoming exchale GUI:

This Merge Request was approved and merged and is ready to use for everyone. As for the GUI, expect it in the next couple of days!

Click here to see the Merge Request on GitLab.

My first GitLab contribution: exhale encoder

My first GitLab contribution: exhale encoder

Hi everyone,

Yesterday, I collaborated on the exhale xHE-AAC Audio Encoder to add compatibility to compile the project on MinGW on Windows.

The exhale project is an Open-Source xHE-AAC USAC encoder. It allows you to encode wave (WAV) files to M4A using this specific codec.

Originally, compilation on Windows was done using Visual Studio, and this worked fine, but when compiling it on MSYS2/MinGW, it gave some issues, specifically:

H:/repos/media-autobuild_suite/build/exhale-git/src/app/../../src/app/exhaleApp.cpp: In function 'int main(int, char**)':
H:/repos/media-autobuild_suite/build/exhale-git/src/app/../../src/app/exhaleApp.cpp:246:85: error: '_SH_DENYWR' was not declared in this scope
  246 |     if (_sopen_s (&inFileHandle, inFileName, _O_RDONLY | _O_SEQUENTIAL | _O_BINARY, _SH_DENYWR, _S_IREAD) != 0)
      |                                                                                     ^~~~~~~~~~
H:/repos/media-autobuild_suite/build/exhale-git/src/app/../../src/app/exhaleApp.cpp:320:100: error: '_SH_DENYRD' was not declared in this scope
  320 |     if (_sopen_s (&outFileHandle, outFileName, i | _O_SEQUENTIAL | _O_CREAT | _O_EXCL | _O_BINARY, _SH_DENYRD, _S_IWRITE) != 0)
      |                                                                                                    ^~~~~~~~~~
make[1]: *** [../makefile.base:112: ../../build/exhaleApp.d.o] Error 1
make[1]: Leaving directory '/build/exhale-git/src/app'
make: *** [makefile:18: all] Error 2

It also complained about fprintf_s, so some changes needed to be done on the code.

To solve the _SH_DENYRD not declared issue, we had to include the share.h header:

Next, to solve the fprintf_s issue, I surrounded this on an #if !defined block to check if we were compiling on MinGW. If we are, we simply skip this declaration:

After these changes were done, the software compiled successfully.

Next, I did some additional changes to the makefile.base file to allow the Media Autobuild Suite project to pass its CXXFLAGS and LDFLAGS variable to exhale:

These changes got merged into the project.

My inspiration to add this tool to the Media Autobuild Suite came as a user requested this tool to be added to it. So, I worked on it and submitted a Pull Request, where I refined it further to apply some recommendations.

The Pull Request was merged into the suite and is now available for everyone to build and use.

Contributions

SVT-AV1 GUI v1.3 released!

SVT-AV1 GUI v1.3 released!

Hi everyone,

Today, I have released SVT-AV1 GUI v1.3:

SVT-AV1 GUI v1.3
SVT-AV1 GUI v1.3

This release adds an option to prevent the use of Pipes which should make encoding stable. The downside of this is that the software will need to create a temporary .y4m file which may be huge depending on the video to be converted.

Also added is SVT-AV1 2-pass encoding.

You can download this new version on GitHub by clicking here.

Enjoy!

New Software Updates! (November 9, 2019)

New Software Updates! (November 9, 2019)

Hi everyone,

Today, I have released updates for the following software:

  • Audio MD5 Checker v0.2
  • Google Drive Uploader & Explorer Tool v1.12.1
  • Opus GUI v1.15

Audio MD5 Checker v0.2

Audio MD5 Checker v0.2
Audio MD5 Checker v0.2

This new version allows you to save the result list as a CSV file. It also now check if ffmpeg is present before showing the window.

Download this new version by clicking here.

Google Drive Uploader & Explorer Tool

Google Drive Uploader & Explorer Tool v1.12.1 (English)
Google Drive Uploader & Explorer Tool v1.12.1 (English)

This release updates the Google APIs and adds a missing translation.

Download this new version by clicking here.

Opus GUI v1.15

Opus GUI v1.15
Opus GUI v1.15

This new release updates the Google APIs to the latest version.

Download this new version by clicking here.

I hope you all enjoy all of these new software updates!

SVT-AV1 GUI v1.1 released!

SVT-AV1 GUI v1.1 released!

Hi everyone,

It’s been a long time since I’ve released a new software update. That’s why today, I finally introduce to you SVT-AV1 GUI v1.1:

SVT-AV1 GUI v1.1
SVT-AV1 GUI v1.1

Starting with this release, files are encoded without the need to create temporary .y4m files. This greatly speeds up the encoding as it no longer needs to create those huge files. Instead, it makes use of Windows Named Pipes to pass the ffmpeg output to SVT-AV1.

You can download this release in the SVT-AV1 page by clicking here.

I made this YouTube video where I explain how the Named Pipe was added to the GUI:

Enjoy!

rav1e GUI v1.16 released!

rav1e GUI v1.16 released!

Hi everyone,

Today, I have released rav1e GUI v1.16:

rav1e GUI v1.16
rav1e GUI v1.16

This release brings some new enhancements:

  1. You can now run the Linux version of rav1e by using the Windows Subsystem for Linux (WSL).
  2. This release fixes tile support for newer versions of rav1e.
  3. Tile rows and columns can now go up to 64. The value must be a power of 2 and the Advanced Options window will validate this.

As usual, you can download this release on GitHub by clicking here.

Enjoy!