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

burek burek021 at gmail.com
Tue Jun 17 02:05:02 CEST 2014


[00:16] <J_Darnley> I need to apologize if I have ever said someone's API is crap.
[00:17] <J_Darnley> Only now do I see how much there is to think about (and I am basically copying one that already exists).
[00:17] <ubitux> hopefully you're not copying zlib or openssl
[00:18] <J_Darnley> Oh no.
[00:18] <J_Darnley> (much worse)
[00:18] <ubitux> that's hard to believe
[00:18] <J_Darnley> A microsoft-style, c++ API
[00:19] <J_Darnley> I can't decide on names, namespaces, data structures
[00:22] <J_Darnley> I'm not even sure how the original gathers it various AVFilter-like objects together.
[00:23] <wm4> what API is it?
[00:23] <J_Darnley> Nullsoft's Advanced Visualisation Studio
[00:23] <wm4> ow
[00:24] <wm4> I don't know that API but it sounds like it's bad :)
[00:25] <J_Darnley> It is Winamp's classic visualisation plugin
[00:28] <J_Darnley> I guess that might not mean much to you either.
[00:30] <nevcairiel> if you deal in multimedia, you better know what winamp is
[00:52] <cone-859> ffmpeg.git 03Christophe Gisquet 07master:02bffc560f5e: huffyuv: fate: add a BGR24 test
[01:03] <cone-859> ffmpeg.git 03Christophe Gisquet 07master:f6577bd9cf3e: huffyuvdec: use unsafe bitstream reader
[01:32] <cone-859> ffmpeg.git 03Michael Niedermayer 07master:20c7baf832f4: avcodec/huffyuvdec: Fix fill value for truncated bitstreams
[01:43] <cone-859> ffmpeg.git 03Carl Eugen Hoyos 07master:08235708d84a: Do not suggest to use gas-preprocessor on aix where it doesn't work.
[01:43] <cone-859> ffmpeg.git 03Ronald S. Bultje 07master:edf930472bbd: swr: reindent.
[01:43] <cone-859> ffmpeg.git 03Michael Niedermayer 07master:fdb6f66defac: Merge remote-tracking branch 'cehoyos/master'
[03:07] <BtbN> Timothy_Gu, in the header itself is a license header which says "do not redistribute this"
[03:28] <michaelni> Daemon404, do you want to review the fateserver patches ? 
[04:24] <Compn> wm4 / nevcairiel : there is mplayer winamp filter wrapper :D
[04:24] <Compn> af wadspa ?
[04:24] <Compn> perhapse
[04:36] <nevcairiel> iirc thats for dsp plugins, not visualization
[05:09] <Timothy_Gu> XV, another half-baked Chinese crappy proprietary container
[05:13] <cone-429> ffmpeg.git 03Michael Niedermayer 07master:b152152df3b7: Add nointra AVDiscard level
[09:24] <j-b> 'morning
[09:31] <plepere> hi
[09:40] <plepere> what's the difference between HAVE_SSE and HAVE_SSE_EXTERNAL ?
[09:55] <plepere> I'm going to start AVX2 coding. Do I have to do anything specific or is INIT_XMM avx2 enough ?
[09:55] <plepere> ubitux, 
[09:56] <ubitux> i think you need %if HAVE_AVX2_EXTERNAL as well
[09:56] <ubitux> to support old assemblers
[09:57] <ubitux> (within the asm)
[09:57] <ubitux> also, you probably want INIT_YMM avx2
[09:58] <plepere> but I'm using ints
[09:58] <plepere> or is YMM not only for floats
[09:59] <plepere> YMM  = 256 registers ?
[10:00] <ubitux> 256bits regs yes
[10:00] <plepere> yes
[10:01] <ubitux> ymm is only for float in avx iirc
[10:01] <ubitux> that's the point of avx2, to be usable with ints
[10:01] <plepere> yes
[10:02] <thardin> ccache rules
[10:02] <plepere> so I do INIY_YMM avx2 and I can use all avx2 instructions.
[10:02] <plepere> ubitux, I just saw in x86inc that in INIT_YMM,     %define mova movdqa. shouldn't it be vmovdqa to do a 256b move ?
[10:04] <plepere> or should I use movnta ?
[10:05] <plepere> I'm confusing myself. I'll keep things simple.
[10:14] <ubitux> plepere: i don't remember the details, you might need to explicit the 'v' for the load/store instructions
[10:14] <ubitux> at least when you want 256, otherwise it might only load 128
[10:15] <ubitux> but check anyway
[12:14] <cone-506> ffmpeg.git 03Vittorio Giovara 07master:5a69ded12aaf: vf_showinfo: print display transformation values
[12:14] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:593dc5aed907: Merge commit '5a69ded12aaf2bd3baed5d1d644ef23cfecef87f'
[12:33] <BBB> ubitux: x86inc prefixes v to all instructions for avx
[12:33] <BBB> plepere: ^^
[12:33] <BBB> plepere: so dont prefic the v yourself, it defeats the use of macros
[12:34] <BBB> i.e. you cant share code between pre-avx and post-avx anymore
[12:34] <BBB> thats also why m%d macros for xmm1/mm1 exist, to share code macros between mmx/xmm
[12:35] <kierank> plepere: I think you should also add 3-operand to your existing functions
[12:36] <kierank> it would explain the macro stuff better
[12:36] <kierank> if not I'll try with your mc functions this evening
[12:42] <ubitux> BBB: even for loads?
[12:48] <BBB> I believe so?
[12:50] <BBB> yeah, check e.g. the avx2 intrapred functions in vp9intrapred.asm
[12:50] <BBB> they use mova and need 32bytes of data
[12:52] <BBB> and disass shows vmovdqa
[12:54] <cone-506> ffmpeg.git 03Vittorio Giovara 07master:2dc265619a2f: lavf: group dump functions together
[12:54] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:83d100baea7a: Merge commit '2dc265619a2fc9c6f9aff7ac2bcdbcb90e9610cb'
[12:54] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:7b7afaf849ef: avformat/dump: put copyright back from the file from which dump.c was split out
[13:03] <cone-506> ffmpeg.git 03Vittorio Giovara 07master:711aa2a82727: lavf: dump stream side data when probing
[13:03] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:f0fbd9105bc1: Merge commit '711aa2a82727907f778fb8aa9a93aff2120170f2'
[13:13] <cone-506> ffmpeg.git 03Vittorio Giovara 07master:766f2d965ff1: gitignore: add dylib and swp entries
[13:13] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:60058c1880f2: Merge commit '766f2d965ff1948749c37f26a714adb8aa89c4a9'
[13:16] <kierank> plepere: can you explain what this does http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/x86/hevc_mc.asm;h=5cf37d0194eed97f05225528d400974bfcac1843;hb=HEAD#l1127
[13:16] <kierank> the punpcklwd 
[13:18] <cone-506> ffmpeg.git 03Luca Barbato 07master:83aa4fc3feec: configure: Directly support Android as target OS
[13:18] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:8a4a84a70a2e: Merge commit '83aa4fc3feec7389ac781fece1e994f2dfd7ebdb'
[13:19] <plepere> kierank, it's to prepare for pshufd m2, m2, 0
[13:20] <plepere> could be replaced by SPLATW
[13:20] <plepere> that + shuf
[13:20] <kierank> so is the value in the int guaranteed to be only 16 bits
[13:20] <kierank> ?
[13:21] <plepere> yes
[13:21] <kierank> ah ok
[13:22] <kierank> you may have seen I got a bit confused and submitted a patch with splatd
[13:24] <plepere> wx could even fit in 8 bit IIRC
[13:26] <kierank> as far as I can tell those are just the block size
[13:26] <plepere> kierank, is there somewhere to see the list of 3-operand functions ? I tried to used a 3 operand paddusb and it was a no-go
[13:26] <kierank> plepere: intel manual
[13:27] <kierank> plepere: you actually already use 3 operand
[13:27] <plepere> ok. I thought it was a x264 thing. my bad
[13:27] <kierank> but you don't declare avx2 functions
[13:27] <kierank> avx*
[13:27] <kierank> plepere: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html?iid=tech_vt_tech+64-32_manuals
[13:28] <plepere> I like to use https://software.intel.com/sites/landingpage/IntrinsicsGuide/
[13:28] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:9140d37af2fa: avcodec/h264: use the correct level for droping non intra frames
[13:28] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:9025072e6c25: avcodec/h264_slice: support skipping loop filtering for non key frames
[13:29] <plepere> BBB : yes, found out that instructions like movd won't work. :(
[13:29] <BBB> what do you want movd to do?
[13:30] <plepere> have a value in a register, do an add, a shift, move to 256b register and splat it.
[13:31] <BBB> dont you use xmm instructions for lower-half operations?
[13:31] <plepere> so I do it on xm%d and do the plat on m%d .
[13:31] <plepere> ?
[13:32] <plepere> *splat
[13:34] <plepere> what I want is : I have idct16_dc_add_sse2, and I use it in a wrapper for 32 block. I want to have the idct32_dc_add_avx.
[13:37] <plepere> avx2
[13:38] <BBB> ...
[13:38] <BBB> you want to use it in a wrapper?
[13:38] <BBB> but htey do fundamentally different things
[13:39] <plepere> I have idct32_dc_add_sse2 which calls idct16_dc_add_sse2. I want a stand alone avx2 idct32
[13:39] <BBB> so movd xm%d, r%d
[13:39] <BBB> and then splat as usual, yes
[13:40] <BBB> also try to spend time on the full idct
[13:40] <BBB> dc-only isnt very interesting
[13:41] <plepere> yeah, but now I must leave the transform and see how much speed-up I can gain from AVX2 functions. I'm using the idct_dc as a simple first function
[13:41] <plepere> BTW, SPLATW doesn't work in AVX2
[13:42] <plepere> going to do splatW on xm then unpack128
[13:45] <plepere> meh, even splatw on xm doesn't work.
[13:49] <plepere> BBB ;     vmovdqa           m3, [%2+%3  ] is unauthorised ?
[13:49] <plepere> the compiler doesn't like the '+'
[13:51] <BBB> I dont know what %2 and %3 is
[13:52] <plepere> r2 and r3
[13:54] <BBB> first of all, use mova
[13:54] <BBB> not vmovdqa
[13:54] <BBB> second, what INIT_ statement did you use?
[13:54] <BBB> i.e. what is m3?
[13:54] <BBB> or show full code?
[13:55] <BBB> Im purely guessing as to what this code will actually expand to
[13:55] <plepere> wait, I think precising q at the end of the register name fixes it
[13:56] <plepere> no, I'm just an idiot. I forgot I changed the arguments of the macro.
[13:57] <plepere> BBB: with INIT_YMM avx2, mova will load 265b ?
[14:06] <BBB> yes
[14:06] <BBB> we just discussed that
[14:07] <BBB> also simple questions like that are best answered by trying it (write the code, compile it, disassemble it in db)
[14:10] <BBB> ok work, bbl
[14:15] <plepere> bbl
[14:28] <Youka> Is adding "/MD" to --extra-cflags enough to build ffmpeg for msvc with dynamic linking to default libraries?
[14:50] <J_Darnley> Youka: not many people here use msvc so you might need to stay here for a while if you want an answer.
[14:51] <Youka> ok, thanks for the answer
[14:58] <J_Darnley> What do you mean by "default libraries"?  The c standard library or ffmpeg's libav* libraries?
[14:59] <nevcairiel> Youka: yes that should be enough
[14:59] <Youka> i mean the runtime
[15:00] <J_Darnley> well, there you go.
[15:00] <plepere> EXTERNAL_AVX2(mm_flags) doesn't seem to work. am I missing something ?
[15:00] <nevcairiel> maybe nooone build that macro yet
[15:00] <nevcairiel> -o
[15:00] <BtbN> I'd recommend building ffmpeg with gcc, even if you want to use it with msvc. The resulting binaries are faster and more feature complete.
[15:00] <Youka> Ok, with "/MD" it not works. The resulting (partly german) error message: "c1 : fatal error C1083: Datei (Quelle) kann nicht geöffnet werden: "E:/MinGW/msys/1.0/MD": No such file or directory
[15:00] <Youka> ffconf.pauYOIwJ.c"
[15:00] <plepere> there's no warnings though...
[15:01] <nevcairiel> try -MD
[15:01] <nevcairiel> slashes can confuse some things
[15:01] <Youka> with "-MD" i have the problem with the following make: "make: Nothing to be done for 'all'"
[15:02] <Youka> So both no options :/
[15:02] <BtbN> make sure you start your mingw/cygwin command prompt from within a msvc shell, and it will generate .lib files, even when building with gcc.
[15:03] <J_Darnley> What is your full configure line then?
[15:04] <Youka> configure --prefix=build/msvc/ --disable-programs --disable-manpages --disable-podpages --disable-txtpages --disable-avdevice --disable-postproc --disable-avfilter --disable-network --disable-encoders --disable-muxers --disable-devices --disable-filters --enable-avisynth --toolchain=msvc --disable-debug --extra-cflags="-MD"
[15:05] <Youka> Without these extra cflags it's successfully compiling, but i need to use it in a project built with /MD
[15:05] <nevcairiel> run make distclean before re-running configure to ensure no stale files exist, that option should work just fine
[15:06] <plepere> welp, the i7-4930K has no AVX2 support. :/
[15:06] <J_Darnley> ... and you were wondring why the branch was not used?
[15:06] <nevcairiel> plepere: of course not, its an ivy bridge core
[15:06] <nevcairiel> only haswell has AVX2
[15:07] <plepere> I thought 4K were haswell
[15:07] <plepere> FML
[15:07] <nevcairiel> Ivy Bridge-E also uses 4k numbers, apparently
[15:07] <Youka> ok, cleaned and reconfigure with -MD, let's see...
[15:15] <Youka> Status report: make runs now, so distclean really helped.
[15:41] <ubitux> so what's the plan for ffserver?
[15:59] <merbanan> ubitux: wanna nuke it ?
[15:59] <ubitux> the opposite
[16:00] <ubitux> libav is dropping it, but since it's still used in production and has its users...
[16:01] <nevcairiel> are you volunteering to improve it then? :d
[16:01] <ubitux> not really
[16:01] <ubitux> the problem is that the drop seems to be motivated by some api breakage to come, and that will probably be a pain to maintain for us
[16:01] <wm4> <ubitux> libav is dropping it, but since it's still used in production and has its users... <- drop it and maintain an old copy of it against $$$
[16:02] <ubitux> well... you can come with the same reasoning for every tool
[16:02] <ubitux> ffserver could become an alternative to wowza & crtmpserver
[16:02] <ubitux> but well
[16:03] <ubitux> yeah we need at least a maintainer
[16:03] <Daemon404> who the fuck uses ffserver in production
[16:03] <Daemon404> they should be fired
[16:04] <Daemon404> [15:02] <@ubitux> ffserver could become an alternative to wowza & crtmpserver <-- LOL
[16:04] <Daemon404> do you have N developers and M man-years of labour to spare
[16:04] <nevcairiel> that depends on N and M
[16:04] <ubitux> depends on features you want to implement
[16:05] <Daemon404> ubitux, to be anywhere even close to competeti e with wowza
[16:05] <Daemon404> Good Luck (TM)
[16:05] <ubitux> we already kind of have some network and video layers
[16:05] <Daemon404> i think you are underestimating the amount of work it needs
[16:05] <ubitux> yeah well, at least be an alternative for a few common use cases
[16:05] <Daemon404> "kinda having" some layers isnt exactly close.
[16:06] <Daemon404> well also nobody has maintained it in years
[16:06] <Daemon404> most seem to run screaming
[16:18] <Youka> After building ffmpeg on msvc with cflag "-MD" for dynamic runtime linkage, i got my binaries, but using these for my msvc project results in link warnings like following one:
[16:18] <Youka> libavutil.a(timecode.o) : warning LNK4049: Local defined symbol "_avpriv_snprintf" was imported.
[16:18] <Youka> Now a library is created beside my application.
[16:20] <nevcairiel> its just a warning
[16:21] <Daemon404> Youka, thats known, and normal
[16:21] <Youka> ok, then i have to life with these exports.
[16:22] <kierank> Daemon404: you assume that wowza works
[16:23] <Daemon404> kierank, ive tried it personally
[16:23] <kierank> i'm sorry
[16:23] <Daemon404> it's the best working solution for multiplexing a stream to N otehr tpyes of protocls
[16:24] <kierank> it doesn't work at scale
[16:24] <kierank> it's too bursy
[16:24] <kierank> bursty
[16:24] <Daemon404> oic
[16:24] <Daemon404> we never actually ended up using it
[16:29] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:7eae8cd87054: avcodec/h264: fix frame skip code
[17:35] <ubitux> Timothy_Gu: are these underlined links all over fate wanted?
[17:36] <Timothy_Gu> Yeah, the links are wanted
[17:36] <ubitux> i'm talking about the underline
[17:36] <ubitux> everything is now underlined it's almost unreadable
[17:36] <Timothy_Gu> well links == underline
[17:36] <ubitux> yeah but no
[17:37] <Timothy_Gu> i also know it masked the green or red status
[17:37] <Timothy_Gu> which is bad
[17:37] <ubitux> btw, there is something extremely annoying
[17:37] <ubitux> look at the darwing failure
[17:37] <ubitux> "(TB)"
[17:37] <ubitux> try to unroll it 
[17:37] <ubitux> it create a freaking horizontal scroll
[17:37] <ubitux> +s
[17:38] <ubitux> it's annoying as hell
[17:38] <ubitux> would it be possible to overflow-y inside the report block
[17:38] <ubitux> instead of the whole page?
[17:39] <Timothy_Gu> i was trying to fix that with the fate.css patch
[17:39] <Timothy_Gu> but obviously it doesnt work so well...
[17:39] <ubitux> anyway, please remove the underline, it really sucks :p
[17:41] <Timothy_Gu> the fate.css patch only changed the diff box, not the log box. I'll change that when i have time
[17:45] <Timothy_Gu> I can probably fix the underline just like the link in thr table headers
[18:12] <cone-506> ffmpeg.git 03Carl Eugen Hoyos 07master:189ffeafd423: Force aix strip to work on 32 and 64 bit by default.
[20:07] <kierank> llogan: wtf  rlynettet1 at aol.com
[20:07] <kierank> didn't know ffmpeg-devel was general tech support
[20:09] <llogan> kierank: i also wtf'd, then set modrator flag, then s/he emailed -devel-owner and i explained the situation.
[20:10] <kierank> do you know this person
[20:10] <llogan> no
[20:11] <llogan> "I joined the ffmpeg site because another young lady asked for the same help & she was in contact with ffmpeg the site answered her question and posted everything. So l in turn followed."
[20:11] <kierank> wtf
[20:12] <llogan> must be a crazy person.
[20:12] <Daemon404> http://theoatmeal.com/comics/email_address
[20:12] <Daemon404> this is relevant
[20:12] <llogan> i forwarded her to libav-tools.
[20:12] Action: llogan is lying
[20:15] <llogan> Daemon404: nice, but needs to add: * enters their own email address as subject
[20:16] <Daemon404> lol
[20:16] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:600cbf367231: avcodec/bitstream: zero vlc tables on allocation
[20:17] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:f7f96cf4bcc3: avcodec/bitstream: fill invalid vlc tables entries as last pass instead of first
[20:17] <cone-506> ffmpeg.git 03Michael Niedermayer 07master:e6f9fc4adc16: avcodec/bitstream: try to make vlc init code inherently thread safe
[20:26] <cone-506> ffmpeg.git 03Simon Thelen 07master:389d45351e06: version string: add copyright line to version string
[20:46] <kurosu> "another young lady" <- I sense an oxymoron
[23:03] <Mista-D> why is it that when using "-vf null", then "-c copy" is forbidden? It should be just a pass through no?
[23:04] <wm4> video filters only work on uncompressed video frames
[23:34] <cone-497> ffmpeg.git 03Michael Niedermayer 07master:293d5d7a8e12: swscale/input: fix harmless integer overflow
[00:00] --- Tue Jun 17 2014


More information about the Ffmpeg-devel-irc mailing list