Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > High Efficiency Video Coding (HEVC)

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd November 2024, 20:52   #9621  |  Link
Z2697
Registered User
 
Join Date: Aug 2024
Posts: 299
Quote:
Originally Posted by LigH View Post
You say? ... My MinGW+GCC workflow calculates version 4.1+54-fa27709.
4.0+77 and 4.1+54 are both "wrong" (but technically correct )
4.0+77 is calculated before the merge of stable to the master, tag is not 4.1 because the tagged commit hasn't been merged to "current branch" where he builds the binary (which probably is master).
4.1+54 is calculated after the merge, tag is correct but the distance is greater than is should be, because release branch and master branch are diverged due to the previously mentioned mistake.
Quote:
Originally Posted by Ritsuka View Post
By the way, it seems they are committing new changes only to a "Release_4.1" branch, and forgetting about the master branch.
Quote:
Originally Posted by Z2697 View Post
They probably opened release 4.1 branch too early and now they have to push to two branches simultaneously

Last edited by Z2697; 22nd November 2024 at 20:56.
Z2697 is offline   Reply With Quote
Old 22nd November 2024, 23:09   #9622  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 7,168
Their recent code development is remarkable; but their repo mess seriously flaws it.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 25th November 2024, 11:49   #9623  |  Link
MaheshPittala
Registered User
 
Join Date: May 2016
Posts: 1
The x265 release 4.1 branch was started slightly earlier, requiring patches to be pushed to both the master and release_4.1 branches. As a result, the commit IDs differed between the two branches. When the release/stable branch was merged into master, the commits were treated as new. Using cherry-pick would have been the better solution.
MaheshPittala is offline   Reply With Quote
Old 25th November 2024, 13:44   #9624  |  Link
Z2697
Registered User
 
Join Date: Aug 2024
Posts: 299
If you cherry-pick the tagged commit, the new commit hash will also be different, the versioniong cmake code (using git describe) probably won't pick the 4.1 tag.
I think that's just how it goes, no better way to do it.
Just... don't create release branch too early next time, do it right before the real release.
Z2697 is offline   Reply With Quote
Old 2nd December 2024, 11:07   #9625  |  Link
Joey BoomBats
Registered User
 
Join Date: Nov 2024
Posts: 1
Quote:
Aom Film-Grain characteristics as a SEI message to support Film Grain Synthesis.
This looks like a very useful feature for bit hungry grainy videos.


Has anyone already tested the efficiency improvements of this feature and the visual implications?


Or does anyone know what the command line parameters are?


