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. |
2nd November 2024, 16:18 | #1101 | Link | |
Registered User
Join Date: Aug 2024
Posts: 197
|
Quote:
|
|
3rd November 2024, 14:54 | #1105 | Link |
Broadcast Encoder
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 3,102
|
Nothing new here, I'm still talking about Brazil.
I don't live there, but I'm keeping an eye on TV 3.0 and what the V-Nova guys post on LinkedIn 'cause they're gonna be at the forefront of this, so if they succeed then H.266 more generally will succeed in broadcast. The timeline stayed the same so far by the way, but I've added the new hardware decoding support that Intel just submitted to lavc: - July 2020 -> H.266 VVC specs finalized - October 2020 -> VVEnc & VVDec by Fraunhofer are released - July 2021 -> First chipset with hardware decoding released by MediaTek - July 2022 -> First TV prototype shown at CES - April 2024 -> Libav adds software decoding support (FFMpeg, VLC, MPV, Avisynth, VapourSynth) - July 2024 -> Consumer TV becoming available - September 2024 -> Intel Lunar Lake Graphics hardware decoding support - November 2024 -> Lavc adds hardware decoding support for Intel Lunar Lake Graphics (FFmpeg, VLC, MPV) Which leads us to: - 2025 -> Initial H.266 VVC broadcasting tests in Brazil - 2026 -> Beginning of H.266 VVC transmissions in Brazil |
8th November 2024, 13:13 | #1107 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 7,156
|
New uploads: [Windows][GCC 14.2.0][64 bit]
Fraunhofer VVC Encoder ver. 1.12.1-rc1 da540e6 Fraunhofer VVC Decoder ver. 3.0.0 a646129 |
9th November 2024, 09:41 | #1108 | Link | |
Artem S. Tashkinov
Join Date: Dec 2006
Posts: 394
|
Quote:
Have you even tried? https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM YUV420 YUV422 YUV444 and 12bit encoding (probably) It's dead slow. |
|
9th November 2024, 13:29 | #1109 | Link |
Registered User
Join Date: Aug 2024
Posts: 197
|
If you take "4:0:0" into account... hmm... both VVenC and uvg266 seem to support that.
And while VVenC have options related to 4:4:4 and 4:2:2 in the command line help message, it throws error when I give it YUV444 Y4M, I think it's not implemented yet. |
9th November 2024, 13:58 | #1110 | Link |
German doom9/Gleitz SuMo
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 7,156
|
VTM is the "reference software", hardly optimized at all. If any encoder is "complete", then this one. But not practically useable.
PS: You can try vvencFFapp: Code:
--InputChromaFormat [420] input file chroma format (400, 420, 422, 444) Last edited by LigH; 9th November 2024 at 14:12. |
9th November 2024, 14:34 | #1111 | Link | |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,495
|
Quote:
vvencapp states: Code:
-c, --format [yuv420] set input format (yuv420, yuv420_10, yuv420_10_packed, yuv400 (gray), yuv400_10 Code:
--input-format <string> : P420 or P400 [P420] Thanks! Cu Selur |
|
9th November 2024, 18:58 | #1112 | Link | |
Testeur de codecs
Join Date: May 2003
Location: France
Posts: 2,519
|
Quote:
VVCEnc with preset "faster" will produce the same speed than "veryslow" for x264, "slow" for x265 or "complexity 5" for SVT-AV1. Moreover VVCEnc is not really optimized for more than 12 thread. If you want make encoding at 100% CPU charge for 32 thread CPU and more, you must use multipart encoding. For exemple for VVCEnc in fast mode preset you obtain 20 fps for 1080p10 for 7950X CPU and 40 fps for preset faster.
__________________
Le Sagittaire ... ;-) 1- Ateme AVC or x264 2- VP7 or RV10 only for anime 3- XviD, DivX or WMV9 Last edited by Sagittaire; 9th November 2024 at 19:36. |
|
9th November 2024, 23:52 | #1113 | Link | |
Registered User
Join Date: Jul 2015
Posts: 810
|
Quote:
ffmpeg_avx2.exe -v verbose -f concat -safe 0 -i mylist_v.txt -f concat -safe 0 -i mylist_a.txt -c:v libvvenc -vb 6000k -c:a aac -ac 2 -ar 48000 -ab 128k -frames:v 100 -movflags faststart -threads 0 -vf scale=1920:1080:in_range=full: out_range=full,format=yuv422p10le 112.vvc vvencapp_avx2.exe -i 111.y4m -s 1920x1080 -c yuv422 -b 6M -ip 256 --passes 1 --fps 30000/1001 -o 111.vvc [libvvenc @ 000001f236eabd30] libvvenc version: 1.12.1-0f7b70d [libvvenc @ 000001f236eabd30] vvenc [notice]: Internal format : 1920x1080 29.97 Hz SDR vvenc [notice]: Threads : 10 (parallel frames: 4) vvenc [notice]: Rate control : VBR 6 Mbps single-pass vvenc [notice]: Perceptual optimization : Enabled vvenc [notice]: Intra period (keyframe) : 256 vvenc [notice]: Decoding refresh type : CRA vvenc [notice]: Sequence PSNR output : Linear average only vvenc [notice]: Hexadecimal PSNR output : Disabled vvenc [notice]: Sequence MSE output : Disabled vvenc [notice]: Frame MSE output : Disabled vvenc [notice]: Cabac-zero-word-padding : Enabled vvenc [notice]: Frame index : all frames vvenc [notice]: Profile : main_10_444 vvenc [notice]: Level : 4 vvenc [notice]: CU size : 128 vvenc [notice]: Max TB size : 64 vvenc [notice]: Min CB size : 4 vvenc [notice]: Motion search range : 384 vvenc [notice]: QP : 33 vvenc [notice]: Max dQP signaling subdiv : 2 vvenc [notice]: Cb QP Offset (dual tree) : 0 (0) vvenc [notice]: Cr QP Offset (dual tree) : 0 (0) vvenc [notice]: GOP size : 32 vvenc [notice]: PicReordering : 1 vvenc [notice]: Input bit depth : (Y:10, C:10) vvenc [notice]: MSB-extended bit depth : (Y:10, C:10) vvenc [notice]: Internal bit depth : (Y:10, C:10) vvenc [notice]: cu_chroma_qp_offset_subdiv : -1 vvenc [notice]: log2_sao_offset_scale_luma : 0 vvenc [notice]: log2_sao_offset_scale_chroma : 0 vvenc [notice]: Cost function : Lossy coding vvenc [notice]: Film grain analysis : 0 Output #0, vvc, to '112.vvc': Metadata: encoder : Lavf61.9.100 Stream #0:0: Video: vvc, 1 reference frame, yuv422p10le(pc, progressive), 1920x1080, q=2-31, 6000 kb/s, 29.97 fps, 29.97 tbn |
|
10th November 2024, 08:33 | #1114 | Link |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,495
|
Hmm, you are using an intermediate file, which I want to avoid.
Also looking at your calls: Code:
ffmpeg_avx2.exe -v verbose -f concat -safe 0 -i mylist_v.txt -f concat -safe 0 -i mylist_a.txt -c:v libvvenc -vb 6000k -c:a aac -ac 2 -ar 48000 -ab 128k -frames:v 100 -movflags faststart -threads 0 -vf scale=1920:1080:in_range=full: out_range=full,format=yuv422p10le 112.vvc vvencapp_avx2.exe -i 111.y4m -s 1920x1080 -c yuv422 -b 6M -ip 256 --passes 1 --fps 30000/1001 -o 111.vvc Why encode the audio when you output 112.vvc? Where does 111.y4m come from and how can it be input and output? using: Code:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -pix_fmt yuv422p10le -strict -1 -fps_mode passthrough -f yuv4mpegpipe - | vvencapp --input - --size 640x352 --y4m 1 -c yuv422 --framerate 25 --framescale 1 --internal-bitdepth 10 --bitrate 0 --qp 20 --profile "auto" --level "auto" --tier "main" --preset medium --qpa 1 --sdr sdr_470bg --mtprofile -1 --ifp -1 --intraperiod 250 --output "g:\test_422.vvc" Code:
Error parsing option "format,c" with argument "yuv422". Error parsing option "format,c" with argument "yuv422". error: bitstream file name must be specified (--output=bit.266) Cu Selur |
10th November 2024, 08:42 | #1115 | Link | |
Registered User
Join Date: Jul 2015
Posts: 810
|
My mistake and rush. You can create MOV in ffmpeg.
ffmpeg.exe -y -i film_java_d.avi -f yuv4mpegpipe -pix_fmt yuv422p -frames:v 100 -strict -1 111.y4m Quote:
|
|
10th November 2024, 08:52 | #1116 | Link | |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 7,495
|
using vvencFFapp:
Code:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "G:\TestClips&Co\files\test.avi" -map 0:0 -an -sn -pix_fmt yuv422p10le -strict -1 -fps_mode passthrough -f yuv4mpegpipe - | vvencFFapp --InputFile - --Size 640x352 --y4m 1 --InputBitDepth 10 --InputChromaFormat 422 --fps 25/1 --TargetBitrate 0 --QP 20 --Profile "auto" --Level "auto" --Tier "main" --preset medium --qpa 1 --sdr sdr_470bg --MTProfile -1 --IFP -1 --IntraPeriod 250 --BitstreamFile "g:\test_422.vvc" Code:
vvencFFapp: VVenC, the Fraunhofer H.266/VVC Encoder, version 1.12.1-rc1 [Windows][GCC 14.2.0][64 bit][SIMD=AVX2] Parameter Check Error: Intern chroma format must be either 400, 420 error: input chroma format must be either 400, 420 Quote:
Code:
-c, --format [yuv420] set input format (yuv420, yuv420_10, yuv420_10_packed, yuv400 (gray), yuv400_10 (gray10) Code:
vvencapp_avx2.exe -i 111.y4m -s 1920x1080 -c yuv422 -b 6M -ip 256 --passes 1 --fps 30000/1001 -o 111.vvc => I do not get how your '-c yuv422' works for you,.. |
|
10th November 2024, 09:01 | #1117 | Link | |
Registered User
Join Date: Jul 2015
Posts: 810
|
Quote:
It should be 'yuv422_10'. I'm not sure if I wrote it down correctly? Code:
size_t frameSize = (width * height * uiBitsPerPx) >> 3; if ( packed && bitdepth == 10 && chromaFormat == VVENC_CHROMA_420 ) { size_t stride = width * 5 / 4; size_t lumaSize = stride * height; size_t chromaSize = lumaSize >> 2; frameSize = lumaSize + chromaSize + chromaSize; } if ( packed && bitdepth == 10 && chromaFormat == VVENC_CHROMA_422 ) { size_t stride = width / 2; size_t lumaSize = stride * height; size_t chromaSize = lumaSize >> 2; frameSize = lumaSize + chromaSize + chromaSize; } if ( packed && bitdepth == 10 && chromaFormat == VVENC_CHROMA_444 ) { size_t stride = width; size_t lumaSize = stride * height; size_t chromaSize = lumaSize >> 2; frameSize = lumaSize + chromaSize + chromaSize; } |
|
10th November 2024, 15:20 | #1118 | Link |
Registered User
Join Date: Jul 2015
Posts: 810
|
Testing:
Compatibility between different vvc creators in 10bit. There is no player or codec for 8bit. I haven't tested in two years. Code:
ffmpeg.exe -y -i "Video.mp4" -f yuv4mpegpipe -vf scale=1920:1080:in_range=full:out_range=full,format=yuv420p10le -frames:v 100 -strict -1 111.y4m ffmpeg.exe -y -i "Video.mp4" -f yuv4mpegpipe -vf scale=1920:1080:in_range=full:out_range=full,format=yuv422p10le -frames:v 100 -strict -1 112.y4m ffmpeg.exe -y -i "Video.mp4" -f yuv4mpegpipe -vf scale=1920:1080:in_range=full:out_range=full,format=yuv444p10le -frames:v 100 -strict -1 113.y4m uvg266_10bit_avx2.exe -i 111.y4m -o 112.vvc --input-file-format y4m --input-res 1920x1080 --input-format P420 --input-bitdepth 10 --preset medium --input-fps 30000/1001 --bitrate 6000000 --vps-period 256 --info --threads auto --range pc ffmpeg_avx2.exe -y -v info -i "Best of Rallye Rally Crash & Mistakes 2018 by ToutAuCable.mp4" -c:v libvvenc -vb 6000k -r 30000/1001 -frames:v 100 -movflags faststart -threads 0 -vf scale=1920:1080:in_range=full: out_range=full,format=yuv420p10le 113.vvc EncoderApp_REXT.exe --SummaryVerboseness -c "encoder_randomaccess_vtm.cfg" --InputFile=111.y4m --BitstreamFile=114.vvc --SourceWidth=1920 --SourceHeight=1080 --FrameRate=30000/1001 --InputBitDepth=10 --InternalBitDepth=0 --OutputBitDepth=10 --MSBExtendedBitDepth=10 --InputChromaFormat=420 --ChromaFormatIDC=420 --ConformanceWindowMode=0 --FramesToBeEncoded=100 --MatrixCoefficients=1 --InputColorPrimaries=-1 --LMCSSignalType=0 --Level=5.1 --BDPCM=1 --Tier=main --HashME=1 --IBC=1 --MaxCUWidth=16 --MaxCUHeight=16 --CTUSize=32 --QP=28 --MaxBTLumaISlice=32 --MaxBTChromaISlice=32 --MaxBTNonISlice=32 --MaxTTLumaISlice=32 --MaxTTChromaISlice=32 --MaxTTNonISlice=32 --ColorTransform=0 --VideoFullRange=1 --InputSampleRange=1 --AspectRatioInfoPresent=1 --ChromaLocInfoPresent=1 --Log2MaxTbSize=5 --RCCpbSize=2000 --RateControl=1 --TargetBitrate=6000000 --IntraPeriod=256 EncoderApp_REXT.exe --SummaryVerboseness -c "encoder_randomaccess_vtm.cfg" --InputFile=112.y4m --BitstreamFile=115.vvc --SourceWidth=1920 --SourceHeight=1080 --FrameRate=30000/1001 --InputBitDepth=10 --InternalBitDepth=0 --OutputBitDepth=10 --MSBExtendedBitDepth=10 --InputChromaFormat=422 --ChromaFormatIDC=422 --ConformanceWindowMode=0 --FramesToBeEncoded=100 --MatrixCoefficients=1 --InputColorPrimaries=-1 --LMCSSignalType=0 --Level=5.1 --BDPCM=1 --Tier=main --HashME=1 --IBC=1 --MaxCUWidth=16 --MaxCUHeight=16 --CTUSize=32 --QP=28 --MaxBTLumaISlice=32 --MaxBTChromaISlice=32 --MaxBTNonISlice=32 --MaxTTLumaISlice=32 --MaxTTChromaISlice=32 --MaxTTNonISlice=32 --ColorTransform=0 --VideoFullRange=1 --InputSampleRange=1 --AspectRatioInfoPresent=1 --ChromaLocInfoPresent=1 --Log2MaxTbSize=5 --RCCpbSize=2000 --RateControl=1 --TargetBitrate=6000000 --IntraPeriod=256 EncoderApp_REXT.exe --SummaryVerboseness -c "encoder_randomaccess_vtm.cfg" --InputFile=113.y4m --BitstreamFile=116.vvc --SourceWidth=1920 --SourceHeight=1080 --FrameRate=30000/1001 --InputBitDepth=10 --InternalBitDepth=0 --OutputBitDepth=10 --MSBExtendedBitDepth=10 --InputChromaFormat=444 --ChromaFormatIDC=444 --ConformanceWindowMode=0 --FramesToBeEncoded=100 --MatrixCoefficients=1 --InputColorPrimaries=-1 --LMCSSignalType=0 --Level=5.1 --BDPCM=1 --Tier=main --HashME=1 --IBC=1 --MaxCUWidth=16 --MaxCUHeight=16 --CTUSize=32 --QP=28 --MaxBTLumaISlice=32 --MaxBTChromaISlice=32 --MaxBTNonISlice=32 --MaxTTLumaISlice=32 --MaxTTChromaISlice=32 --MaxTTNonISlice=32 --ColorTransform=0 --VideoFullRange=1 --InputSampleRange=1 --AspectRatioInfoPresent=1 --ChromaLocInfoPresent=1 --Log2MaxTbSize=5 --RCCpbSize=2000 --RateControl=1 --TargetBitrate=6000000 --IntraPeriod=256 Thread options: VVenc originally has auto thread and this isn't the maximum for a given computer. (multithreading; -1: resolution < 720p: 4, < 5K 2880p: 8, >= 5K 2880p: 12 threads) UVG266 for max 20 it is 20 but ffmpeg warns that the maximum should be 16. VTM codec has the most new features added but there isn't thread option. Playing in ffmpeg vvc: Color range is always tv. Frame rate is always 25,000. UVG266 yuv420 10bit is not standard. Code:
Stream #0:0: Video: vvc (Main), yuv420p10le(tv), 1920x1080, 25 fps, 29.97 tbr, 1200k tbn [vvc @ 0000024e446441a0] frame 17, P( 29, 16) failed with -1094995529 [vvc @ 0000024e446441a0] frame 33, P( 29, 5) failed with -1094995529 [vvc @ 0000024e446441a0] frame 34, P( 29, 8) failed with -1094995529 [vvc @ 0000024e446441a0] frame 37, P( 29, 8) failed with -1094995529 [vvc @ 0000024e446441a0] frame 50, P( 12, 7) failed with -1094995529 [vvc @ 0000024e446441a0] frame 55, P( 29, 6) failed with -1094995529 [vvc @ 0000024e446441a0] frame 58, P( 29, 4) failed with -1094995529 [vvc @ 0000024e446441a0] frame 65, P( 5, 7) failed with -1094995529 [vvc @ 0000024e446441a0] frame 66, P( 29, 2) failed with -1094995529 [vvc @ 0000024e446441a0] frame 68, P( 29, 0) failed with -1094995529 [vvc @ 0000024e446441a0] frame 63, P( 29, 5) failed with -1094995529 [vvc @ 0000024e446441a0] frame 74, P( 29, 1) failed with -1094995529 [vvc @ 0000024e446441a0] frame 82, P( 29, 0) failed with -1094995529 [vvc @ 0000024e446441a0] frame 81, P( 29, 1) failed with -1094995529 [vvc @ 0000024e446441a0] frame 91, P( 29, 2) failed with -1094995529 [vvc @ 0000024e446441a0] frame 97, P( 29, 6) failed with -1094995529 -7686143364034.47 M-V: 1.567 fd= 0 aq= 0KB vq= 0KB sq= 0B Video sample: https://www.sendspace.com/file/h9c4z3 Last edited by Jamaika; 11th November 2024 at 18:38. |
13th November 2024, 14:31 | #1119 | Link |
Registered User
Join Date: Jul 2015
Posts: 810
|
ffmpeg.exe -y -i "input.mp4" -f yuv4mpegpipe -vf scale=1920:1080:in_range=full:_out_range=full,format=yuv420p10le -frames:v 100 -strict -1 111.y4m
EncoderApp_VTM_REXT.exe --SummaryVerboseness -c "encoder_randomaccess_vtm.cfg" --InputFile=111.y4m --BitstreamFile=114.vvc --SourceWidth=1920 --SourceHeight=1080 --FrameRate=30000/1001 --InputBitDepth=10 --InternalBitDepth=0 --OutputBitDepth=10 --MSBExtendedBitDepth=10 --InputChromaFormat=420 --ChromaFormatIDC=420 --ConformanceWindowMode=0 --FramesToBeEncoded=100 --MatrixCoefficients=1 --InputColorPrimaries=-1 --LMCSSignalType=0 --Level=5.1 --BDPCM=1 --Tier=main --HashME=1 --IBC=1 --MaxCUWidth=16 --MaxCUHeight=16 --CTUSize=32 --MaxBTLumaISlice=32 --MaxBTChromaISlice=32 --MaxBTNonISlice=32 --MaxTTLumaISlice=32 --MaxTTChromaISlice=32 --MaxTTNonISlice=32 --Log2MaxTbSize=5 --ColorTransform=0 --VideoFullRange=1 --InputSampleRange=1 --AspectRatioInfoPresent=1 --ChromaLocInfoPresent=1 --RCCpbSize=2000 --RateControl=1 --TargetBitrate=6000000 --IntraPeriod=256 VVCSoftware: VTM Encoder Version 23.6-ac3ffaa [Windows][GCC 11.5.0][64 bit] [SIMD=AVX2] https://www.sendspace.com/file/la2bjr |
13th November 2024, 18:42 | #1120 | Link | |
Moderator
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,893
|
Quote:
--cu-lossless --tskip --subme 7 rc=lookahead==keyint Which won't make any appreciable quality improvement for most content, but can improve compression efficiency for lossless screen recording, end credits, or other stuff with zero noise and lots of very sharp edges. |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|