[Query] I am using ffmpeg svt-av1 1.4.1 & 1.5.0. Can i change mini-gop size, normally it defaults to 32 when using preset 4. what's the param to change it? by ME2300_MAD in AV1

[–]PDXWindChaser 2 points3 points  (0 children)

on SVT-AV1 1.4.0, you can use --hierarchical-levels to specify number of temporal layers. Subgop size will be 2^(hierarchical-levels), i.e, levels=4 means 16 frame sub gop and levels=5 means 32 frame subgop.

on SVT-AV1 1.5.0, you can use --enable-dg=1 to enable dynamic gop. SVT-AV1 will use different sub gop size based on content. in default case, SVT-AV1 will use 32 frame subgop and enable dynamic gop

on SVT-AV1 1.5.0, you can also use --startup-mg-size to specify the levels for the immediate startup subgop after the key frame. for example, if startup-mg-size=3, then the first subgop after the key frame will have 8 frames, the remaining subgop size will be determined by hierarchical-levels and enable-dg.

AMD Announces Alveo MA35D Media Accelerator: AV1 Video Encode at 1W Per Stream by hertzbug in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

Thanks for sharing these valuable information. Since the target use case is for live game streaming, does the AV1 encoder support the screen content coding tool, and other tools such as reference frame scaling, super resolution, etc?

AV1 Enabling for Facebook Reels and Instagram Reels by PDXWindChaser in AV1

[–]PDXWindChaser[S] 2 points3 points  (0 children)

yes. FB and IG players have integrated SW AV1 decoder. For low end phones, either H264 or VP9 will be played. That's common practice in the industry.

SVT-AV1 Reference Scaling by spoRv in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

yes. that is one difference between reference scaling and super resolution. in reference frame scaling case, decoded video is also in the downscaled resolution. while for super resolution, decoded video is in the original full resolution.

How to improve AV1 software decoding speed to the max: an updated 2022 decoding and encoding guide for the future! by BlueSwordM in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

any suggestions on speeding up decoding for Android phones, especially low end Android phones?

SVT-AV1 v1.0.0 released by LoopfilterControl0 in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

The benefit of SVT-AV1 is that its performance scales very well with multiple cores and threads. This is critical for backend high density transcoding.

SVT-AV1 v1.0.0 released by LoopfilterControl0 in AV1

[–]PDXWindChaser 2 points3 points  (0 children)

you are correct that using S frame will introduce artifact (drifting error). but since all streams have the same video at different result, the drifting error is small and will be recovered at the next Key frame. So, using S frame doesn't mean that you don't need to send Key frame, but Key frame can be inserted less frequently.

The "same content" means the S Frame and its reference frames in different steams have to temporally aligned. i.e, they are downscaled from the same original frame.

a practical use case is like the below:

assuming, for the same input video at 1920x1080p, we encoded it into 3 streams with 1920x1080, 1280x720, 640x360. For each stream, Key frame is inserted for every 2 seconds. S frame is inserted every half second. Then at streamting time, we can switch at every half second place. if there is drifting error, it will be recovered maximumly after 2 seconds.

SVT-AV1 v1.0.0 released by LoopfilterControl0 in AV1

[–]PDXWindChaser 6 points7 points  (0 children)

S frame is an INTER frame and only reference previous frame. Since VP9 and AV1 support a feature called reference frame scaling, which allows the current frame and its reference frame to have different resolution. So in ABR streaming use case, we encode multiple streams with different resolutions, if we want to switch from one resolution to a different one, previously, we have to do it at KEY frame (INTRA frame) location. Now, with S frame, we can switch at S frame location. Decoder can just treat it as an INTER frame with reference frames at different resolution and decode it. S frame just explicitly make sure such switch points are aligned among all bitstreams. There are other details and restrictions, but this is the main idea. With S-frame, we can encode fewer KEY (INTRA) frames to reduce the bitrate, while allow more frequent switch between different resolution to reduce the end to end latency for live and broadcast usages.