I see that Handbrake has now included x265 version 4.1 but unfortunately no specific changes have been made to the UI (yet).
Joey BoomBats is offline   Reply With Quote
Old 3rd December 2024, 11:10   #9626  |  Link
excellentswordfight
Lost my old account :(
 
Join Date: Jul 2017
Posts: 343
Quote:
Originally Posted by Joey BoomBats View Post
This looks like a very useful feature for bit hungry grainy videos.


Has anyone already tested the efficiency improvements of this feature and the visual implications?


Or does anyone know what the command line parameters are?


I see that Handbrake has now included x265 version 4.1 but unfortunately no specific changes have been made to the UI (yet).
As far as I can see, this is not a complete built-in feature. The parameter added is "--aom-film-grain", so you need to denoise and create a grain parameter file externally, you then point that parameter to that file so it can be injected in to the SEI.
excellentswordfight is offline   Reply With Quote
Old 5th December 2024, 16:22   #9627  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,838
Has anyone tried --frame-dup with Patman or jpsdr builds?

It doesn't work on my AVX only CPU.

I get:

Video encoding returned exit code: -1073741819 (0xC0000005)

It's unclear what this exit code means, in case it's a Windows system error then it possibly means:

# for decimal -1073741819 / hex 0xc0000005
STATUS_ACCESS_VIOLATION ntstatus.h
# The instruction at 0x%p referenced memory at 0x%p. The
# memory could not be %s.
# as an HRESULT: Severity: FAILURE (1), FACILITY_NULL (0x0), Code 0x5
# for decimal 5 / hex 0x5
ERROR_ACCESS_DENIED winerror.h
# Access is denied.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 5th December 2024, 18:54   #9628  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,379
Does the issue also happen with a not modified build ?
__________________
My github.
jpsdr is offline   Reply With Quote
Old 5th December 2024, 20:02   #9629  |  Link
Z2697
Registered User
 
Join Date: Aug 2024
Posts: 299
Who uses frame-dup anyways?

It's better to give more details such as the whole command line and the "variant" of the build used to produce that error, and the input spec, etc.

Last edited by Z2697; 5th December 2024 at 20:13.
Z2697 is offline   Reply With Quote
Old 5th December 2024, 20:20   #9630  |  Link
rwill
Registered User
 
Join Date: Dec 2013
Location: Berlin, Germany
Posts: 408
The interesting thing is that if x265 can frame dupe, the way it is implemented anyway, one could also encode the picture at 1 bit or below per CU and not make the stream variable framerate, cause problems with certain muxers and rely on a correct decoder implementation of picture timing SEIs.

So a very useful and bit saving feature they have there, if only it worked.
__________________
My github...
rwill is offline   Reply With Quote
Old 5th December 2024, 20:40   #9631  |  Link
Z2697
Registered User
 
Join Date: Aug 2024
Posts: 299
Quote:
Originally Posted by rwill View Post
The interesting thing is that if x265 can frame dupe, the way it is implemented anyway, one could also encode the picture at 1 bit or below per CU and not make the stream variable framerate, cause problems with certain muxers and rely on a correct decoder implementation of picture timing SEIs.

So a very useful and bit saving feature they have there, if only it worked.
Using container output (ffmpeg libx265, or supported in some mods) can have "slightly more usable" result, but yeah, currently the feature is working, I guess, but no software can recognize it. Even the "slightly more usable" container output is not utilizing timing SEIs.
The container output is using timestamps support of the container (VFR), while the picture timing SEIs don't contain actual timestamp, but only a flag indicates the corresponding frame should be doubled or tripled, if the decoder is able to support it the decoded video should still be CFR.

Even if it's working properly, both encode and decode side, the use case is still extremely limited.

Last edited by Z2697; 7th December 2024 at 20:51.
Z2697 is offline   Reply With Quote
Old 5th December 2024, 20:53   #9632  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 2,838
Quote:
Originally Posted by Z2697 View Post
Who uses frame-dup anyways?
Anime. Mostly old ones.
Quote:
Originally Posted by jpsdr View Post
Does the issue also happen with a not modified build ?
Tried this and it works but I don't know if it honors --frame-dup flag.
__________________
@turment on Telegram
tormento is offline   Reply With Quote
Old 5th December 2024, 21:07   #9633  |  Link
Z2697
Registered User
 
Join Date: Aug 2024
Posts: 299
Quote:
Originally Posted by tormento View Post
Anime. Mostly old ones.
You shouldn't.

To have a better understanding of what this feature means: this feature removes frames based on PSNR thresholding, and signal picture timing SEIs to keep the correct... picture timing... yeah... which no commonly available decoder can recognize.

It also requires VBV and HRD. Since no everyday decoder can recognize the timing SEIs the picture timing will be incorrect if any frame(s) are removed.
If you don't see any incorrect timing,
1) You didn't notice it.
2) You didn't enable the required VBV and HRD.
3) Your video didn't have any frames above the threshold.

Even if it works as it should, the PSNR thresholding is not ideal to begin with, and the bits saved with removing near identical frames are, well, did you know picture timing SEIs cost bits?
Z2697 is offline   Reply With Quote
Old 6th December 2024, 19:30   #9634  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,379
Does it work on CPU with more than AVX only ?
__________________
My github.

Last edited by jpsdr; 6th December 2024 at 20:10.
jpsdr is offline   Reply With Quote
Old 7th December 2024, 14:25   #9635  |  Link
Patman
Registered User
 
Patman's Avatar
 
