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 > New and alternative video codecs

Reply
 
Thread Tools Search this Thread Display Modes
Old 28th November 2023, 01:01   #881  |  Link
Emulgator
Big Bit Savings Now !
 
Emulgator's Avatar
 
Join Date: Feb 2007
Location: close to the wall
Posts: 1,522
Compared to AV1, I concur.
__________________
"To bypass shortcuts and find suffering...is called QUALity" (Die toten Augen von Friedrichshain)
"Data reduction ? Yep, Sir. We're that issue working on. Synce invntoin uf lingöage..."
Emulgator is offline   Reply With Quote
Old 28th November 2023, 01:39   #882  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,724
Quote:
Originally Posted by Emulgator View Post
Compared to AV1, I concur.
MPEG has been pretty good at keeping the decoder complexity increase generation to generation down to about 2x. Which, given Moore's Law, makes each generation quite a bit cheaper to add to a SoC at launch.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 27th December 2023, 08:41   #883  |  Link
birdie
Artem S. Tashkinov
 
birdie's Avatar
 
Join Date: Dec 2006
Posts: 333
A full native VVC decoder for ffmpeg (most likely GIT or version 6.1) has been posted.

I will test it next week when/if I make it home.

Code:
vvc decoder plug-in to avcodec.
split frames into slices/tiles and send them to vvc_thread for further decoding
reorder and wait for the frame decoding to be done and output the frame

Features:
    + Support I, P, B frames
    + Support 8/10/12 bits, chroma 400, 420, 422, and 444 and range extension
    + Support VVC new tools like MIP, CCLM, AFFINE, GPM, DMVR, PROF, BDOF, LMCS, ALF
    + 295 conformace clips passed
    - Not support RPR, IBC, PALETTE, and other minor features yet

Performance:
    Asm optimizations still working in progress. please check
    https://github.com/ffvvc/FFmpeg/wiki#performance-data for the latest

Contributors(based on code merge order):
    Nuo Mi <nuomi2021 gmail.com>
    Xu Mu <toxumu outlook.com>
    frankplow <post frankplowman.com>
    Shaun Loo <shaunloo10 gmail.com>
vvdec by Fraunhofer HHI is quite heavy. I've recently encoded a 1024x576@30 video (here's a sample or full video for anyone who's interested) using preset slow and q=31 and my 7840HS consumes over 20W (!) decoding it which is just staggering. I'm pretty sure vvdec will fail to decode 1080p videos in real time on my Zen 4 CPU.

Last edited by birdie; 29th December 2023 at 12:09. Reason: full video added
birdie is offline   Reply With Quote
Old 27th December 2023, 09:21   #884  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,836
That's an amazing news! The moment FFMpeg gets an internal decoder, it spreads everywhere (LAV, VLC, MPV, LWLibav, FFVideo etc) so this is definitely welcome.
About VVDec, I remember having a conversation with Ben a while ago (several months actually) about decoding H.266 and I haven't tried it recently to see if there was any progress, but from what you're saying everything stayed the same.
If that's the case, although it might be "ok-ish" for desktop CPUs, it's definitely not for laptops and definitely not for smartphones as they're gonna need hardware decoding.
For comparison, back when I was talking to Ben about this, I tried a 50p realtime decoding of a FULL HD video on my 8c/16th Intel Xeon and I'm sure that if it had a face it would have looked at me and said "haha nice try bro". xD (TL;DR it couldn't).
The fact that ffvvc reports 200+ fps on a FULL HD 60p clip on a puny 8c/16th i7 like the 12700K shows a really great performance advantage compared to VVDec.
I mean, if that's the case, then software decoding might actually become a thing for H.266 VVC and that would definitely drive adoption 'cause after that all we need is x266 (hopefully also coming in 2024) and then we're ready to go.
That being said, I don't wanna be too harsh on Fraunhofer given that it has allowed me to test and try and test and try over and over again using VVEnc and VVDec, including working on some interesting samples last year, so, although we all knew it wasn't gonna make it into production, hats off to Fraunhofer for providing something better than the default unusable (i.e too slow) VTM reference encoder.

Last edited by FranceBB; 27th December 2023 at 09:27.
FranceBB is offline   Reply With Quote
Old 27th December 2023, 19:30   #885  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 687
https://github.com/ffvvc/FFmpeg/comm...63ce618b81f9fd
Modest VVC profile
const AVProfile ff_vvc_profiles[] = {
{ AV_PROFILE_VVC_MAIN, "Main" },
{ AV_PROFILE_VVC_MAIN_10, "Main 10" },
{ AV_PROFILE_VVC_MAIN_10_444, "Main 10 4:4:4" },
{ AV_PROFILE_UNKNOWN },
};
It plays great on very old computer only VVC 10bit. Bad movie rewind.
Stream #0:0: Video: vvc (Main), yuv420p10le(tv), 1024x576, 25 fps, 30 tbr, 1200k tbn
[vvc @ 000001784014c7c0] Duplicate POC in a sequence: 31.0B f=0/0
[vvc @ 000001784014c7c0] Error parsing NAL unit #3.

