[00:38] <cone-826> ffmpeg.git 03Michael Niedermayer 07master:c443689afbb3: avformat/movenc: use av_freep() instead of av_free() except for local variables before return [00:47] <durandal_1707> michaelni: so you are now reporting CVE candidates? [01:05] <michaelni> durandal_1707, you make it sound like theres something new about that [01:07] <cone-826> ffmpeg.git 03Michael Niedermayer 07master:8bb11c3ca77b: avcodec/jpeg2000dec: Check cdx/y values more carefully [01:08] <durandal_1707> well, i get impression others reported it in past [01:09] <beastd> michaelni: You have some security mechanism in place for creation of the web pages? [01:09] <beastd> remote: ok/Makefile Makefile differ: char 169, line 4 [01:10] <beastd> I pushed archive page as requested by ubitux and durandal_1707 . So I had to add a new source to the Makefile. [01:11] <ubitux> thx :) [01:11] <michaelni> beastd, yes [01:12] <beastd> michaelni: what is the procedure? should i change the ref file on the web server and rebuild? [01:12] <michaelni> i think so [01:13] <beastd> ubitux: np. i do not think creating a news archive is related to adding a new entry. but you got me with hat one :) [01:13] <ubitux> :) [01:14] <michaelni> durandal_1707, true, most where, not all though [01:15] <durandal_1707> where are news older than 2007? [01:16] <beastd> dunno [01:16] <ubitux> in the git log maybe [01:17] <durandal_1707> oldest commits is from 2011 [01:17] <durandal_1707> so i think i should use other tools... [01:18] <ubitux> archive.org ? [01:18] <durandal_1707> no, TARDIS [01:19] <ubitux> wow it was in php [01:19] <ubitux> http://web.archive.org/web/20020922011917/http://ffmpeg.sourceforge.net/ [01:19] <ubitux> (later) [01:20] <durandal_1707> omg, what i missed [01:20] <ubitux> and it was written "FFMpeg" [01:20] <ubitux> heresy! [01:21] <ubitux> http://web.archive.org/web/20050301010331/http://ffmpeg.sourceforge.net/inde... [01:21] <beastd> ok ppl, archive page is online. will go to sleep now. [01:21] <beastd> see you [01:22] <ubitux> http://web.archive.org/web/20070116171005/http://ffmpeg.mplayerhq.hu/ moar news [01:22] <ubitux> durandal_1707: i guess this one provides you the missing bits: http://web.archive.org/web/20081119203954/http://ffmpeg.org/ [01:27] <durandal_1707> perhaps missing archive entries should be added back? [03:19] <cone-826> ffmpeg.git 03Carl Eugen Hoyos 07master:2baa12f1d194: Fix dependencies for h263 vaapi decoder. [04:57] <cone-826> ffmpeg.git 03Michael Niedermayer 07master:16a0d75c769a: avcodec/mjpegdec: fix overread in find_marker() [07:26] <BBB> and back from vacation [07:26] <BBB> ubitux: any news? :) [09:12] <ubitux> BBB: well i was mostly trying to get a better picture of the whole thing so i wasn't very^Wat all productive [09:14] <ubitux> i'll have a few questions in a few hours [09:36] <BBB> ubitux: booh! well anyway [09:36] <BBB> ubitux: yes ask qs [09:58] <BBB> ubitux: or at least let me know how far you are, we can split work for particular tasks if you want [09:58] <BBB> e.g. I can do sub8x8 bitstream parsing and confirm at least all that works [09:58] <BBB> ubitux: or something along those lines [10:42] Action: BBB gives ubitux a big fat poke [10:43] <ubitux> BBB: i was on sub8x8, which was as you said similar to the VP8_SPLITMVMODE thing [10:44] <BBB> bitstream parsing? or reconstruction? [10:44] <ubitux> but i dont know how i'm suppose to test this [10:44] <BBB> (or both?) [10:44] <ubitux> it was the reconstruction; but i guess i have the bitstream parsing to do too (first), right? [10:44] <BBB> yes [10:44] <BBB> otherwise reconstruction will never trigger, I suppose [10:44] <ubitux> i saw that code triggered once, but probably a bug [10:45] <ubitux> anyway, where is that supposed to be done? [10:45] <BBB> if (b->bl == BL_8X8 && b->bp == PARTITION_NONE) { [10:45] <BBB> // sub8x8 mode/mv coding [10:45] <BBB> // inter mode ctx = inter_mode_ctx_lut[a_mode][l_mode]; [10:45] <BBB> printf("Inter sub8x8 mode/mv coding not yet done\n"); [10:45] <BBB> return -1; [10:45] <ubitux> (sorry i'm a bit lost at the overall codec) [10:45] <BBB> line 1455 [10:45] <ubitux> ok [10:45] <BBB> you basically do the inter equivalent of the intra coding in line 1080-1120 [10:46] <BBB> that is, parse one inter mode (see line 1421-1426), then parse one mv (if newmv), then parse the second inter mode, next mv (if newmv), etc. [10:47] <BBB> either twice (for PARTITION_H/V) or 4x (for PARTITION_SPLIT) [10:47] <BBB> you also need a small extension to find_ref_mvs() to be sub8x8 compatible [10:47] <BBB> I can point out what's missing in our code or the relevant code in libvpx so you can figure it out yourself [10:48] <ubitux> that would help [10:48] <ubitux> (in libvpx) [10:48] <ubitux> (i need a reference somehow...) [10:49] <BBB> vp9/common/vp9_mvref_common.c [10:50] <BBB> see calls to get_sub_block_mv() [10:50] <ubitux> i see, thx [10:50] <BBB> block index is 0 (topleft), 1 (topright), 2 (bottomleft) or 3 (bottomright 4x4 subblock in a 8x8 parent block) [10:50] <BBB> if the blocks are 4x8, only 0 and 1 exist [10:50] <BBB> if the blocks are 8x4, only 0 and 2 exist [10:50] <ubitux> btw, i looked a bit at the vp9 ml; there is not much info [10:51] <ubitux> i found some kind of xml draft for overall design, but not sure if accurate and really up-to-date [10:51] <BBB> the direct neighbours are filled in vp9_append_sub8x8_mvs_for_idx() in vp9/common/vp9_findnearmv.c [10:51] <ubitux> ok [10:51] <BBB> basically what it does is look for direct left and/or direct above neighbour (if we're not subblock 0) [10:52] <BBB> so for block 1, the direct left would be block 0 [10:52] <BBB> for block 2, the direct above would be 0 [10:52] <BBB> for block 3, the direct left is 2 and above is 1 [10:52] <BBB> then after that it calls find_ref_mvs (ffvp9) / vp9_find_mv_refs_idx (libvpx) to fill in the more distant mv references [10:53] <BBB> for sub8x8, it is subblock aware for the direct left/above neighbours [10:53] <BBB> that is, for the left 8x8 neighbour, it uses the edge block closest to our subblock [10:53] <BBB> for 0/1, that is 1 (left), for 2/3, that is 3 (left); for 0/2, that is 2 (above) and the 1/3, that is 3 (above) [10:53] <ubitux> it's still using mv from a maximum of 3 ref frames? (from a maximum of a pool of 8 frames?) [10:53] <BBB> of course all of this matters only if these blocks use sub9x8x8 coding [10:53] <BBB> yes [10:54] <ubitux> why limit the limit to 3 ref frames when there is 8 frames cached? [10:54] <BBB> no idea [10:54] <ubitux> ok [10:54] <BBB> :-p [10:54] <ubitux> :) [10:55] <ubitux> ok well, i'll try to make a report of my progress in ~12 hours [10:55] <ubitux> i have to go right now [10:55] <ubitux> thx for the help [10:56] <BBB> bye [10:56] <ubitux> there is two random trivial commits in my branch if you're interested [10:56] <BBB> what do I do now? :) [10:56] <BBB> ok I'll check [10:56] <ubitux> haha [10:56] <ubitux> what do you do? i dunno; is my work that blocking for your progress? [11:02] <BBB> ubitux: well a little right? I can't get reconstruction of the first inter frame correct until sub8x8 is done, and I can't test things like bw adaptivity until after first inter frame is correct [11:02] <ubitux> erm [11:03] <ubitux> you can give me something else if that matters for your [11:03] <ubitux> -r [11:03] <ubitux> i'm just curious about how it works, but as i know near to nothing about the codec, i guess anything else will be fine [11:04] <BBB> no it's fine, I'm gonna do some intra pred simd meanwhile [11:04] <BBB> I'll hope you finish it this weekend or so [11:05] <BBB> and your patches (plus minor one by me) pushed [11:05] <ubitux> i'll do my best, but gotta go for real now [11:05] <ubitux> ok :) [11:14] <BBB> I know what I'll do, I'll add some fate tests for the vp90-2-* files [11:14] <BBB> (first frame only ofcourse) [11:45] <zidanne> How do we write S16P to fifo to be used in audio encoding for mp3lame? like this? for(int i=0;i<plane_count;i++) av_fifo_generic_write(fifo, (uint8_t *)data[i], length, NULL ); [12:28] <cone-662> ffmpeg.git 03Stefano Sabatini 07master:0be3be901196: lavf/tee: copy metadata to output chained muxers [12:28] <cone-662> ffmpeg.git 03Paul B Mahol 07master:8fbf940e1673: lavfi/tile: do not leak input frame [12:44] <cone-662> ffmpeg.git 03Paul B Mahol 07master:dd1d29bd5f31: pngdec: use av_fast_padded_malloc(z) [12:52] <durandal11707> is there filter that would repeat each frame several times? [12:54] <durandal11707> i don't think so [12:55] <iive> mp=harddup ? [12:55] <durandal11707> that was removed [12:56] <durandal11707> and it did nothing [12:56] <Daemon404> durandal11707, vf_fps? [12:56] <Daemon404> just use an integer multiple of the current framerate [12:57] Action: BBB kicks lazy Daemon404 [12:57] <durandal11707> is it supposed to work with overlay? [12:57] <durandal11707> when you want to loop single main frame over and over again [12:58] <Daemon404> oh i unno [12:58] <Daemon404> ive always used images as input [12:58] <Daemon404> not videos [12:59] <durandal11707> yes, but if you loop image it will decode over and over again [12:59] <Daemon404> ... lol [13:03] <durandal11707> i get 19 vs 28 here [13:03] <durandal11707> fps [13:10] <durandal11707> hmm, this doesn't work: ffmpeg -i bg.png -f lavfi -i testsrc -filter_complex '[0]fps=999[fps],[fps][1]overlay' [13:19] <durandal11707> because you can't seek in lavfi there is no loop filter [13:33] <cone-662> ffmpeg.git 03John Stebbins 07master:1f70a5ad284b: mov: use tkhd enabled flag to set the default track [13:33] <cone-662> ffmpeg.git 03Michael Niedermayer 07master:c6f4a3a70837: Merge commit '1f70a5ad284b33e8b3e2b40a5cb33055419781b7' [14:07] <zidanne> I am using http://pastebin.com/466tUJyd to convert S16 to S16P so I can feed it to avcodec_encode_audio for libmp3lame codec. However, encoded file is just a looping noise like a very fast shooting machine gun. Is the algorithm wrong? [14:11] <Skyler_> I'm not sure, but maybe check to be sure that linesize is in units of int16_t, rather than units of bytes? [14:12] <Skyler_> I'm not sure which it is, but if it's in bytes and you're acting on it as if it's in units of samples, the code might be wrong [14:12] <Daemon404> why not just call libavresample [14:12] <Daemon404> the lazy way~ [14:17] <cone-662> ffmpeg.git 03John Stebbins 07master:30ce289074e8: movenc: Make tkhd "enabled" flag QuickTime compatible [14:17] <cone-662> ffmpeg.git 03Michael Niedermayer 07master:800ea20cadce: Merge remote-tracking branch 'qatar/master' [14:20] <michaelni> Daemon404, any reason why you suggest avr over libswresample ? [14:22] <Daemon404> no [14:22] <Daemon404> its easier to type [14:28] <zidanne> I have tried using swr_convert but it didn't work for S16 to S16P [14:30] <zidanne> (however it worked for FLTP to S16, which was valid for another scenario) [14:35] <michaelni> zidanne, swr certainly works for s16->s16p, its a common convertion, not something obscure that isnt tested [14:36] <michaelni> zidanne, if it doesnt work for you please provide a reproduceable testcase and ill take a look [14:45] <zidanne> it crashes on "conv_AV_SAMPLE_FMT_S16_to_AV_SAMPLE_FMT_S16" [14:46] <michaelni> zidanne, how can this be reproduced ? [14:49] <zidanne> I decode an mmsh stream (asf) and I convert it into AV_SAMPLE_FMT_S16 so I can feed the audio system. At the same time, I want to have it in AV_SAMPLE_FMT_S16P too (so I can encode it into mp3). So, I use swr_convert for the "second" time but this time with the output of the previous swr_convert. So, now it converts from S16 to S16P instead of FLTP to S16. [14:51] <michaelni> zidanne, can you provide a reproduceable testcase, a small C program that causes this crash ? [14:52] <michaelni> swr doesnt crash when used by other applications [14:53] <michaelni> or if it does crash for you with ffmpeg and some command line, please provide this command line [14:57] <durandal11707> so apropos repeat filter: to be or not to be, if loop ever came out it can be deprecated [15:13] <durandal11707> or why seeking in lavfi is so hard? [15:13] <zidanne> michaelni: my bad.. I was not creating an array and assigning the output of the previous swr_convert to it's [0]. Now it didn't crash. [15:14] <durandal11707> wasn't there example in source tree [15:14] <durandal11707> so you could look at it? [15:15] <durandal11707> perhaps its not commented at all and thats why so many people are lost [15:15] <zidanne> But i still get the same audio noise. So I must be using the AVAudioFifo incorrectly.. [15:16] <durandal11707> when swr converts to s16p it returns array with pointers to array [15:17] <durandal11707> anyway why there is not function that takes AVFrame? [15:18] <zidanne> durandal11707: I was using swr_convert to convert S16 to S16P. As swr_convert always wants an array, that was my problem [15:19] <wm4> durandal11707: yeah, that'd be very useful [15:19] <wm4> durandal11707: write it [15:19] <durandal11707> wm4: i have paypal [15:20] <durandal11707> zidanne: so what you use now? link... [15:24] <Daemon404> [14:13] <@durandal11707> or why seeking in lavfi is so hard? [15:24] <Daemon404> because seekign with lavf is hard [15:24] <Daemon404> or not possible [15:24] <Daemon404> without an index. [15:24] <Daemon404> which we do not implement. [15:29] <durandal11707> let filter just call avformat_seek_frame [15:34] <wm4> durandal11707: the main problem perhaps is that you'd have to figure out the seek target PTS [15:34] <wm4> which would require information traveling backwards through the filter chain, or so [15:34] <wm4> OTOH, you could just add a seek command to the movie src [15:55] <zidanne> I think, we could have a "ffmpeg tips" page. Where we can add notes related to common mistakes, etc.. (: [16:00] <michaelni> zidanne, you can create a page for that on the ffmpeg wiki if you like [16:13] <michaelni> link to wiki: https://ffmpeg.org/trac/ffmpeg [16:14] <michaelni> shorter link : https://trac.ffmpeg.org/ [18:13] <cone-662> ffmpeg.git 03Michael Niedermayer 07master:912ce9dd2080: jpeg2000: fix dereferencing invalid pointers [18:13] <cone-662> ffmpeg.git 03Michael Niedermayer 07master:09927f3eaa93: jpeg2000: zero reslevel array on allocation [18:13] <cone-662> ffmpeg.git 03Michael Niedermayer 07master:9e477a377033: jpeg2000: fix null pointer dereference in case of malloc failure [20:15] <cone-662> ffmpeg.git 03Michael Niedermayer 07master:aadfadd784bb: avformat/redspark: check coef_off [20:46] <durandal11707> michaelni: so just report progress and do not care what is put into frame? [20:47] <michaelni> filling the otherwise uninitialized parts by copying fro the previous frame would be better [20:48] <durandal_1707> well its hard to find what is initialized and what is not [20:49] <durandal_1707> some files have multiple idats and only last one may fail [20:49] <michaelni> then just setting progress should be fine for now if it fixes the crashes and deadlocks [20:50] <durandal_1707> i can't reproduce either [20:53] <durandal_1707> so if you can test it to find out no crashes/locks happen it would be great [20:53] <ubitux> BBB: what does the b->comp bit mean? [21:12] <zidanne> How can this be possible? (: When I av_free "resampledOut" after "memcpy(ffData->data,(const uint8_t *)resampledOut,ffData->size);" I get "malloc: *** error for object 0xf5fbf5fb: pointer being freed was not allocated" [21:13] <zidanne> if I comment out free, everything works perfectly (: [21:13] <ubitux> maybe because you changed your pointer [21:14] <zidanne> The only thing is, I give the pointer to swr_convert with &resampledOut. [21:26] <zidanne> the problem was av_freep. I changed it to av_free and now it works [21:41] <cone-662> ffmpeg.git 03Alexander Strasser 07master:b329ff3d43ca: MAINTAINERS: Add my GPG fingerprint [23:09] <durandal_1707> michaelni: so you tried it? [23:14] <michaelni> durandal_1707, i can if you push the code somewhere [23:14] <michaelni> i cant test without having the code [23:15] <durandal_1707> but i think one line change is less work.... [23:16] <michaelni> do you want your code tested or do you want me to redo the debuging and fix it myself ? [23:18] <michaelni> i cant test your code without seeing your code of course [23:20] <michaelni> you dont have to push it if you dont want but if you want me to test your code you have to provide your code by some means [23:20] <durandal_1707> ok, stop typing you are wasting time [23:22] <durandal_1707> you can see "code" in png branch [23:30] <zidanne> lol (: [23:31] <michaelni> durandal_1707, no crashes or deadlocks with that file anymore and fate passed [23:42] <durandal_1707> michaelni: but asan warnings? [23:43] <michaelni> asan showed nothing [23:43] <michaelni> neither valgrind but that didnt show anything before either [23:45] <Daemon404> 36 [23:47] <durandal_1707> huh, youtube protocol....... [23:50] <ubitux> ._. [23:50] <ubitux> why didn't he asked before :( [23:50] <ubitux> we have libquvi support... :( [23:51] <durandal_1707> but this one is LGPL [23:51] <ubitux> durandal_1707: it's going to require regular updates [23:52] <ubitux> like maybe every month [23:52] <durandal_1707> than that is not really protocol... [00:00] --- Sat Aug 24 2013
participants (1)
-
burek