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

burek burek021 at gmail.com
Tue Jan 10 02:05:02 CET 2012

[00:00] <durandal_1707> OanaStratulat_: you for got to set old version to new version
[00:01] <OanaStratulat_> s->version = version ?
[00:02] <durandal_1707> also you need to check for s->frame.data[0] before calling release_buffer()
[00:02] <OanaStratulat_> ok step by step
[00:02] <OanaStratulat_> 1st i put s->version = version ; ?
[00:02] <durandal_1707> that is very trivial step
[00:03] <durandal_1707> also if version is -1 you just set version to new one and do not call release_buffer
[00:04] <durandal_1707> to keep code compatible with previous incarnation
[00:04] <durandal_1707> may not be needed
[00:04] <durandal_1707> and make sure valid fraps files still plays
[00:06] <OanaStratulat_> valid fraps file work
[00:08] <OanaStratulat_> durandal_1707: http://pastebin.com/5DWNha0E like this is good?
[00:12] <durandal_1707> OanaStratulat_: you would still get bogus message for only one version files 
[00:13] <OanaStratulat_> what is wrong in my code?
[00:14] <durandal_1707> do you get message when playing valid fraps file?
[00:14] <OanaStratulat_> no
[00:14] <durandal_1707> tray "-v info"
[00:15] <OanaStratulat_> http://pastebin.com/Zn0kuddA
[00:15] <OanaStratulat_> with valid fraps file
[00:15] <durandal_1707> Message should not be there
[00:16] <OanaStratulat_> ok
[00:16] <OanaStratulat_> how can i change that?
[00:17] <durandal_1707> i already said
[00:17] <durandal_1707> add version to FrapsContext
[00:17] <durandal_1707> initialiize s->version to -1 in decode_init
[00:18] <durandal_1707> compare version with s-version in decode_frame
[00:18] <OanaStratulat_> http://pastebin.com/hNGazZwr
[00:18] <OanaStratulat_> liek this
[00:18] <OanaStratulat_> it does not output the message and stops the crash for invalid file
[00:19] <durandal_1707> yes but it can still be improved to be smaller
[00:20] <OanaStratulat_> must  it ?:(
[00:24] <durandal_1707> http://pastebin.com/FVXWPZUM
[00:24] <OanaStratulat_> thx
[00:25] <OanaStratulat_> how can i reset my git to origin
[00:25] <OanaStratulat_> to be like after clone ?
[00:25] <durandal_1707> why are you not using multiple branches?
[00:25] <OanaStratulat_> it`s a bit complicated 
[00:25] <OanaStratulat_> i just started using git
[00:26] <durandal_1707> just now?
[00:26] <OanaStratulat_> not just now, 2 weeks i have of git 
[00:26] <OanaStratulat_> i think
[00:26] <cbsrobot> OanaStratulat_: and add aspace after !=
[00:27] <durandal_1707> OanaStratulat_: you can use rebase
[00:28] <durandal_1707> you can look for commits like this:
[00:28] <durandal_1707> git log --pretty=oneline --graph
[00:29] <durandal_1707> than pick commit before your one
[00:29] <OanaStratulat_> durandal_1707: cbsrobot http://pastebin.com/BRjxi9Ye my diff is good ./
[00:29] <durandal_1707> and do: git rebase -i #commit
[00:36] <cbsrobot> LGTM
[00:37] <OanaStratulat_> michaelni: http://www.google-melange.com/gci/task/view/google/gci2011/7195360 awaiting review, marked as completed
[01:11] <ubitux> michaelni: i'm not sure but i think c8e309c2a6d32f8394770d0418b5fcef531b7efb may have introduced a leak according to the valgrind fate box
[01:11] <ubitux> (we have a lot more failing tests)
[01:13] <michaelni> ubitux,i forgot a line of code
[01:15] <michaelni> will be fixed in a moment
[01:19] <ubitux> thx; also, wasn't the other leak (lavfi related) supposed to be fixed? i thought i see a thread and a fix about that?
[01:26] <michaelni> where ?
[01:26] <michaelni> what subj ?
[01:28] Action: michaelni kicks CIA-101 
[01:28] <CIA-101> ow
[01:28] Action: ohsix fellates CIA-101
[01:28] <ohsix> they didn't think of that one
[01:29] <ubitux> i may have confused with http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2011-December/117750.html
[01:29] <ubitux> so just my imagination
[01:32] <OanaStratulat> michaelni: ff_interleave_add_packet what this function do ?
[01:41] <OanaStratulat> ubitux: ping
[01:45] <ubitux> OanaStratulat: there is a description above the prototype
[01:45] <ubitux> in lavf/internal.h
[01:47] <OanaStratulat> ubitux: want to work on https://ffmpeg.org/trac/ffmpeg/ticket/890 
[01:50] <durandal_1707> you have more such files?
[01:51] <OanaStratulat> durandal_1707: fuzzed files?
[01:51] <durandal_1707> which cause oom and segfaults
[01:51] <OanaStratulat> this is the last one that i have
[01:52] <OanaStratulat> oom? what does it mean?
[01:52] <OanaStratulat> ubitux: from the BT i see it hangs in av_interleave_packet_per_dts 
[01:52] <durandal_1707> out of memory
[01:53] <durandal_1707> OanaStratulat: so you are volunteering now?
[01:54] <OanaStratulat> durandal_1707: working on a task for gci
[01:54] <ubitux> OanaStratulat: i'm a bit too tired to start working on sth right now, i've to wake up in 5h to go to work :p
[01:54] <ubitux> good luck, 'night
[01:54] <OanaStratulat> ubitux: okok, 2morrow have time?
[01:54] <ubitux> dunno
[01:54] <durandal_1707> but no more open slot for fixing bugs
[01:55] <OanaStratulat> durandal_1707: why no open slots?
[01:55] <OanaStratulat> durandal_1707: 1st of all what do you mean by this ? i think i took the last bug closing task
[01:55] <durandal_1707> dunno if new can be opened
[01:56] <OanaStratulat> but i have claimed the last one
[01:56] <OanaStratulat> i can work on it, and take points for gci
[02:18] <ibkanat> I am trying to key out snow I was wondering if I could use lutyuv to filter it out is this possbile
[02:53] <compn> what do you mean key out?
[02:53] <compn> only output keyframes?
[02:54] <compn> ibkanat: 
[02:54] <ibkanat> no get rig of the white snow.... would lutyuv or boxblur work
[02:54] <ibkanat> turn it to aslpha
[02:54] <ibkanat> only leave the skiier
[02:55] <ibkanat> ffmpeg -threads 4 -i HDV_0037.MP4 -r 2 -f image2 ./proxy/image_%4d.png
[02:56] <ibkanat> here is my current command I am taking the video and keying out the snow leaving the skiier to pngs
[02:56] <ibkanat> compn: any ideas
[02:57] <compn> ohhh
[02:58] <compn> no idea , sorry, maybe someone else will have an idea
[02:58] <compn> you want to dynamically crop a moving person
[02:59] <ibkanat> I am trying to just key out the snow... the rest of the magic will happen in Blender
[03:02] <ibkanat> so can frei0r filter be used from the command line?
[03:46] <CIA-46> ffmpeg: 03Michael Niedermayer 07master * r444632eae6 10ffmpeg/libavcodec/x86/cabac.h: 
[03:46] <CIA-46> ffmpeg: cabac: Disable get_cabac_inline_x86() for clang 2.9 on x86_32
[03:46] <CIA-46> ffmpeg: This should finally fix the compilation issue on darwin
[03:46] <CIA-46> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:46] <CIA-46> ffmpeg: 03Michael Niedermayer 07master * r2138a89e71 10ffmpeg/libavcodec/x86/ (cabac.h h264_i386.h): 
[03:46] <CIA-46> ffmpeg: Revert "Revert commit 599b4c6efddaed33b1667c386b34b07729ba732b"
[03:46] <CIA-46> ffmpeg: This reverts commit c4f237a98175438e76da64c51cc6fe613f8d767e.
[03:46] <CIA-46> ffmpeg: This didnt fix compilation on darwin with current clang.
[04:41] <CIA-46> ffmpeg: 03Michael Niedermayer 07master * r3e9668501d 10ffmpeg/tests/fate/microsoft.mak: 
[04:41] <CIA-46> ffmpeg: fate: add bitexact and idct to x8intra
[04:41] <CIA-46> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[04:41] <CIA-46> ffmpeg: 03Marton Balint 07master * r741aca7936 10ffmpeg/ (ffmpeg.c libswresample/resample.c libswresample/swresample.h): 
[04:41] <CIA-46> ffmpeg: libswresample: introduce int swr_set_compensation() instead of void swr_compensate()
[04:41] <CIA-46> ffmpeg: The new version returns AVERROR(EINVAL) is the specified paramters are invalid,
[04:41] <CIA-46> ffmpeg: and also creates the resampler if none was used so far.
[04:41] <CIA-46> ffmpeg: Signed-off-by: Marton Balint <cus at passwd.hu>
[04:41] <CIA-46> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[10:44] <ubitux> bcoudurier: i will certainly introduce flags in the ff_timecode struct (for negative or +24h support, and move the drop flag in it) for the new API, but for now are you ok with the builtin 24h support?
[10:57] <cbsrobot> ubitux: any reason timecode struct in timecode.h and not in avcodec.h ?
[10:57] <cbsrobot> similar to subtitle context ?
[10:58] <ubitux> it's not public
[10:58] <cbsrobot> ah ok
[10:58] <ubitux> it will be move to avutil.h (or maybe somewhere else?)
[10:59] <ubitux> anyway the api need to be reworked
[11:00] <cbsrobot> while fixing the timecode stream copy I saw that some application puts information in udat atom (user data)
[11:01] <cbsrobot> is there a simple way to copy that too ?
[11:01] <cbsrobot> I was thinking using metadata - but I think it's too hacky
[11:04] <CIA-46> ffmpeg: 03Reimar Döffinger 07master * refd6b80b40 10ffmpeg/libavformat/rawdec.c: 
[11:04] <CIA-46> ffmpeg: rawdec: use av_shrink_packet.
[11:04] <CIA-46> ffmpeg: This fixes reads of uninitialized data by the parser when running
[11:04] <CIA-46> ffmpeg: FATE sample h264-conformance/SL1_SVA_B.264.
[11:04] <CIA-46> ffmpeg: Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
[11:04] <CIA-46> ffmpeg: 03Reimar Döffinger 07master * r4231bbbf4c 10ffmpeg/libavcodec/sgidec.c: 
[11:04] <CIA-46> ffmpeg: sgidec: make compiler optimize away memcpy call in inner loop.
[11:04] <CIA-46> ffmpeg: Using an always_inline function makes the memcpy length a constant,
[11:04] <CIA-46> ffmpeg: any reasonable compiler will replace it by a single mov instruction
[11:04] <CIA-46> ffmpeg: without us having to duplicate the actual code.
[11:04] <CIA-46> ffmpeg: Signed-off-by: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
[13:47] <CIA-46> ffmpeg: 03Stefano Sabatini 07master * r48f37b1d21 10ffmpeg/ffprobe.c: 
[13:47] <CIA-46> ffmpeg: ffprobe: implement generic reindent logic in the JSON writer
[13:47] <CIA-46> ffmpeg: Clarify/generalize indent logic.
[13:47] <CIA-46> ffmpeg: 03Stefano Sabatini 07master * r3b1355bb93 10ffmpeg/ffprobe.c: 
[13:47] <CIA-46> ffmpeg: ffprobe: change formatting logic in the JSON writer
[13:47] <CIA-46> ffmpeg: Print a "\n" at the end of each section, also print the section name in
[13:47] <CIA-46> ffmpeg: the section print function, print the chapter name only in case the
[13:47] <CIA-46> ffmpeg: chapter contains multiple entries.
[13:47] <CIA-46> ffmpeg: Increase textual output readability - different sections can be
[13:47] <CIA-46> ffmpeg: distinguished more easily.
[13:56] <ubitux> saste: where would you see the dB parsing helper?
[13:57] <ubitux> saste: btw, another question: don't you think xml & json could have a indent opt (with default 4, and eventually a -1 for a compact stripped output with no \n)
[13:57] <ubitux> +?
[13:58] <saste> ubitux: dB... maybe a new file => libavfilter/audioutils.c
[13:58] <saste> ubitux: or maybe an helper in libavutil, but seems overkill
[13:58] <ubitux> what about another AV_OPT_TYPE option?
[13:59] <saste> and yes xml and json may define the indent parameter, wait because i'm writing a patch on json which add options support
[13:59] <ubitux> (that's what you mean by lavu maybe?)
[13:59] <ubitux> ok ok :)
[16:06] <CIA-46> ffmpeg: 03Michael Niedermayer 07master * rf247f4cf47 10ffmpeg/libavcodec/x86/cabac.h: 
[16:06] <CIA-46> ffmpeg: cabac: 3rd try at working around a compiler bug in clang.
[16:06] <CIA-46> ffmpeg: Switch to a broader detection of versions.
[16:06] <CIA-46> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[18:26] <ubitux> don't we have a way to put url in amovie=...?
[18:27] <ubitux> sth like -f lavfi -i "movie=http\\://example.org,..."
[18:48] <saste> ubitux: yes but beware of the double escaping
[18:54] <ubitux> mmh indeed, thx
[20:57] <OanaStratulat> ubitux:  ping
[21:01] <OanaStratulat> michaelni: ping
[21:12] <durandal_1707> hey
[21:13] <OanaStratulat> durandal_1707: hello
[21:13] <OanaStratulat> durandal_1707: have some spare time to mentor me a bit on a bug?
[21:17] <durandal_1707> what bug?
[21:17] <OanaStratulat> https://ffmpeg.org/trac/ffmpeg/ticket/890
[21:17] <OanaStratulat> it`s a hang
[21:19] <OanaStratulat> durandal_1707: the hang is in utils.c in function av_interleave_packet_per_dts() line 3422
[21:21] <durandal_1707> hmm that number point out of that function
[21:22] <OanaStratulat> i`ve put an av_log() in that if(pkt){} and it`s keep repeating and killing memory
[21:22] <durandal_1707> ff_interleave_add_packet()?
[21:23] <OanaStratulat> http://pastebin.com/CJAUkHv2
[21:23] <OanaStratulat> yes
[21:23] <OanaStratulat> like this
[21:30] <durandal_1707> it looks to be bug in avi demuxer
[21:31] <durandal_1707> could you get full bt?
[21:32] <OanaStratulat> durandal_1707: http://pastebin.com/fZ1w06BM
[21:33] <durandal_1707> valgrind output mentions use of uninitialized value can you found location of such value?
[21:35] <OanaStratulat> it says here out[i * 3 + 2] = c->pal[(*src) * 3 + 2];
[21:36] <OanaStratulat> uint8_t what format does it have
[21:37] <durandal_1707> is out uninitailized or c->pal ?
[21:38] <OanaStratulat> i want to av_log them to see
[21:38] <durandal_1707> uint8_t is unsigned byte
[21:38] <durandal_1707> no need for av_log
[21:38] <durandal_1707> valgrind should report what is used uninitialized
[21:40] <OanaStratulat> durandal_1707: http://pastebin.com/SYa2UyGU this is the valgrind report
[21:40] <OanaStratulat> but i cannot see which var is unitialized
[21:40] <durandal_1707> find where address in valgrind output points to 
[21:41] <OanaStratulat> how can i check that/
[21:41] <durandal_1707> additionaly you could use gdb and add break points
[21:42] <durandal_1707> have you compiled with disabled optimizations?
[21:42] <OanaStratulat> no, it`s full i think
[21:42] <OanaStratulat> make it without optimizations 
[21:42] <OanaStratulat> ?
[21:45] <durandal_1707> to properly debug something with valgrind/gdb it is better to disable optimizations
[21:47] <durandal_1707> from same valgrind output "Use --track-origins=yes to see where uninitialised values come from"
[21:48] <durandal_1707> uninitalized value may be false positive so it is better to use valgrind with unoptimized code
[21:49] <OanaStratulat> durandal_1707: http://pastebin.com/ALVS7uJm this is my valgrind now
[21:49] <OanaStratulat> with --track-origins=yes
[21:59] <durandal_1707> so what you see?
[22:00] <OanaStratulat> 1st what is a heap allocation ?
[22:01] <durandal_1707> http://ee.hawaii.edu/~tep/EE160/Book/chap14/subsection2.1.1.8.html
[22:02] <durandal_1707> so c->src is on heap
[22:03] <durandal_1707> c->cur actually
[22:03] <durandal_1707> src is on stack
[22:03] <durandal_1707> src = c->src;
[22:03] <OanaStratulat> yes
[22:03] <durandal_1707> src = c->cur;
[22:04] <OanaStratulat> so src is not initialized as you say
[22:04] <durandal_1707> no src is initialized with c->cur which is not initialized
[22:04] <durandal_1707> perhaps first frame in stream is not keyframe
[22:05] <OanaStratulat> keyframe meaning?
[22:06] <durandal_1707> http://en.wikipedia.org/wiki/I-frame
[22:07] <OanaStratulat> somethink like a pre-frame to know how to decode the rest?
[22:08] <durandal_1707> c->cur is initialized only for I-frame (keyframes)
[22:08] <durandal_1707> there is no point to use it if it is uninitialized
[22:09] <OanaStratulat> so i should check if the current frame is a keyframe no?
[22:10] <durandal_1707> you chould fix use of uninitialized value
[22:10] <durandal_1707> c->cur should not be used if it is not initialized
[22:10] <OanaStratulat> and src with what must be init
[22:11] <durandal_1707> c->cur is initialized on line 489
[22:13] <OanaStratulat> i should check av_realloc_f() no ?
[22:13] <OanaStratulat> michaelni: ping
[22:14] <durandal_1707> OanaStratulat: av_realloc.. it is already cheched
[22:15] <durandal_1707> initialze prev and cur pointers of ZmbvContext to NULL
[22:17] <OanaStratulat> durandal_1707: http://pastebin.com/teGaHQ7B
[22:17] <OanaStratulat> durandal_1707: for http://pastebin.com/uut7E0pE 
[22:20] <durandal_1707> wrong location
[22:20] <OanaStratulat> where to put it ?
[22:20] <durandal_1707> it also leaks memory
[22:23] <durandal_1707> OanaStratulat: try in decode_init()
[22:25] <OanaStratulat> and check for what before setting them to NULL ?
[22:25] <OanaStratulat> if i check for zmbv_keyframe it is defined to 1 
[22:27] <durandal_1707> initialize them to NULL in decode_init
[22:27] <durandal_1707> and check if they are not NULL in decode_frame, where src is
[22:32] <OanaStratulat> check for both? like if( c->cur == null && c->prev == null) av_log() and relase buffer?
[22:34] <durandal_1707> dunno for release_buffer. but you should returm immediately with AV_ERROR(EIO) maybe
[22:35] <CIA-46> ffmpeg: 03Paul B Mahol 07master * re20a4881ff 10ffmpeg/libavcodec/pngdec.c: pngdec: show verbose message for unsupported files
[22:36] <CIA-46> ffmpeg: 03Clément BSsch 07master * r625751c47a 10ffmpeg/libavutil/log.c: log: use a different color for debug (green).
[22:38] <OanaStratulat> durandal_1707: it does not work, http://pastebin.com/9KMmkK4v doing like this
[22:39] <durandal_1707> OanaStratulat: have you initialized c->cur to NULL in decode_init ?
[22:39] <CIA-46> ffmpeg: 03Carl Eugen Hoyos 07master * rceb0dd9f1e 10ffmpeg/libavcodec/sunrast.c: 
[22:39] <CIA-46> ffmpeg: Support decoding 1bpp and 4bpp palettized sunrast images.
[22:39] <CIA-46> ffmpeg: Fixes ticket #864 and ticket #897.
[22:39] <OanaStratulat> yes
[22:40] <durandal_1707> paste full diff
[22:41] <OanaStratulat> http://pastebin.com/mzZKaHHU
[22:44] <durandal_1707> paste output of ffmpeg -v debug .... which caus oom
[22:45] <OanaStratulat> http://pastebin.com/Ly5PmKxf
[22:53] <durandal_1707> looks like bug is not in zmbv and valgrind report is wrong
[22:54] <OanaStratulat> mhmh
[22:54] <OanaStratulat> i think the bug is in utils.c
[22:54] <OanaStratulat> in av_interleave_packet_per_dts()
[22:54] <OanaStratulat> the pkt var never goes negative, it is stuck there
[23:05] <OanaStratulat> durandal_1707: any thought on that?
[23:07] <OanaStratulat> ubitux: ping
[23:54] <OanaStra_> durandal_1707: ping
[23:56] <durandal_1707> OanaStra_: pong
[23:56] <OanaStra_> have you look into that bug ?
[23:56] <OanaStra_> in the function i have pointed out/
[23:56] <durandal_1707> no, i got scared and run away
[23:57] <OanaStra_> :(
[00:00] --- Tue Jan 10 2012

More information about the Ffmpeg-devel-irc mailing list