Stream #0:0: Video: vvc (Main), yuv420p(tv), 1920x1080, 25 fps, 29.97 tbr, 1200k tbn
[vvc @ 000001c476f1e8f0] frame 13, P( 29, 13) failed with -1094995529

I understand that uvg266 is a thing of the past. It isn't accepted.

Last edited by Jamaika; 27th December 2023 at 19:47.
Jamaika is offline   Reply With Quote
Old 2nd January 2024, 03:23   #886  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,724
VVC is well designed for efficient decoding - factored well for good parallelism and SIMD. I've heard several experts estimate that a software decoder of equivalent optimization for VVC would give a higher decode fps than AV1. Real-world, AV1 encoders are several years ahead in performance optimizations, of course. But VVC should be at least as viable as AV1 for SW decode on phones etcetera.
__________________
Ben Waggoner
Principal Video Specialist, Amazon Prime Video

My Compression Book
benwaggoner is offline   Reply With Quote
Old 3rd January 2024, 16:33   #887  |  Link
v0lt
Registered User
 
Join Date: Dec 2008
Posts: 1,931
FFmpeg seems to have added a VVC decoder
v0lt is offline   Reply With Quote
Old 3rd January 2024, 17:30   #888  |  Link
birdie
Artem S. Tashkinov
 
birdie's Avatar
 
Join Date: Dec 2006
Posts: 333
Quote:
Originally Posted by v0lt View Post
Hooray! Finally! I'm now compiling it.

The original git repo is still where it used to be.
birdie is offline   Reply With Quote
Old 3rd January 2024, 19:41   #889  |  Link
birdie
Artem S. Tashkinov
 
birdie's Avatar
 
Join Date: Dec 2006
Posts: 333
The native VVC decoder in ffmpeg is simply amazing! It's at least twice as fast/efficient as vvdec.

Unfortunately it doesn't yet play some pretty standard VVC videos.

Last edited by birdie; 3rd January 2024 at 19:43.
birdie is offline   Reply With Quote
Old 3rd January 2024, 23:56   #890  |  Link
ShortKatz
Registered User
 
Join Date: Aug 2018
Location: Germany
Posts: 116
I've build a version of Handbrake with the current FFmpeg and I was able to open one vvc file out of my vvc video sample collection. So it indeed does not play some pretty standard VVC videos.
ShortKatz is offline   Reply With Quote
Old 4th January 2024, 07:45   #891  |  Link
Jamaika
Registered User
 
Join Date: Jul 2015
Posts: 687
Quote:
Originally Posted by birdie View Post
The native VVC decoder in ffmpeg is simply amazing! It's at least twice as fast/efficient as vvdec.

Unfortunately it doesn't yet play some pretty standard VVC videos.
He doesn't like mp4 because there is no mp4 plugin.
Code:
He doesn't like mp4 because there is no mp4 plugin.
Input #0, vvc, from 'NovosobornayaSquare_1920x1080_track1.vvc':/0
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: vvc (Main), yuv420p(tv), 1920x1080, 25 fps, 59.94 tbr, 1200k tbn
[ffplay_buffer @ 0000021583a827f0] filter context - w: 1920 h: 1080 fmt: 0 csp: unknown range: unknown, incoming frame - w: 1920 h: 1080 fmt: 0 csp: unknown range: tv pts_time: NOPTS
[ffplay_buffer @ 0000021583a827f0] Changing video frame properties on the fly is not supported by all filters.
[ffplay_buffer @ 0000021583a827f0] filter context - w: 1920 h: 1080 fmt: 0 csp: unknown range: unknown, incoming frame - w: 1920 h: 1080 fmt: 0 csp: unknown range: tv pts_time: NOPTS
Poorly created mp4 container. Incorrect framerate.
Code:
Video
ID                                       : 1
Format                                   : VVC
Codec ID                                 : vvc1
Codec ID/Info                            : Versatile Video Coding
Duration                                 : 10 s 0 ms
Bit rate                                 : 4 008 kb/s
Maximum bit rate                         : 5 196 kb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 60.000 FPS
Bits/(Pixel*Frame)                       : 0.032
Stream size                              : 4.78 MiB (100%)
Title                                    : bin@GPAC2.3-DEV-rev550-gec2a3776-master
Encoded date                             : 2023-09-28 14:25:08 UTC
Tagged date                              : 2023-09-28 14:25:08 UTC
mdhd_Duration                            : 10067
Codec configuration box                  : vvcC
Idea:
mp4box.exe -raw 1 NovosobornayaSquare_1920x1080.mp4
ffmpeg_avx.exe -i NovosobornayaSquare_1920x1080_track1.vvc -c:v copy NovosobornayaSquare_1920x1080_track1.mp4 (Jamaika codec)
Code:
Output #0, mp4, to 'NovosobornayaSquare_1920x1080_track1.mp4':
  Metadata:
    encoder         : Lavf60.20.100
  Stream #0:0: Video: vvc (Main) (vvc1 / 0x31637676), yuv420p(tv), 1920x1080, q=2-31, 25 fps, 59.94 tbr, 1200k tbn
