AVC-Intra Class 300

Use this forum to request features. Maybe you'll get lucky!
Post Reply
User avatar
FranceBB
Posts: 40
Joined: Sat Jun 25, 2016 3:43 pm
Location: Chelsea
Contact:

AVC-Intra Class 300

Post by FranceBB » Thu Nov 08, 2018 10:22 pm

Hi,
I noticed that AVC-Intra has been added, but you should modify it as it's limited to 200 Mbit/s.
According to the docs, the latest standard is AVC-Intra Class 300, which is supposed to be:

Level/Profile High 4:2:2 Profile @ Level 5.2
GOP I-frame only
Chroma Sampling 4:2:2
Bit Rate 500 Mbit/s
Constant Bit Rate Yes
Picture Size (active) 3840 x 2160
Aspect Ratio 16:9
Frame Rate 50fps
Scan Type Progressive
Color Matrix BT2020nc
Color Range Limited
Bit depth 10 bit
Timecode in GOP header Not in use

The custom ffmpeg node can be used to apply these settings, but since you added the AVC-Intra node, I think you should modify it to make Intra Class 300 available.

Kind regards,
Frank.
Broadcast Encoder

admin
Site Admin
Posts: 1304
Joined: Sat Feb 08, 2014 10:39 pm

Re: AVC-Intra Class 300

Post by admin » Fri Nov 09, 2018 7:25 pm

FFAStrans utilize ffmpeg for encoding and currently ffmpeg (x264) does not support AVC-Intra 300. I can talk to someone who was working with implementing AVC-Intra in x264 and see if he's willing to do the 300 flavor, but I suspect it wont be for free. So if you're willing to pay, he'd probably be willing to do it.

-steinar

User avatar
FranceBB
Posts: 40
Joined: Sat Jun 25, 2016 3:43 pm
Location: Chelsea
Contact:

Re: AVC-Intra Class 300

Post by FranceBB » Sat Nov 10, 2018 2:46 am

There has been a patch that was submitted but not merged as I asked about this on Doom9 a year ago.

https://forum.doom9.org/showthread.php?t=174792

I just took a look at the code and actually, you are right, the patch has never been merged as it still only supports AVC-Intra class 50, 100 and 200 as I can see from x264c line 936:

Code: Select all

    H1( "      --avcintra-class <integer> Use compatibility hacks for AVC-Intra class\n"
        "                                  - 50, 100, 200\n" );
    H1( "      --avcintra-flavor <string> AVC-Intra flavor [\"%s\"]\n"
        "                                  - %s\n", x264_avcintra_flavor_names[0], stringify_names( buf, x264_avcintra_flavor_names ) );
Weird. I expected it to be merged.
I gotta finish a few projects I'm involved in at work, but I'll take a look at the code myself when/if I'll have time ;)

Anyway, sorry for asking, my fault, I didn't check x264 lately.
Broadcast Encoder

User avatar
FranceBB
Posts: 40
Joined: Sat Jun 25, 2016 3:43 pm
Location: Chelsea
Contact:

Re: AVC-Intra Class 300

Post by FranceBB » Wed Dec 19, 2018 2:35 am

In the meantime, if people wanna use a workaround, they can use something like:

avs4x264mod.exe "\\VBOXSVR\Share_Windows_Linux\AVS Script.avs" --x264-binary "x264-10b.exe" --input-depth 16 --preset medium --profile high422 --keyint 1 --bitrate 500000 --vbv-maxrate 500000 --vbv-bufsize 500000 --deblock -1:-1 --overscan show --colormatrix bt709 --range tv --log-level info --thread-input --transfer bt709 --colorprim bt709 --videoformat component --nal-hrd cbr --output-csp i422 --output "\\VBOXSVR\Share_Windows_Linux\raw_video.h264"

and feed avs4x264mod with a 16bit interleaved stream.
x264 will dither it down to 10bit itself in the best possible way.
By forcing keyint to 1, you are gonna have all frames as intra, and by setting the bitrate to 500Mbit/s profile 4:2:2 10bit, you are gonna have what pretty much is the Intra Class 300 preset.

Cheers.

Image

Image
Broadcast Encoder

Post Reply