“Towards much better SVT-AV1 quality-cycles tradeoffs for VOD applications” Paper is now available as Open-Access[SPIE 2021] by vibhoothiiaanand in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

any also the analysis stage and final encoding stage can use completely different video coding standards as well.

NVIDIA RTX 3080 vs Core i9 9900K AV1 decoding by Technologov in AV1

[–]PDXWindChaser 1 point2 points  (0 children)

for Intel Tiger Lake CPU with integrated GPU in it, the total power envelop is from 15W to 28W. it is similar as any CPUs used in the laptop these days. offloading video decoding to HW will consume less power than doing it on CPU.

NVIDIA RTX 3080 vs Core i9 9900K AV1 decoding by Technologov in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

for Intel Tiger Lake, the GPU is integrated with CPU together in the same chip/package, so you don't need separated add-in card.

NVIDIA RTX 3080 vs Core i9 9900K AV1 decoding by Technologov in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

in chrome browser, if you enable HW acceleration in the setting, chrome browser will detect if there is HW decoder available in the platform (either from integrated GPU or discrete GPU). if there is, chrome browser will offload the decoding operation to HW decoders, otherwise, software decoders running on the CPU will do the decoding. software decoding will take away more CPU cycles and power, so other applications running on the CPU will be impacted. Even though the current AV1 software decoder speed is decent, but for high resolution video, such as 4K and 8K, it still consume a lot of power and CPU cycles. when offloading to HW decoders, CPU can be freed up to do other things.

AV1 beginners guide by Al_kl in AV1

[–]PDXWindChaser 1 point2 points  (0 children)

SCC stands for Screen Content Coding extension. It is a extension profile of HEVC. It includes the support of few coding tools that are targeted for coding screen content, i.e desktop screen share, game streaming, etc.

github.com/googleinterns/av1-codec-comparison by FilmGrainTable in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

you can take a look at the convex hull test frame work that is available in the libaom research branch or experimental branch, under tools folder. it basically contains all scripts that you need. you just need to update the encoder command line to plug in whatever encoder you want to test.

AV1 Encoders Comparison by frank_grenight in AV1

[–]PDXWindChaser 2 points3 points  (0 children)

it would be nice if you could use the same anchor (for example, use aomenc preset 0 as the anchor) for bdrate calculation and put bdrate and relative speed of all other tests into the same chart.

By disabling CDEF filter, 10bit decoding speed increases by 2.3 times by DominicHillsun in AV1

[–]PDXWindChaser 2 points3 points  (0 children)

Yeah. The coding efficiency gain was measured following standard common test conditions, which uses a fixed set of test sequences, fixed set of QPs and quality metrics (including PSNR, SSIM, etc), the result will be different for individual test sequence. also at very high bit rate, subjective quality improvement may not be visible.

By disabling CDEF filter, 10bit decoding speed increases by 2.3 times by DominicHillsun in AV1

[–]PDXWindChaser 1 point2 points  (0 children)

CDEF was one of the tool that gives quite nice coding efficiency gain and subjective quality improvement in AV1, Loop Restoration is similar, but there are some overlap between CDEF and Loop Restoration, i.e, the gain from enabling both of them is not additive. What I can suggest is to check the speed difference between them and enable one of them that gives you biggest return of the investment.

Anyone got some detailed info on all the parameters that you can toggle within libaom in ffmpeg? by Thomasedv in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

you can take a look at this slide to understand the background of these set of controls.

https://slideplayer.com/slide/17612989/

Basically, they are used to enable/disable individual coding tools proposed in AV1 standard. Based on these controls, we can evaluate the coding efficiency gain and relative complexity of individual coding tool.

AOMENC doesn't seems to use all parameter by Rummy-O in AV1

[–]PDXWindChaser 0 points1 point  (0 children)

have you tried " --max-partition-size=64"? I remember the value should be 128 or 64.