Press [q] to stop, [?] for help
[mp4 @ 00000264b8266c10] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mp4 @ 00000264b8266c10] pts has no value
    Last message repeated 336 times
[mp4 @ 00000264b8266c10] pts has no valued=N/A
    Last message repeated 262 times

It's already playing something.

Last edited by Jamaika; 4th January 2024 at 07:56.
Jamaika is offline   Reply With Quote
Old 6th January 2024, 13:48   #892  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,836
Quote:
Originally Posted by birdie View Post
It's at least twice as fast/efficient as vvdec.
I've been testing it too but although it does appear to be faster, it's not quite twice as fast compared to VVDec.
I'm currently sick at home and confined to bed (seasonal flu), but I'll make some more tests once I get better.
Just to be sure, do you have a particular file you tested it on where decoding was twice as fast? I wanna try it on my 8c/16th Xeon to see if the results you're getting are hardware dependent.
FranceBB is offline   Reply With Quote
Old 6th January 2024, 23:49   #893  |  Link
birdie
Artem S. Tashkinov
 
birdie's Avatar
 
Join Date: Dec 2006
Posts: 333
Quote:
Originally Posted by FranceBB View Post
I've been testing it too but although it does appear to be faster, it's not quite twice as fast compared to VVDec.
I'm currently sick at home and confined to bed (seasonal flu), but I'll make some more tests once I get better.
Just to be sure, do you have a particular file you tested it on where decoding was twice as fast? I wanna try it on my 8c/16th Xeon to see if the results you're getting are hardware dependent.
The situation is quite complicated.

vvdec by itself is several times faster than the native VVC decoder in ffmpeg however the patch to integrate vvcdec into ffmpeg results in its performance advantage disappearing and getting even worse than native which sounds like the patch does something wrong.

I've described everything here.
birdie is offline   Reply With Quote
Old 7th January 2024, 19:27   #894  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Royal Borough of Kensington & Chelsea, UK
Posts: 2,836
Ahhhhhh! Gotcha! Makes sense now.
Well I didn't know it was faster 'cause I always used it via the FFMpeg integration. This is interesting.
I think I have to redo all the tests with the native VVDec now and report back here, I'll keep you guys posted.
FranceBB is offline   Reply With Quote
Old 8th January 2024, 19:45   #895  |  Link
hajj_3
Registered User
 
Join Date: Mar 2004
Posts: 1,119
vvc datacentre decoder ip block: https://www.verisilicon.com/en/IPPor.../HantroVC9800D

it supports lots of other codecs too.

Last edited by hajj_3; 8th January 2024 at 23:24.
hajj_3 is offline   Reply With Quote
Old 8th January 2024, 20:40   #896  |  Link
Blue_MiSfit
Derek Prestegard IRL
 
Blue_MiSfit's Avatar
 
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,986
There's no mention of VVC on those marketing pages
__________________
These are all my personal statements, not those of my employer :)
Blue_MiSfit is offline   Reply With Quote
Old 8th January 2024, 23:24   #897  |  Link
hajj_3
Registered User
 
Join Date: Mar 2004
Posts: 1,119
Quote:
Originally Posted by Blue_MiSfit View Post
There's no mention of VVC on those marketing pages
there is on the decoder one. i mis-read the encoder page though.
hajj_3 is offline   Reply With Quote
Old 13th January 2024, 05:50   #898  |  Link
v0lt
Registered User
 
Join Date: Dec 2008
Posts: 1,931
Nightly builds of MPC-BE can decode some VVC videos in MP4 container. There is also support for MPEG-TS and RAW, but this is more problematic.
v0lt is offline   Reply With Quote
Old 18th January 2024, 16:22   #899  |  Link
birdie
Artem S. Tashkinov
 
birdie's Avatar
 
Join Date: Dec 2006
Posts: 333
vvdec has been updated to make it more than three times more energy efficient when it's being used as a decoding backend for ffmpeg (and other libs/apps using it) thanks to my input :-)
birdie is offline   Reply With Quote
Old 19th January 2024, 18:25   #900  |  Link
benwaggoner
Moderator
 
Join Date: Jan 2006
Location: Portland, OR
Posts: 4,724
Quote:
Originally Posted by birdie View Post
vvdec has been updated to make it more than three times more energy efficient when it's being used as a decoding backend for ffmpeg (and other libs/apps using it) thanks to my input :-)
Well done!
__________________
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 21:15.


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