freenode :: #aomedia

20 Mar 2017
14:06wiakCaspy7 got any tips how to parallelize av1 for ryzen?
14:06wiakwhat settings to use
14:06wiak1700X with 8C/16T
14:06Caspy7wiak: I'm just a layman. Mainly an observer. I don't know.
14:06wiakmeybe it was kagami_
14:07wiakp
14:07wiaku same as me then Caspy7 :)
14:07wiaki just follow and does some random compiles
14:07wiakhttps://nwgat.ninja/test-driving-aomedias-av1-codec/
14:12kagami_wiak: aomenc should use as many threads as you have cores, but tile-columns depends on the width of the video
14:12quikeerandom compiles are useless...
14:13kagami_though vpxenc has --row-mt option now which speedups up to ~1.5x
15:34gnafuquikee: I've found they have some entertainment value ;-).
15:34gnafuAnd back in the early days of VP8, I remember uncovering a bug while doing random encodes.
15:50quikeegnafu: sure but I have a feeling this compiles don't include any experiments... so encoding with them will just give you false feelings about av1
15:56gnafuThat's try. Definitely need to enable one or more experiments to have any real fun at this stage.
15:56gnafus/try/true/
15:59Caspy7this is a couple months old, but maybe good for casual observers: http://i.imgur.com/zMYuD67.png
16:00gnafuCaspy7: Ooh, thanks! That's one I hadn't seen yet.
16:02Caspy7gnafu: https://people.xiph.org/~tterribe/pubs/lca2017/aom.pdf and the corresponding presentation: https://www.youtube.com/watch?v=lzPaldsmJbk
16:47gnafuHuh, I thought I had seen those slides, but it must've been an earlier revision.
16:47gnafuQuickly scrolling through, I see several slides I don't remember.
16:51kagami_Tim uses same template for most of his multimedia talks
16:54atomnukerwouldn't blame him, I've used one for all my talks as well and am running out of preinstalled latex themes
17:13derfI got to add a new logo to the stack for that one.
17:15atomnukerso the way assembly optimized functions get enabled on runtime is through global variables which are function pointers?
17:15atomnukerthis is less than great design
17:16derfWhat would you consider to be a great design?
17:19atomnukereach context used by different parts of the encoder gets a struct which holds function pointers and is initialized during that part of the encoder's init function
17:19derfWhat are the advantages?
17:25atomnukerno global variables and its neater, so basically its a matter of preference
17:25derfSo, I have a different proposal which has more than stylistic advantages.
17:26derfWhich is that you have multiple static const global tables, one for each function. The table contains all of the variants which can be selected at run-time, and then you pass around an index to this table.
17:27derfThe advantage being that there are no writable function pointers, and if you mask the index, you greatly reduce the possibility of a heap overflow leading to arbitrary code execution.
17:40unlordderf: that is smart
17:41derfThat's because it was gmaxwell that came up with it.
17:59gnafu:-D
19:57atomnukerI hate how gerrit won't send your drafts automatically
19:58atomnukerYou'd think if you press "Reply" it'll do that but no, you have to press a very small button or press A
20:36derfOh, it's 'A'? I keep pressing whatever the key for it is in Rietveld (I don't actually know, muscle memory does), and I keep getting disappointed.
21 Mar 2017
No messages
   
Last message: 95 days and 5 hours ago