[Ffmpeg-devel-irc] ffmpeg-devel.log.20160609

burek burek021 at gmail.com
Fri Jun 10 02:05:03 CEST 2016

[00:11:34 CEST] <TiTE>  
[00:31:15 CEST] <philipl> BtbN: I'm trying to establish contact with whoever at nvidia has taken over vdpau (the last maintainer left)
[00:31:45 CEST] <philipl> Things like non-X usability are on my list.
[00:32:01 CEST] <BtbN> I guess it will gain Wayland/Mir stuff.
[00:32:04 CEST] <BtbN> But no headless mode
[00:32:11 CEST] <philipl> Well, it could go either way.
[00:32:20 CEST] <philipl> The presentation part makes no sense in headless but the decode does
[00:32:25 CEST] <philipl> maybe they'd expose that by itself.
[00:32:50 CEST] <BtbN> EGL also works headless i think
[00:32:57 CEST] <philipl> yeah, it does.
[00:32:59 CEST] <BtbN> so if it gains some EGL mode, that would be fine
[00:33:32 CEST] <philipl> Well, they can do an EGL-on-X version just by exposing the GL extension in GL-ES
[00:33:41 CEST] <philipl> that wouldn't help much :-)
[00:34:36 CEST] <philipl> So, I lost track of the frame delay discussion - would a player using cuda/vdpau interop be able to use the decoder properly? or would there be a problem?
[00:35:44 CEST] <BtbN> Not if cuvid became a classic hwaccel, using the ffmpeg h264 parser.
[00:36:15 CEST] <philipl> but today it's a problem
[00:36:22 CEST] <BtbN> With vdpau, yes. As a PIX_FMT_VDPAU frame is not mapped or anything yet.
[00:36:23 CEST] <philipl> and a class hwaccel would have performance issues
[00:36:48 CEST] <BtbN> So if the player/client/whatever just collects a few of them(like, 2), everything is fine.
[00:37:16 CEST] <BtbN> The problem with cuvid is that you have to map and copy the frame data immediately, as the CUDA frames only contain a device pointer.
[00:37:30 CEST] <BtbN> So CUVID can't be a classic hwaccel
[00:37:46 CEST] <philipl> Isn't a vdpau frame the same?
[00:37:48 CEST] <BtbN> Which isn't too bad. It looses a few features of the ffmpeg parsers, like CC support. But it works just fine.
[00:39:03 CEST] <cone-559> ffmpeg 03James Almer 07master:7d7fdd6532b4: x86/showcqt: add missing preprocessor checks
[00:39:04 CEST] <cone-559> ffmpeg 03James Almer 07master:172af2085201: x86/showcqt: use three operand format for some instructions
[00:39:11 CEST] <BtbN> I don't think the vdpau hwaccel does anything with the output surface. It just passes it through. The the video unit can still pipeline stuff
[00:39:43 CEST] <jamrial> too many fate clients are still using old yasm
[00:39:46 CEST] <philipl> Right.
[00:41:11 CEST] <philipl> So, in the interop player case, the player would start with a vdpau output surface and map a cuda surface to it and pass that in
[00:41:29 CEST] <philipl> So the cuda->cuda copy in the decoder should be cheap?
[00:41:51 CEST] <BtbN> why would a player use cuda and vdpau?
[00:42:04 CEST] <philipl> vp9 :-)
[00:42:09 CEST] <BtbN> hm?
[00:42:34 CEST] <philipl> Well, why would a player use cuvid at all - decoders that aren't in vdpau
[00:42:41 CEST] <BtbN> I don't think something that needs a nonfree ffmpeg will find adaption for that.
[00:42:54 CEST] <BtbN> Because there is no X, and because zero-copy transcode with nvenc.
[00:43:12 CEST] <BtbN> And CUDA-Based filters.
[00:43:16 CEST] <philipl> Maybe only in my tree :-)
[00:43:28 CEST] <philipl> It's more an intellectual exercise than anything else.
[00:43:41 CEST] <philipl> I'd obviously rather push on nvidia to expose the decoders in vdpau
[00:43:54 CEST] <BtbN> Does the VP9 decoder even work in cuvid?
[00:44:33 CEST] <philipl> Won't know until I get home from this trip
[00:44:57 CEST] <BtbN> vc1 and h264 works. That's all I can tell.
[00:49:24 CEST] <nevcairiel> can add mpeg2, i guess
[06:29:10 CEST] <kylophone> Does ffmpeg have an internal linked-list API? Maybe something similar to `sys/queue.h' on BSD or Linux.
[06:51:20 CEST] <durandal_1707> kylophone: can create own? Something is in dynaudnorm..
[10:22:55 CEST] <TiTE> 'llo
[10:27:52 CEST] <cone-543> ffmpeg 03Paul B Mahol 07master:131cb675cfb9: avcodec/sheervideo: add interlaced YCbCr(A) 4:4:4:4 8-bit support
[10:40:12 CEST] <cone-543> ffmpeg 03Michael Niedermayer 07master:584fff9478a1: avdevice: Fix max value of AV_OPT_TYPE_VIDEO_RATE
[10:40:13 CEST] <cone-543> ffmpeg 03Michael Niedermayer 07master:f2c8b666be4c: avfilter: Fix max value of AV_OPT_TYPE_VIDEO_RATE
[10:40:14 CEST] <cone-543> ffmpeg 03Michael Niedermayer 07master:4888932c4d3a: avformat: Fix max value of AV_OPT_TYPE_VIDEO_RATE
[10:40:15 CEST] <cone-543> ffmpeg 03Michael Niedermayer 07master:37bb6004059c: avutil/opt: Fix max/min checking in av_opt_set() for AV_OPT_TYPE_VIDEO_RATE
[10:41:18 CEST] <kierank> durandal_1707: ever looked at that Newtek shq codec?
[10:43:08 CEST] <durandal_1707> kierank: very busy with other stuf, where it can be downloaded? Didn't you said it was encrypted?
[10:45:22 CEST] <kierank> The VLC plugin is but the others are not
[10:45:23 CEST] <durandal_1707> if I can produce encodes with virtualdub and codec is not complicated I could re it by mostly guessing
[10:45:36 CEST] <durandal_1707> LOL
[10:47:15 CEST] <kierank> Kostya said dct and rle
[10:47:18 CEST] <kierank> So not hard
[11:45:36 CEST] <andrey_turkin> I've been kicked off by freenode for violating terms of use... Which is strange because there are no terms of use and the only thing that remotely looks like that is "operate in good faith".
[12:11:21 CEST] <durandal_1707> what you did?
[12:24:45 CEST] <andrey_turkin> well that's the thing. I connected to the server and registered my nick and joined this channel. One'd say this is very much intended use of the server. And then few days later I get kicked with some vague message about violating some non-existing terms of use
[13:28:08 CEST] <cone-543> ffmpeg 03Paul B Mahol 07master:e826ceeb5594: avcodec/sheervideo: add interlaced YCbCr(A) 4:2:2:4 8-bit support
[13:38:41 CEST] <Illya> How can I get only the hevc fate samples for ffmpeg?
[13:39:37 CEST] <nevcairiel> manually
[13:39:47 CEST] <nevcairiel> there is no automated way to only download a subset of samples
[13:40:36 CEST] <Illya> Something like this: rsync -WaL rsync://fate-suite.libav.org/fate-suite/hevc* fate/ ?
[13:41:16 CEST] <Illya> maybe that's not the right rsync
[13:43:01 CEST] <Illya> seems I had the wrong url, got them :)
[13:43:08 CEST] <iive> andrey_turkin: you can join #freenode and ask for explanation there. 
[14:59:14 CEST] <Illya> What's the difference between 'transform' and 'idct' within HEVC?
[14:59:51 CEST] <Illya> and also 'idct' vs 'idct_dc'
[15:32:41 CEST] <cone-543> ffmpeg 03Paul B Mahol 07master:0c7fa152b9d7: avcodec/sheervideo: supports some other 8bit formats
[16:10:18 CEST] <BBB> Illya: the transform can be an adst
[16:11:07 CEST] <BBB> Illya: and idct_dc vs. idct means dc-only idct (only the first dc coefficient is non-zero), which means all pixels get the same value added to the predictor for the post-transform reconstruction, wheras non-dc means you have to actually apply the matrix multiplication to get the per-pixel residual pixel values
[16:11:21 CEST] <BBB> Illya: idct_dc is much cheaper than idct (computationally), which is why there is that distinction
[16:11:31 CEST] <BBB> Illya: ffvp9 takes that one step further (check the assembly)
[16:11:54 CEST] <BBB> dc-only adst doesnt exist, in case youre wondering, since the first coefficient is not a dc so the meaning is entirely different
[16:18:27 CEST] <ubitux> http://sprunge.us/EfdS how can i interpret these changes?
[16:21:23 CEST] <ubitux> (note: seek seems to work now)
[16:40:11 CEST] <atomnuker> how to get the sign bits of 4 packed signed 32 bit values in a 128 bit register?
[16:40:27 CEST] <atomnuker> I need to pabsd them and then sign them afterwards
[16:40:53 CEST] <atomnuker> pand using 0x80000000 and then por just fills in junk in the entire register
[16:41:28 CEST] <atomnuker> Gramner: got any ideas?
[16:42:35 CEST] <ubitux> pcmpgtb?
[16:44:16 CEST] <ubitux> (not b but pcmgt with a 0)
[16:45:14 CEST] <ubitux> might be too big of an instr though
[16:47:12 CEST] <atomnuker> nope, still junk, pcmpgtd with a zeroed register, pand'ed the result with 0x80000000 and then por'd
[16:47:52 CEST] <atomnuker> oh wait, it's greater
[16:52:43 CEST] <Illya> BBB: thanks, forgive my ignorance, but what is 'dc'?
[16:53:31 CEST] <BBB> sign is ((int)x) >> 31
[16:54:01 CEST] <BBB> so psrad x, 31
[16:54:21 CEST] <BBB> Illya: top-left coefficient in an idct, its the average of all residual pixels in the block
[16:54:31 CEST] <BBB> if its the only coefficient, it means all residual pixels have the same (dc) value
[16:56:15 CEST] <atomnuker> rshifting the register by 31 bits and then lshifting it back still yields junk after or
[16:56:18 CEST] <Illya> Oh. I was wondering why it was vbroadcast-ing the same value everywhere. I kinda understand the idct_dcs now
[16:56:23 CEST] <atomnuker> what the hell is going on
[17:06:29 CEST] <atomnuker> PSIGND EXITS!
[17:06:54 CEST] <atomnuker> *EXISTS!
[17:10:29 CEST] <JEEB> \o/
[17:26:24 CEST] <BBB> atomnuker: omg really?
[17:26:34 CEST] <BBB> haha :D
[17:26:37 CEST] <BtbN> nevcairiel, andrey_turkin, any more comments on the cuvid decoder? I'd like to rebase and push.
[17:26:41 CEST] <BBB> well you clearly didnt rtfm :-p
[17:27:00 CEST] <BBB> Illya: right, its a speed optimization at the end of the day
[17:27:06 CEST] <andrey_turkin> BtbN: I don't have any left
[17:28:26 CEST] <BBB> atomnuker: and in case youre wondering, to reintegrate the sign of a back into abs(a), you need to b = abs(a); c = sign(a) /* ~0 or 0 */; b ^= c; b -= c; IIRC
[17:28:48 CEST] <BBB> atomnuker: if that doesnt work you or I screwed up something but you shouldnt care because psignd
[17:31:17 CEST] <Illya> BBB: yeah, it was more that I didnt understand why. I'm gonna do some more digging in the spec though, I reckon it'll be quite useful. Thanks again for the explanation
[17:31:58 CEST] <BBB> ok, feel free to ask more also
[17:32:14 CEST] <BBB> and if things are unclear its fine to ask more
[17:35:27 CEST] <ubitux> ^ simple ticket for anyone looking for a qualification task, new comer izi task 
[18:43:18 CEST] <Illya> ubitux: I can give that a shot
[19:09:40 CEST] <atomnuker> what's the best way to insert a 32 bit integer into an xmm register?
[19:09:58 CEST] <kierank> vbroadcastq
[19:10:02 CEST] <kierank> should be a macro
[19:10:12 CEST] <kierank> splatq
[19:10:14 CEST] <kierank> splatd
[19:32:27 CEST] <ubitux> Illya: sure, feel free to update the ticket to say you're working on it then
[19:42:08 CEST] <cone-170> ffmpeg 03Michael Niedermayer 07master:2a70e78a2885: avformat/utils: Initialize st in loop
[19:42:09 CEST] <cone-170> ffmpeg 03Michael Niedermayer 07master:218bb8b3f370: avformat/utils: Open decoder even if there are no packets if parameters are missing
[19:42:10 CEST] <cone-170> ffmpeg 03Michael Niedermayer 07master:6826f16e4a36: avformat/utils: Do not overwrite, but use sample_fmt from context
[20:25:13 CEST] <jamrial> atomnuker: if you want it on the low 32 bits of the register (zeroing everything else) then just use movd. if you want it repeated on all 128 bits, use the SPLATD macro
[20:26:05 CEST] <jamrial> the latter assumes it's already in the register
[21:04:07 CEST] <llogan> message in nut-devel mod queue: "Weve learned from a database that you're a nut manufacturer. Our company needs 3,000,000 pieces of nuts at present."
[21:06:48 CEST] <fritsch> :-)
[21:09:47 CEST] <Rathann> w00t, a new quote for the wiki page
[21:09:47 CEST] <Compn> lool
[21:10:20 CEST] <Rathann> oh wow, nobody touched the page for 5.5 years
[21:12:34 CEST] Action: Rathann is talking about https://wiki.multimedia.cx/index.php?title=Quotes in case nobody remembers anymore
[21:42:25 CEST] <llogan> michaelni: remove from consulting page will likely "break" the page because it is ordered by rows and columns. 
[21:43:31 CEST] <llogan> probably easiest to fix by cutting and pasting an entry from last row into BL's place.
[21:45:29 CEST] <llogan> or perhaps the CSS can be rewritten to make it less annoying to edit
[21:46:09 CEST] <llogan> but i can't fix it today..behind at work
[21:51:46 CEST] <michaelni> logan, fixed
[21:53:52 CEST] <llogan> thanks. i guess i could have fixed it in the time i was typign about it. The first "l" stands for "lazy".
[23:51:12 CEST] <cone-836> ffmpeg 03Kyle Swanson 07master:765703498aa5: avfilter/af_loudnorm: add dual_mono option
[00:00:00 CEST] --- Fri Jun 10 2016

More information about the Ffmpeg-devel-irc mailing list