SVT-HEVC icon indicating copy to clipboard operation
SVT-HEVC copied to clipboard

Add RGB 10/12 encoder support.

Open alatteri opened this issue 5 years ago • 9 comments

I am interested in using SVT-HEVC for realtime color accurate streaming for the Visual Effects/Post Production space. In that world, YUV, even 10 bit is not color accurate enough. 10/12 native RGB is the only acceptable solution. While x265 can do this, the CPU processing requirements are very large, and as yet, (testing with HP z820/z840 workstations), I've been unable to get realtime 24fps encoding. NVENC is also YUV only, so all possible HW accelerations are currently unable to fit the bill. With the large performance improvements seen with SVT, it would be great if 10/12bit RGB encoding was added, and we wouldn't have to throw bigger metal at the problem, but instead use smarter software.

alatteri avatar Sep 16 '19 17:09 alatteri

Alan – Curious what the video resolution is set to as well as the desired framerate.

-mark

From: Alan Latteri [mailto:[email protected]] Sent: Monday, September 16, 2019 10:43 AM To: OpenVisualCloud/SVT-HEVC [email protected] Cc: Subscribed [email protected] Subject: [OpenVisualCloud/SVT-HEVC] Add RGB 10/12 encoder support. (#363)

I am interested in using SVT-HEVC for realtime color accurate streaming for the Visual Effects/Post Production space. In that world, YUV, even 10 bit is not color accurate enough. 10/12 native RGB is the only acceptable solution. While x265 can do this, the CPU processing requirements are very large, and as yet, (testing with HP z820/z840 workstations), I've been unable to get realtime 24fps encoding. NVENC is also YUV only, so all possible HW accelerations are currently unable to fit the bill. With the great performance improvements seen with SVT, it would be great if 10/12bit RGB encoding was added, and we wouldn't have to throw bigger metal at the problem, but instead use smarter software.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/OpenVisualCloud/SVT-HEVC/issues/363?email_source=notifications&email_token=AMC5UQTSQNT2DSLSZ66KGQLQJ7ATDA5CNFSM4IXFJ5OKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLUWGZQ, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMC5UQQ277YAAACCRMXKB2TQJ7ATDANCNFSM4IXFJ5OA.

intelmark avatar Sep 16 '19 17:09 intelmark

[email protected] R12L from Blackmagic Decklink SDI source. But ideally we'd like to be able to go up to 4K too.

alatteri avatar Sep 16 '19 17:09 alatteri

There is a plug-in for SVT to use with FFmpeg. You might investigate if an encoding solution can be built around that, as it should support RGB->YUV conversion.

-mark

From: Alan Latteri [mailto:[email protected]] Sent: Monday, September 16, 2019 10:51 AM To: OpenVisualCloud/SVT-HEVC [email protected] Cc: Feldman, Mark [email protected]; Comment [email protected] Subject: Re: [OpenVisualCloud/SVT-HEVC] Add RGB 10/12 encoder support. (#363)

[email protected]mailto:[email protected] R12L from Blackmagic Decklink SDI source. But ideally we'd like to be able to go up to 4K too.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/OpenVisualCloud/SVT-HEVC/issues/363?email_source=notifications&email_token=AMC5UQWETDPEDINZ6KOGBZLQJ7BPHA5CNFSM4IXFJ5OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6Z6XIQ#issuecomment-531884962, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMC5UQWJUX6U3ZL7DTNH3VDQJ7BPHANCNFSM4IXFJ5OA.

intelmark avatar Sep 16 '19 17:09 intelmark

I'll give it a try later this week. Thanks.

alatteri avatar Sep 16 '19 17:09 alatteri

@alatteri, may I know what is your command line using x265 with RGB 10/12 input? You may try converting RGB->yuv444p10le with ffmpeg then feed to svt-hevc, which though is not truly lossless. But you can see if performance meets your need first.

tianjunwork avatar Sep 16 '19 23:09 tianjunwork

I haven't yet played with SVT, but this is the basic command I was doing some testing with x265

Sender: ./ffmpeg -raw_format rgb10 -f decklink -i 'DeckLink 4K Pro' -c:v libx265 -preset ultrafast -tune zerolatency -f mpegts "udp://192.168.101.195:1234?overrun_nonfatal=1"

Reciever: ./ffmpeg -i "udp://192.168.101.194:1234?overrun_nonfatal=1" -f decklink -vcodec v210 'DeckLink SDI 4K'

alatteri avatar Sep 17 '19 05:09 alatteri

Please add 12bit support c: I wan't to use svt-hevc for all my movie-stuff cuz its faster compared to x265. But 10bit isn't good enough to get rid of all the banding at higher compression and choosing a higher qualitylevel to compensate for this ruins the efficiency.

RoflTom avatar Dec 25 '19 22:12 RoflTom

Hi @RoflTom, I believe you are asking for 12-bits yuv input support? I can feedback this request to the dev team. Also welcome contribution from the community. Before it is implemented, you could try to find a trade off(-encMode) between quality and efficiency using -bit-depth 10.

tianjunwork avatar Dec 28 '19 06:12 tianjunwork

My inputs are 8/10 bit and the output should have 12bit yuv cuz that really helps with visual quality. Like x265 which is what im using until svt-hevc can do 12bits. And if not i just stay with the slower x265.

RoflTom avatar Jan 04 '20 11:01 RoflTom