Join Date: Jan 2015
Posts: 287
The reason for the error is the direct support of AVS and VPY scripts (MOD). However, if you use the pipe methods, the encode works. It seems that x265 requires the Y4M or YUV formatfor this case.
__________________
Tools for StaxRip | x264 - x265
Patman is offline   Reply With Quote
Old 7th December 2024, 23:38   #9636  |  Link
jpsdr
Registered User
 
Join Date: Oct 2002
Location: France
Posts: 2,379
That's odd, i'm almost sure i used frame-dup on avs scripts with a moded version, during my first attempts of trying to do x265 encodes, before giving up using it because of all the issues i encountered, reasons Z2697 described.
My guess was it could be because of the multiview add, but it was wrong it seems.
__________________
My github.

Last edited by jpsdr; 7th December 2024 at 23:48.
jpsdr is offline   Reply With Quote
Old 9th December 2024, 18:21   #9637  |  Link
Leo 69
Registered User
 
Join Date: Nov 2004
Posts: 241
Does anyone know how to use the new --aom-film-grain feature in the latest x265 encoders (I'm using 4.1+54)? I tried it and it fails each time with either .tbl or even .txt for film grain files. Here's the command:

Code:
--crf 18.5 --preset veryslow --output-depth 10 --aom-film-grain grain.tbl
And I always get this error:

Code:
x265 [error]: Failed to open Aom film grain characteristics binary file grain.tbl
For grain.txt file the error is the same. Does anyone know how to fix this? Or rather, did anyone manage to make this new feature work at all?

Last edited by Leo 69; 9th December 2024 at 18:49.
Leo 69 is offline   Reply With Quote
Old 9th December 2024, 20:57   #9638  |  Link
Z2697
Registered User
 
Join Date: Aug 2024
Posts: 299
Quote:
Originally Posted by Leo 69 View Post
Does anyone know how to use the new --aom-film-grain feature in the latest x265 encoders (I'm using 4.1+54)? I tried it and it fails each time with either .tbl or even .txt for film grain files. Here's the command:

Code:
--crf 18.5 --preset veryslow --output-depth 10 --aom-film-grain grain.tbl
And I always get this error:

Code:
x265 [error]: Failed to open Aom film grain characteristics binary file grain.tbl
For grain.txt file the error is the same. Does anyone know how to fix this? Or rather, did anyone manage to make this new feature work at all?
I think it expects "raw" SEI payload, just guessing, haven't tried to understand it, and probably never will because I don't think it's (I'm referring to all the current implementations of FGS features) a useful feature, until it's much more improved.
Z2697 is offline   Reply With Quote
Old 11th December 2024, 18:32   #9639  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,904
Quote:
Originally Posted by rwill View Post
The interesting thing is that if x265 can frame dupe, the way it is implemented anyway, one could also encode the picture at 1 bit or below per CU and not make the stream variable framerate, cause problems with certain muxers and rely on a correct decoder implementation of picture timing SEIs.

So a very useful and bit saving feature they have there, if only it worked.
Yeah, if only it worked! I've never been able to get a single frame to duplicate as documented, even with some pretty extreme settings. I've not tried in a 4.x build, but don't recall any patches for that part.

Maybe it only works in 2-pass or something?
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 11th December 2024, 18:35   #9640  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,904
Quote:
Originally Posted by Z2697 View Post
I think it expects "raw" SEI payload, just guessing, haven't tried to understand it, and probably never will because I don't think it's (I'm referring to all the current implementations of FGS features) a useful feature, until it's much more improved.
The tool is reasonably useful with the proper tools; there just aren't any good open source ones currently. The hardest part is the degrain-and-parameterize before encoding.

The rendering has some challenges with repeated patterns, due to the "drunken walk" nature of selecting a random 32x32 block out of a 64x64 block: pixels near the middle are much more heavily sampled than those near the edge. I so wish computer science degrees required some basic statistics! I work with a lot of engineers who are whizzes at linear algebra, but go blank when I ask "is that statistically significant?"
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:11.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.