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

burek burek021 at gmail.com
Thu Jan 5 02:05:02 CET 2012


[00:02] <pasteeater> ubitux: i've seen a few users asking for a silence detector.
[00:02] <saste> ubitux: uhmm.. just two notes, more parsable "noise" intervals, also the tolerance threshold specification may be more flexible
[00:02] <saste> like it may support db and power values
[00:03] <saste> and yes there is a feature request for it in trac
[00:06] <ubitux> oh really?
[00:06] <ubitux> nice
[00:06] <ubitux> ok i'll try to come up with something better then
[00:06] <saste> #454
[00:07] <ubitux> thx
[00:07] <ubitux> arh and i need to do somthing with the subtitles too
[00:08] <ubitux> saste: did you reply to Nicolas about his suggestion for lavfi?
[00:08] <ubitux> can't remember the exact proposition
[00:08] <saste> ubitux: ouch, not yet
[00:08] <ubitux> i'm really not familiar enough with lavfi to make big decision
[00:09] <ubitux> so i'm lazily waiting for you guys to come up with good theory/architectural ideas :p
[00:10] <ubitux> ok got the mail, this one: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2011-December/117936.html
[00:10] <ubitux> pasteeater: what is the usage behind?
[00:11] <ubitux> the only one i see atm is for monitoring an audio live stream and detect cut/inactivity
[00:12] <ubitux> or maybe secret tracks or similar on a CD& ?
[00:12] <OanaStratulat> michaelni: ping
[00:14] <pasteeater> ubitux: i don't recall any particular reason why it was wanted.
[00:16] Action: durandal_1707 wants nice visualization filter
[00:17] <ubitux> ah yeah the visualization filter, need to get done with the spectrum one
[00:17] <ubitux> too much fun to enjoy, i think i'm going to overflow
[00:17] <durandal_1707> visualization filterS
[00:17] <michaelni> OanaStratulat, pong
[00:18] <OanaStratulat> michaelni: i want to take a FFMPEG bug closing task do you have time to discuss about it ?
[00:18] <ubitux> durandal_1707: i don't if saste started and want to finish the mylkist wrapper, but i think it could be a nice contribution ;)
[00:19] <OanaStratulat> michaelni: be right back in 2 minutes, rebooting my system
[00:20] <OanaStratulat> michaelni: i`m here. i`m now making the FFMPEG build
[00:22] <saste> ubitux: what's this milkyst thing? i tried with projectm, i have a local patch but still can't compile
[00:23] <saste> it's c++, no easy to make ffmpeg digest it
[00:25] <ubitux> milkymist/milkdrop
[00:25] <durandal_1707> projectM doesn't even work on FreeBSD last time i tried
[00:25] <ubitux> yes that's the third name
[00:25] <ubitux> can't remember even one correctly :p
[00:26] <ubitux> anyway, afaik, it's the "reference" for visualizations
[00:26] <ubitux> saste: don't we have already various c++ wrapper?
[00:28] <saste> ubitux: yes something related to android
[00:29] <ubitux> utvideo too afaik
[00:29] <saste> main problem with c++ is that it doesn't support designated init
[00:29] <ubitux> yes i don't like it at all
[00:29] <saste> but that's not a problem which can't be sorted out with a few hacks here and there
[00:39] <durandal_1707> is there any specification for dv format?
[00:39] <JEEBsv> yes, the SMPTE stuff IIRC
[00:40] <JEEBsv> those are lolpriced tho so you'll have to first find the correct spec number and then try your luck at your chinese searching skills
[00:41] <CIA-101> ffmpeg: 03Stefano Sabatini 07release/0.9 * r103cb461b0 10ffmpeg/libavfilter/vf_drawtext.c: 
[00:41] <CIA-101> ffmpeg: vf_drawtext: select YUV color for drawbox() in case YUV colorspace is used
[00:41] <CIA-101> ffmpeg: Fix box alpha rendering when a YUV colorspace is selected, in particular
[00:41] <CIA-101> ffmpeg: fix trac ticket #763.
[00:41] <CIA-101> ffmpeg: (cherry picked from commit 1858a5c25ee1ccb8089339d20138116a46cc6c77)
[00:44] <ubitux> mmh i though we had a "dB" volume parsing helper
[00:44] <durandal_1707> JEEBsv: libdv?
[00:44] <ubitux> seems there is only some code af volume& i thought we had sth similar in af pan
[00:44] <JEEBsv> durandal_1707: you asked for a _specification_
[00:45] <JEEBsv> of course there can be _implementations_ that can be easier to get a hold of
[00:45] <durandal_1707> well i'm trying to fix #217 and need _specifications_
[00:45] <JEEBsv> it's worth checking out the multimedia.cx wiki as well
[00:46] <JEEBsv> durandal_1707: good luck then, you'll just have to find the spec number and search for the pdf on your favourite search engine :3
[00:46] <JEEBsv> unless smpte or whatever has made it free
[01:09] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * r90347dabc8 10ffmpeg/ffprobe.c: 
[01:09] <CIA-101> ffmpeg: ffprobe: change order of operations in probe_file()
[01:09] <CIA-101> ffmpeg: This is required by a pending patch, also fixes a memleak due to the
[01:09] <CIA-101> ffmpeg: writer context not being closed in case of open_input_file() failure.
[01:09] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * r4c5c0609c1 10ffmpeg/ffprobe.c: ffprobe: reindent after the last commit
[01:09] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * rc972f91d5b 10ffmpeg/ffprobe.c: ffprobe: prefer av_log to fprintf(stderr)
[01:09] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * r55ed19bf3b 10ffmpeg/ffprobe.c: ffprobe: remove unused variable in show_format()
[01:09] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * rd6da16dca5 10ffmpeg/ (Changelog doc/ffprobe.texi doc/ffprobe.xsd ffprobe.c): ffprobe: add support to option -show_error
[01:39] <CIA-101> ffmpeg: 03Diego Biurrun 07master * r418f066f8c 10ffmpeg/libavcodec/snow.c: snow: Restore three mistakenly removed casts.
[01:39] <CIA-101> ffmpeg: 03Daniel Verkamp 07master * rb73ec05473 10ffmpeg/libavutil/common.h: 
[01:39] <CIA-101> ffmpeg: Add av_popcount64
[01:39] <CIA-101> ffmpeg: Signed-off-by: Janne Grunau <janne-libav at jannau.net>
[01:39] <CIA-101> ffmpeg: 03Daniel Verkamp 07master * r02e8f4272c 10ffmpeg/ (configure libavcodec/pthread.c): 
[01:39] <CIA-101> ffmpeg: win32: detect number of CPUs using affinity
[01:39] <CIA-101> ffmpeg: Signed-off-by: Janne Grunau <janne-libav at jannau.net>
[01:39] <CIA-101> ffmpeg: 03Anton Khirnov 07master * r212fd3a1f1 10ffmpeg/libavformat/utils.c: 
[01:39] <CIA-101> ffmpeg: lavf: flush decoders in avformat_find_stream_info().
[01:39] <CIA-101> ffmpeg: This means that avformat_find_stream_info() now works properly with
[01:39] <CIA-101> ffmpeg: multiple threads, so there's no need to force thread count to 1.
[01:39] <CIA-101> ffmpeg: 03Aneesh Dogra 07master * r2e70b2de58 10ffmpeg/libavcodec/dct.c: 
[01:39] <CIA-101> ffmpeg: dct: K&R formatting cosmetics
[01:39] <CIA-101> ffmpeg: Signed-off-by: Diego Biurrun <diego at biurrun.de>
[01:39] <CIA-101> ffmpeg: 03Shitiz Garg 07master * rf37b4efe03 10ffmpeg/libavcodec/dca.c: 
[01:39] <CIA-101> ffmpeg: dca: K&R formatting cosmetics
[01:39] <CIA-101> ffmpeg: Signed-off-by: Diego Biurrun <diego at biurrun.de>
[01:39] <CIA-101> ffmpeg: 03Janne Grunau 07master * rc04a954da6 10ffmpeg/ (doc/APIchanges libavutil/avutil.h): 
[01:39] <CIA-101> ffmpeg: lavu: bump lavu minor for av_popcount64
[01:39] <CIA-101> ffmpeg: cmdutils: K&R reformatting cosmetics
[01:39] <CIA-101> ffmpeg: Signed-off-by: Diego Biurrun <diego at biurrun.de>
[01:39] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * r4f1a787744 10ffmpeg/libavcodec/adxdec.c: 
[01:39] <CIA-101> ffmpeg: adxdec: Do not require extradata.
[01:39] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[01:39] <CIA-101> ffmpeg: Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
[01:39] <CIA-101> ffmpeg: 03Justin Ruggles 07master * re49d21306a 10ffmpeg/libavcodec/alac.c: 
[01:39] <CIA-101> ffmpeg: alacdec: implement the 2-pass prediction type.
[01:39] <CIA-101> ffmpeg: The reference encoder does not generate any streams using this, but the
[01:39] <CIA-101> ffmpeg: reference decoder can handle it, so we should as well.
[01:39] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * rb024209b1f 10ffmpeg/libavcodec/adx_parser.c: 
[01:40] <CIA-101> ffmpeg: adx_parser: rewrite.
[01:40] <CIA-101> ffmpeg: The previous code ended in multiple different infinite
[01:40] <CIA-101> ffmpeg: loops. See stl_ten_1_big.sfd as example with and without zzuf
[01:40] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[01:40] <CIA-101> ffmpeg: Signed-off-by: Justin Ruggles <justin.ruggles at gmail.com>
[01:40] <CIA-101> ffmpeg: 03Justin Ruggles 07master * r6fd075f180 10ffmpeg/libavcodec/adx.c: adxdec: Validate channel count to fix a division by zero.
[01:40] <CIA-101> ffmpeg: 03Justin Ruggles 07master * rbb63475aec 10ffmpeg/libavcodec/alacenc.c: 
[01:40] <CIA-101> ffmpeg: alacenc: implement the 2-pass prediction type.
[01:40] <CIA-101> ffmpeg: This isn't used by the reference encoder, but it is supported by the decoder.
[01:40] <CIA-101> ffmpeg: 03Justin Ruggles 07master * r149e1b0468 10ffmpeg/libavcodec/alacenc.c: alacenc: do not generate invalid multi-channel ALAC files
[01:41] <CIA-101> (10 lines omitted)
[02:30] <durandal_1707> isn't AVrp just reversed AJA Kona?
[02:49] <CIA-101> ffmpeg: 03Oana Stratulat 07master * r0d3a51e5d2 10ffmpeg/libavformat/electronicarts.c: 
[02:49] <CIA-101> ffmpeg: electronicarts: Fix division by zero. Fixes Ticket #793
[02:49] <CIA-101> ffmpeg: Signed-off-by: Oana Stratulat <oanaandreeastratulat at gmail.com>
[02:49] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[04:31] <stpere> hi
[04:31] <stpere> I've sent a patch to ffmpeg-devel at ..
[04:51] <michaelni> stpere, do you have a sample als file for testing ?
[04:51] <michaelni> from a quick look the patch makes sense
[04:52] <stpere> well, I don't have a file honestly
[04:53] <stpere> and maybe the logic isn't perfect nor good..
[04:53] <stpere> but in any cases, if it did fall into this loop, I can't see how it could play.
[04:53] <stpere> :)
[04:53] <stpere> I'll try to find one
[04:54] <michaelni> ill mail the author of alsdec
[04:55] <stpere> thanks!
[05:04] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * r6072a19b4f 10ffmpeg/libavformat/utils.c: 
[05:04] <CIA-101> ffmpeg: lavf: Fix try_decode_frame() so it doesnt loop infinitely.
[05:04] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[05:04] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * rf37174bc19 10ffmpeg/libavformat/electronicarts.c: 
[05:04] <CIA-101> ffmpeg: electronicarts: Pass error through ea_read_header().
[05:04] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[05:23] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * r15b219fae9 10ffmpeg/libavcodec/mjpegdec.c: 
[05:23] <CIA-101> ffmpeg: jpegdec: Fix vlc table check for progressive jpegs.
[05:23] <CIA-101> ffmpeg: Fixes Ticket834
[05:23] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[09:52] <OanaStratulat> michaelni: ping
[10:59] <Tjoppen> am I stupid, or does aacenc's output really not work with mov nor mp4?
[10:59] <Tjoppen> "0.0kbits/malformated aac bitstream, use -absf aac_adtstoasc"  yet if I add that it still fails
[11:00] <av500> one should use AAC only inside its native RealVideo container....
[11:02] <Tjoppen> bah, I'll use libmp3lame
[11:02] <OanaStratulat> michaelni: ping
[13:19] Last message repeated 1 time(s).
[13:21] <CIA-101> ffmpeg: 03Clément BSsch 07master * r837126568c 10ffmpeg/doc/filters.texi: doc: use @code{} for --{enable,disable}-options.
[13:21] <CIA-101> ffmpeg: 03Clément BSsch 07master * rdc7ad85c40 10ffmpeg/doc/ (7 files): doc: use @command{} for commands.
[14:47] <OanaStratulat> michaelni: ping
[15:21] Last message repeated 1 time(s).
[15:21] <av500> you have a cron job?
[15:22] <OanaStratulat> av500: the question is for me?
[15:27] <av500> yes
[15:27] <av500> i guess he will see himself highlighted, so no need to repeat that all the time
[15:38] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * r2754514787 10ffmpeg/ (10 files in 4 dirs): 
[15:38] <CIA-101> ffmpeg: v308 Quicktim Uncompressed 4:4:4 encoder and decoder.
[15:38] <CIA-101> ffmpeg: Reviewed-by: Derek Buitenhuis
[15:38] <CIA-101> ffmpeg: Reviewed-by: Paul B Mahol
[15:38] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * r64e4f4836a 10ffmpeg/ (8 files in 4 dirs): 
[15:38] <CIA-101> ffmpeg: Add decoder for Avid 1:1 10-bit RGB Packer (AVrp).
[15:38] <CIA-101> ffmpeg: Fixes ticket #525.
[15:38] <CIA-101> ffmpeg: Reviewed-by: Paul B Mahol
[15:38] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * r17edc370b2 10ffmpeg/ (10 files in 4 dirs): 
[15:38] <CIA-101> ffmpeg: yuv4 libquicktime packed 4:2:0 encoder and decoder.
[15:38] <CIA-101> ffmpeg: Reviewed-by: Derek Buitenhuis
[15:38] <CIA-101> ffmpeg: Reviewed-by: Paul B Mahol
[16:18] <michaelni> OanaStratulat, pong
[16:48] <OanaStratulat> michaelni: i want to work on http://ffmpeg.org/trac/ffmpeg/ticket/236
[16:49] <OanaStratulat> michaelni: the valgrind says that FPE is at mathematics.c at line 91, at return (a * b + r)/c;
[16:50] <michaelni> OanaStratulat, best talk to baptiste, he knows the mov muxer best
[16:50] <OanaStratulat> michaelni: what nick?
[16:52] <michaelni> OanaStratulat: bcoudurier
[16:57] <OanaStratulat> michaelni: can`t you look into this because he is not online and 2morrow i do not think i`ll be online
[17:06] <OanaStratulat> michaelni: i have emailed him regarding this issue
[18:24] <ubitux> < OanaStratulat> michaelni: i want to work on http://ffmpeg.org/trac/ffmpeg/ticket/236 // that issue looks similar to http://ffmpeg.org/trac/ffmpeg/ticket/810
[18:25] <OanaStratulat> ubitux: so what bug should i try to close 1st?
[18:26] <ubitux> it's not the same bug, but it looks like a similar mistake is made
[18:26] <ubitux> like a timebase not specified under some condition
[18:27] <ubitux> i didn't look much, just pointing out potential ideas
[18:27] <ubitux> i don't think it matters the one you may close first
[18:38] <michaelni> ubitux, if you could mentor oana, that would be great, iam a bit busy atm sadly ..., but ill close the task when you say its ok
[18:38] <OanaStratulat> ubitux: i will be online in like 3-4 hours, now i`m in town
[18:38] <OanaStratulat> ubitux: is that ok?
[19:05] <ubitux> michaelni: i'm not really familiar with what she's ("she", right?) trying to fix, or i'd already fixed it
[19:05] <ubitux> i'm not sure i'll be of much help
[19:05] <ubitux> but sure i can help if i know, like i do most of the time
[19:15] <michaelni> ubitux, thx, (i need to look into some security issues ...)
[19:50] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * r84ce58faf5 10ffmpeg/libavcodec/ (v308dec.c v308enc.c yuv4dec.c yuv4enc.c): 
[19:50] <CIA-101> ffmpeg: Replace deprecated FF_I_TYPE with AV_PICTURE_TYPE_I in v308 and yuv4.
[19:50] <CIA-101> ffmpeg: Found-by: Paul B Mahol
[19:50] <CIA-101> ffmpeg: 03Andrew Ryan 07master * r4452d58c72 10ffmpeg/libavformat/mov.c: Insert missing newline at end of error log message in mov demuxer.
[20:35] <OanaStratulat> ubitux: ping
[20:35] <ubitux> hi OanaStratulat 
[20:35] <ubitux> sorry i wasn't around when you asked
[20:35] <OanaStratulat> ubitux: do you have time to discuss about the bug i wan to fix?
[20:35] <OanaStratulat> want*
[20:35] <ubitux> sure go ahead
[20:35] <OanaStratulat> have you run the file and the command on your build?
[20:35] <ubitux> but i'll need to look more at the source of the issue to be of any help
[20:36] <OanaStratulat> i have found the source of the problem, i tink
[20:36] <OanaStratulat> think
[20:36] <ubitux> give me a few minutes
[20:36] <OanaStratulat> valgrind says that the problem is at mathematics.c line 93
[20:37] <ubitux> yes but the function is ok
[20:37] <OanaStratulat> that function is called in movenc.c 1st in the mov_write_mvhd_tag function
[20:37] <OanaStratulat> and then the mov_write_mvhd_tag function is called in mov_write_moov_tag
[20:38] <OanaStratulat> and mov_write_moov_tag is called in update_first_fragment
[20:38] <OanaStratulat> everything begins in update_first_fragment i think
[20:47] <OanaStratulat> ubitux: am i right or thinking it wrong ?
[20:54] <ubitux> OanaStratulat: i'm available in a minute, sorry :)
[20:54] <OanaStratulat> ubitux: ok ok no prob, ping me when ready
[20:57] <ubitux> ok so
[20:58] <OanaStratulat> yes
[20:58] <ubitux> doesn't crash here, and detect no error mmmh
[20:59] <OanaStratulat> it does not crash on your build?
[20:59] <ubitux> yep, can't reproduce atm
[20:59] <OanaStratulat> running the latest src from git?
[20:59] <ubitux> yes, just updated a few minutes ago
[21:00] <OanaStratulat> how can i update the src ?
[21:00] <OanaStratulat> not to clone it again
[21:00] <OanaStratulat> git rebase ?
[21:00] <OanaStratulat> the bug is reproduced with ffmpeg -i fcp_export8.mov -dcodec copy -map 0:2 -an -vn out.mov
[21:00] <OanaStratulat> ubitux: using this ?
[21:00] <ubitux> ah, right
[21:00] <ubitux> this one crash ok
[21:01] <CIA-101> ffmpeg: 03Philippe Saint-Pierre 07master * rf0f2babca2 10ffmpeg/libavcodec/alsdec.c: 
[21:01] <CIA-101> ffmpeg: Fix possible infinite loop decoding als.
[21:01] <CIA-101> ffmpeg: Reviewed-by: Thilo Borgmann
[21:01] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07release/0.9 * r9f561ec398 10ffmpeg/libavcodec/wavpack.c: 
[21:01] <CIA-101> ffmpeg: Revert "wavpack: Clip samples after shifting"
[21:01] <CIA-101> ffmpeg: This reverts commit 8d055e9079f151f13d34e8e04f4aa7ca0273c448.
[21:01] <CIA-101> ffmpeg: The original commit introduced ticket #871, do not import the problem
[21:01] <CIA-101> ffmpeg: into the release branch.
[21:02] <ubitux> and i have this backtrace in valgrind: http://pastie.org/3126857
[21:03] <OanaStratulat> how do i backtrace in valgrind?
[21:03] <ubitux> just run it with valgrind ./ffmpeg_g -i ...
[21:04] <ubitux> i'm not sure if it's as efficient as gdb
[21:04] <ubitux> it should point out the same issue
[21:04] <OanaStratulat> i used gdb
[21:04] <ubitux> i'm concerned about the warning: "Ignoring attempt to set invalid timebase for st:0"
[21:04] <funman> valgrind --db-attach=yes
[21:05] <ubitux> i'm wondering if the timebase is not set to zero, and thus doesn't provoke the crash
[21:05] <ubitux> just like what's happening with the mxf bug
[21:06] <OanaStratulat> mhmh
[21:07] <OanaStratulat> so what do you think is the bug coming from the functions i have enumerated ?
[21:10] <ubitux> yes sure that's basically what's the gdb backtrace is saying
[21:10] <ubitux> the concern is now to understand why does this final function gets a zero in the rationnal variable (which leads to the floating exception)
[21:11] <OanaStratulat> i have traced the functions until update_first_fragment
[21:12] <ubitux> #3  update_first_fragment (s=0x1457560) at libavformat/movenc.c:2619
[21:12] <ubitux> #4  flush_cluster_buffer (s=0x1457560) at libavformat/movenc.c:2216
[21:12] <ubitux> #5  0x00000000004f3a97 in mov_write_trailer (s=<optimized out>) at libavformat/movenc.c:2643
[21:12] <ubitux> this are the previous steps
[21:12] <ubitux> what's interesting to know is where the rationnal variable leading to zero is initialized (or isn't)
[21:13] <ubitux> and if it isn't initialized, where should it be (basically you have to check where it is set to something different than zero in the normal case, and figure out why it doesn't in the crash scenario)
[21:13] <OanaStratulat> i do not think that is initialized i do not see anything with it
[21:16] <ubitux> can you confirm mov->tracks[0].timescale=0 just before the crash?
[21:16] <OanaStratulat> yes
[21:17] <OanaStratulat> done av_log and it is 0
[21:17] <ubitux> al'right
[21:18] <ubitux> so, check where the timescale is normaly initialized
[21:18] <OanaStratulat> track->timescale = MOV_TIMESCALE; :2409
[21:18] <OanaStratulat> there
[21:19] <OanaStratulat> and the timescale is initialized at track->timescale = st->codec->time_base.den; :2526
[21:20] <OanaStratulat> ubitux: food time, be right back approximatively 10 minutes 
[21:34] <OanaStratulat> ubitux: back
[21:35] <ubitux> al'right
[21:35] <ubitux> about your git question earlier; do you have some local changes or not?
[21:35] <OanaStratulat> yes i have some
[21:35] <ubitux> also, are you in the master branch? (default)
[21:35] <OanaStratulat> yes in the master branch
[21:35] <ubitux> are the changes committed?
[21:36] <OanaStratulat> no
[21:36] <ubitux> ok so just a few files modified
[21:36] <ubitux> but no local commits with these changes
[21:36] <ubitux> right?
[21:36] <OanaStratulat> yes
[21:37] <ubitux> i suggest you to save these changes in a commit in a separate branch:
[21:37] <ubitux> git checkout -b dev # this will create a branch "dev", the same as the current one (master)
[21:37] <ubitux> git add/commit your stuff
[21:37] <OanaStratulat> ok
[21:37] <OanaStratulat> and then switch to the master branch again no
[21:38] <ubitux> that's right
[21:38] <OanaStratulat> ok, now with the bug
[21:38] <ubitux> then you can git pull
[21:38] <OanaStratulat> have you looked at those lines i pinned out?
[21:38] <ubitux> to update your master branch
[21:38] <ubitux> yes i had a look
[21:38] <ubitux> a notice multiple places where it is supposed to be initialized
[21:38] <OanaStratulat> are those the places where the timescale is being worked with ?
[21:39] <ubitux> the main one is imho in mov_write_header() (but i may be wrong)
[21:39] <ubitux> i'd personnaly check if mov_write_header() is called
[21:39] <ubitux> if you look closely at the function you'll see the timescale being initialized according to the different type of track/stream
[21:40] <OanaStratulat> yes, that i wanted to tell you now
[21:40] <ubitux> and i guess it ins't in the particular case you are studying
[21:40] <ubitux> you may want to try something in that direction
[21:40] <ubitux> i really don't know if it's the correct thing to do, just pointing out what i'm quickly observing
[21:41] <OanaStratulat> mov_write_header is called
[21:41] <OanaStratulat> i have av_log when it starts and it is called once then the crash
[21:42] <ubitux> do you see the loop on each stream? with the timescale assignment in various cases?
[21:42] <OanaStratulat> please be more explicit
[21:43] <OanaStratulat> http://pastebin.com/UTnSytuq
[21:43] <OanaStratulat> this is my output
[21:43] <OanaStratulat> the mov_write_header is called then it says Ignoring attempt to set invalid timebase for st:0
[21:43] <ubitux> http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavformat/movenc.c;hb=HEAD#l2485
[21:44] <ubitux> look at this
[21:44] <ubitux> and look at the various if (... == AVMEDIA_TYPE...)
[21:44] <ubitux> it's basically looping over all the track to write AFAIU
[21:45] <ubitux> and for each type of track (audio, video, subtitles, ...)
[21:45] <ubitux> it sets a particular timescale
[21:45] <OanaStratulat> mhmh a bit collapsing over me
[21:45] <OanaStratulat> 1st of all what is the timescale ?
[21:47] <ubitux> try to print when it's audio, video, etc :)
[21:47] <ubitux> it's related to the rate
[21:47] <ubitux> sorry i don't know your C level at all, or what you already did
[21:47] <ubitux> and how much i'm supposed to help you ;)
[21:47] <ubitux> also, it's the first time i'm opening this file so well&
[21:48] <OanaStratulat> my C level is not very high, i`m studying at school c+
[21:48] <OanaStratulat> c++*
[21:49] <ubitux> if/while/for is ok? functions ok? pointers are ok? structures? allocation?
[21:49] <OanaStratulat> allocation not so good
[21:49] <OanaStratulat> the rest are ok
[21:49] <ubitux> ok
[21:50] <ubitux> so well,
[21:50] <ubitux> you have a main loop: for(i=0; i<s->nb_streams; i++){ ... }
[21:50] <ubitux> which is looping over each stream:
[21:50] <ubitux> AVStream *st= s->streams[i];
[21:50] <OanaStratulat> yes
[21:50] <ubitux> the stream has an associated codec, and thus "type"
[21:51] <ubitux> video, audio, subtitles, data, &
[21:51] <ubitux> if you scroll down a bit, you'll see:
[21:51] <ubitux> the following pattern:
[21:51] <ubitux> if type is video: [misc stuff] stream->timescale = ....
[21:51] <ubitux> else if type is audio: [misc stuff] stream->timescale = ...
[21:51] <ubitux> etc
[21:52] <OanaStratulat> st->codec->codec_type == AVMEDIA_TYPE_VIDEO
[21:52] <OanaStratulat> yes
[21:52] <ubitux> right
[21:52] <OanaStratulat> video audio and subtitle
[21:52] <ubitux> that's right
[21:52] <ubitux> then what is your command trying to do?
[21:53] <ubitux> "-dcodec copy -map 0:2"
[21:53] <OanaStratulat> this i do not know
[21:53] <ubitux> ’ data codec, copy it, and map it
[21:53] <OanaStratulat> -map is just to decode only streams from 0 :2 ?
[21:53] <OanaStratulat> data codec meaning raw data ?
[21:53] <ubitux> no it means stream with a data codec, you have to copy them
[21:54] <ubitux> data codec are for instance for various information track
[21:54] <ubitux> doesn't matter really
[21:54] <OanaStratulat> ok
[21:54] <ubitux> but well it seems you're trying to map a data stream
[21:54] <OanaStratulat> what does the mapping is all about ?
[21:54] <ubitux> can you see a check for this kind of codec?
[21:55] <ubitux> it just indicates what's your taking from the input
[21:55] <ubitux> and putting/mapping on the output
[21:55] <OanaStratulat> please have in mind that is my 1st task like this and i`m not very familiar with the terminology  
[21:55] <ubitux> yes sure
[21:56] <ubitux> don't take what i'm saying for absolute truth either, i'm not that much familiar either, and like everyone i make mistakes :)
[21:56] <ubitux> anyway
[21:56] <ubitux> you're trying to map a stream of type "data"
[21:56] <OanaStratulat> so somewhere here the timescale is initialized with 0 you would say?
[21:56] <OanaStratulat> and you want to see if it is for audio or video ?
[21:56] <ubitux> init to zero... or isn't at all
[21:56] <OanaStratulat> which one of them ?
[21:57] <ubitux> i don't know, look at the code :)
[21:57] <ubitux> it seems audio and video have there respective check
[21:57] <ubitux> subtitles too
[21:57] <ubitux> can you see the check for data?
[21:58] <OanaStratulat> there is no check for data
[21:58] <OanaStratulat> only audio video and sub
[21:59] <OanaStratulat> it must be as the same format st->codec->codec_type == data ?
[22:00] <ubitux> if you don't see any check for data maybe that means the timescale is not set for data
[22:00] <ubitux> which actually makes sense in case of a "data" track but well
[22:00] <ubitux> you could try to see what happens when you set one
[22:01] <OanaStratulat> st->codec->codec_type == AVMEDIA_TYPE_DATA ?
[22:01] <ubitux> remember: i'm just giving testing hints, not a solution :p
[22:01] <OanaStratulat> yes yes
[22:01] <ubitux> should be, check the various types
[22:02] <ubitux> (the list is in libavutil/avutil.h)
[22:02] <OanaStratulat> ok
[22:03] <OanaStratulat> AVMEDIA_TYPE_DATA is 
[22:07] <OanaStratulat> ubitux: i have done if(st->codec->codec_type == AVMEDIA_TYPE_VIDEO)av_log(0,0,"\n\ndata\n\n\n"); and there is no output..
[22:07] <OanaStratulat> sorry wait
[22:07] <OanaStratulat> my mistake
[22:07] <OanaStratulat> yes it is data strea
[22:07] <OanaStratulat> stream
[22:09] <OanaStratulat> ubitux: ^
[22:09] <ubitux> yes sure so you confirmed what i was expecting
[22:09] <OanaStratulat> the check for data is not there no?
[22:10] <ubitux> i don't know where it's supposed to be if any
[22:10] <ubitux> looking at the various other muxers, i don't see such check
[22:10] <OanaStratulat> isn`t it normal to be here ?
[22:10] <OanaStratulat> but maybe if i use the other muxers with the data codec like this they will bug too?
[22:11] <OanaStratulat> if there is no check
[22:11] <ubitux> well it makes sense not to set a timescale for data
[22:11] <ubitux> but i'm not sure then why it is actually used
[22:11] <OanaStratulat> so in the end what should i do ?
[22:12] <ubitux> good question, i'm trying to figure out
[22:12] <ubitux> the interesting thing is that it also happens in the MXF muxer
[22:12] <ubitux> and maybe more
[22:12] <ubitux> but it looks like a error reproduced each time to me ;)
[22:13] <OanaStratulat> so it is in more muxers this error 
[22:13] <ubitux> as i mentionned, you have a very similar issue in the MXF (see the trac i pasted a while ago)
[22:13] <ubitux> if you want to compare
[22:13] <ubitux> http://ffmpeg.org/trac/ffmpeg/ticket/810
[22:14] <ubitux> for now, maybe someone else can enlight us about why it's done like this and what could be done
[22:14] <ubitux> i never look at any muxer
[22:14] <CIA-101> ffmpeg: 03Chris Evans 07master * rf35e037c93 10ffmpeg/libavformat/matroskadec.c: 
[22:14] <CIA-101> ffmpeg: mkv: Fix a bug where a pointer was cached to an array that might later move due to
[22:14] <CIA-101> ffmpeg: a realloc()
[22:14] <CIA-101> ffmpeg: BUG=100492
[22:14] <CIA-101> ffmpeg: Review URL: http://codereview.chromium.org/8366004
[22:14] <CIA-101> ffmpeg: Fixes: 1 of 2 for CVE-2011-3893
[22:14] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:14] <ubitux> i don't really know how it's supposed to work
[22:14] <CIA-101> ffmpeg: 03Chris Evans 07master * r7149fce2ca 10ffmpeg/libavcodec/vorbis.c: 
[22:14] <CIA-101> ffmpeg: ogg: Avoid the possibility to read out-of-bounds of a static global array in Vorbis
[22:14] <CIA-101> ffmpeg: decoding.
[22:14] <CIA-101> ffmpeg: BUG=100543
[22:14] <OanaStratulat> it`s the same functions that has the 0 var
[22:14] <CIA-101> ffmpeg: Review URL: http://codereview.chromium.org/8365014
[22:14] <CIA-101> ffmpeg: This fixes 25% of CVE-2011-3893
[22:14] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:14] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * r6fcf2bb8af 10ffmpeg/libavcodec/vorbis.c: 
[22:14] <CIA-101> ffmpeg: vorbis: Fix last quarter of CVE-2011-3893
[22:14] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:14] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * r405e99bdfd 10ffmpeg/libavcodec/vorbisdec.c: 
[22:14] <CIA-101> ffmpeg: vorbisdec: Make sure blocksize is not set to an invalid value.
[22:14] <OanaStratulat> michaelni: ping
[22:15] <CIA-101> ffmpeg: This possibly makes part of the CVE-2011-3895 fix unneeded.
[22:15] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:15] <CIA-101> ffmpeg: 03Chris Evans 07master * rf74ce3a60d 10ffmpeg/libavcodec/vorbisdec.c: 
[22:15] <CIA-101> ffmpeg: vorbis: An additional defense in the Vorbis codec.
[22:15] <CIA-101> ffmpeg: BUG=101458
[22:15] <CIA-101> ffmpeg: Review URL: http://codereview.chromium.org/8414025
[22:15] <CIA-101> ffmpeg: Fixes second part of CVE-2011-3895
[22:15] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:16] <OanaStratulat> ubitux: if you do not know i don`t know either, i`m waiting for someone to give an idea or something
[22:17] <ubitux> have you tried to check for the zero ?
[22:17] <OanaStratulat> in the video and audio?
[22:17] <OanaStratulat> if it is 0?
[22:17] <ubitux> i mean just if (xxx != 0) the_function_which_crash_when_its_zero()
[22:17] <ubitux> av_rescale_rnd iirc
[22:18] <ubitux> the resulting output file may be invalid, but it may avoid the crash
[22:18] <OanaStratulat> ok try now
[22:18] <ubitux> you could start looking that way
[22:21] <ubitux> another solution is to try setting timescale to another value (let's say 1) in case it's a data stream
[22:22] <OanaStratulat> if i check where timescale is used and use the function when the result is !=0 i get a segfault 11
[22:22] <OanaStratulat> so it`s not good doing like this
[22:23] <ubitux> well of course there might be some more side effect to control
[22:25] <OanaStratulat> ubitux: and doing if(st->codec->codec_type == AVMEDIA_TYPE_DATA){track->timescale=1;av_log(0,0,"\n\ndata\n\n\n");} also gives a segfault
[22:25] <ubitux> interesting
[22:25] <ubitux> since no one seems to be up for any hint you could try to look why it segfault
[22:26] <ubitux> michaelni: if you have any hint btw& ;)
[22:27] <ubitux> michaelni: the issue is that both mov & mxf muxer do not set any timescale for data streams, leading to floating exception since there is a need of ts all around
[22:27] <OanaStratulat> http://pastebin.com/1zYB1NPg
[22:27] <OanaStratulat> the valgrind 
[22:27] <ubitux> michaelni: so i'm not sure about trying to set a fake timescale, check everytime if it is set, or something else
[22:28] <ubitux> OanaStratulat: run ffmpeg_g instead of ffmpeg
[22:28] <OanaStratulat> ok
[22:28] <ubitux> it will give more debug details
[22:28] <OanaStratulat> but it is on ffmpeg_g
[22:28] <OanaStratulat> the valgrind
[22:28] <ubitux> mmh ok strange
[22:28] <ubitux> heh indeed&
[22:28] <ubitux> looks like serious corruption earlier
[22:29] <ubitux> by 0x27... by 0x3... these are not valid addresses
[22:29] <ubitux> looks like the stack is trashed somewhere i guess
[22:30] <ubitux> i'll let you look by yourself for a while, i have some stuff to get done right now
[22:30] <OanaStratulat> ok, ping me when back?
[22:30] <ubitux> feel free to ask for any specific question though
[22:30] <ubitux> i'm still there, just busy doing some stuff
[22:31] <OanaStratulat> ok
[22:41] <OanaStratulat> ubitux: tried with different timescales and with all it`s a segfault 11
[22:41] <OanaStratulat> ubitux: i`m trying to think that this bug may be out of my hand
[22:42] <durandal_1707> is failing to read timestamp in nut muxed with ffmpeg worth reporting?
[23:03] <michaelni> durandal_1707, everything is worth reporting
[23:03] <michaelni> OanaStratulat, ubitux the bug is not trivial ...
[23:03] <OanaStratulat> michaelni: so hard work here as i see
[23:03] <cbsrobot> OanaStratulat: I tried a bit aswell
[23:04] <cbsrobot> but no luck sofar
[23:04] <cbsrobot> there is a default timesacel in the movenc.h
[23:04] <cbsrobot> #define MOV_TIMESCALE 1000
[23:05] <cbsrobot> I tried to set the AVMEDIA_TYPE_DATA to this timescale but it did not work
[23:05] <durandal_1707> michaelni: demuxer reports "no index at the end"
[23:05] <OanaStratulat> yes tried as well with that timescale but it gives a segfault 11
[23:05] <cbsrobot> maybe some other default value is missing
[23:06] <michaelni> durandal_1707, please open a ticket on trac, i dont have time atm :(
[23:15] <OanaStratulat> michaelni: i will unclaim this task and claim one for a bug in libav, if i find another bug in ffmpeg which i can repair i will claim it again. sorry for this inconvenience 
[23:29] <durandal_1707> hmm, #844 should be closed, i definetely see content
[23:30] <durandal_1707> nvm, perhaps op wants more than just title in rss
[23:48] <ubitux> durandal_1707: extracting the content reliably is not easy
[23:49] <ubitux> i don't think it's worth trying to do it though
[00:00] --- Thu Jan  5 2012


More information about the Ffmpeg-devel-irc mailing list