[00:00] <ubitux> the last one is the top of the callstack [00:00] <OanaStratulat> so the problem started at the last line [00:00] <ubitux> but keep in mind some functions may have been called (and returned) before [00:00] <cbsrobot> ubitux: thanks [00:00] <OanaStratulat> yes [00:01] <OanaStratulat> ubitux: do you know where av_assert0 (..) is defined ? [00:01] <OanaStratulat> in which file ? [00:02] <ubitux> avassert.h i guess [00:02] <ubitux> but it doesn't matter really [00:02] <ubitux> the issue here is that the number of output channel is invalid [00:02] <cbsrobot> ubitux: as we do not have AVMEDIA_TYPE_TIMCODE - can I assume AVMEDIA_TYPE_DATA is always a timecode track ? [00:02] <ubitux> and is not defined correctly according to the specified channel layout [00:02] <cbsrobot> what do you think ? [00:03] <ubitux> cbsrobot: i don't think so :p [00:03] <cbsrobot> ok - thats what I thought [00:03] <cbsrobot> I'm looking into http://ffmpeg.org/trac/ffmpeg/ticket/236 [00:04] <ubitux> cbsrobot: if you fix this one, you will certainly want to fix #810 too [00:04] <cbsrobot> and I solved one part, but the "gmcd" atom can be extended with the tmcd atom if it's a timecode track [00:05] <ubitux> michaelni: hehe yeah /topic on irc should be part of the checklist :p [00:05] <cbsrobot> but I'm not sure how to distingush between DATA and TIMECODE tracks - any ideas ? [00:06] <michaelni> without reading the log, codec_id [00:07] <durandal_1707> michaelni: -tag bug is already reported as #867 (for mov conainter only) [00:08] <OanaStratulat> ubitux: the ch_count is 2 when i avlog [00:08] <ubitux> ok, but the ch layout is incorrect right? [00:09] <OanaStratulat> ubitux: it is 3 [00:09] <OanaStratulat> s->in_ch_layout [00:09] <OanaStratulat> for this i am checking [00:10] <ubitux> in_ch_layout is the input channel layout; it's a mask which describe how the input audio stream is composed [00:10] <ubitux> and in_ch_count is the number of input channels in the stream [00:10] <cbsrobot> michaelni: I'll try that [00:10] <ubitux> you have the same with out_* for the output [00:11] <OanaStratulat> so the out i need to test no? [00:11] <ubitux> that might help you to understand a bit what's happening there [00:11] <ubitux> [SWR @ 0xadb23c0] Value 22.000000 for parameter 'och' out of range [00:11] <ubitux> Assertion s->out.ch_count failed at libswresample/swresample.c:229 [00:11] <ubitux> i have this [00:11] <ubitux> och output channel count [00:11] <OanaStratulat> yes the och is 0 [00:12] <OanaStratulat> http://pastebin.com/PFUx56WY [00:12] <OanaStratulat> is 0 a good value or it must pe >0 always ? [00:12] <ubitux> >0 [00:12] <ubitux> this is what the assert is checking [00:12] <ubitux> it must be >0 at that point [00:13] <ubitux> and if you look just a bit at the code, you'll see a check [00:13] <ubitux> if(!s->out.ch_count) [00:13] <ubitux> s->out.ch_count= av_get_channel_layout_nb_channels(s->out_ch_layout); [00:13] <ubitux> basically, if you don't have a number of output channel specified, it tries to guess the number based on the channel layout [00:13] <ubitux> but in that case, it seems to fail [00:13] <ubitux> you have to figure out why [00:14] <OanaStratulat> so i must dig in av_get_channel_layout_nb_channels right ? [00:14] <ubitux> av_get_channel_layout_nb_channels() is likely correct [00:14] <ubitux> but the input might not be [00:15] <OanaStratulat> the input is 0 [00:15] <ubitux> (which means the out_ch_layout is wrong or something...) [00:15] <OanaStratulat> yes [00:15] <ubitux> it seems the layout is guess from the channel count and the channel count from the layout [00:15] <ubitux> so since both are zero... heh [00:16] <OanaStratulat> but if both are 0 it cannot guess no? [00:16] <OanaStratulat> a test for 0 vals must be put there [00:16] <OanaStratulat> right ? [00:17] <ubitux> OanaStratulat: this is bothering me a bit [00:17] <ubitux> i wonder if "[SWR @ 0xadb23c0] Value 22.000000 for parameter 'och' out of range [00:17] <ubitux> should not be made more fatal [00:17] <ubitux> like "hey you're trying to fed the swr with invalid input, just fix it" [00:18] <ubitux> but i'm not sure if this won't break already playable inputs [00:18] <ubitux> michaelni: you may want to comment on this :p [00:19] <OanaStratulat> it`s kinda hard to start from scratch and repair bugs not knowing what the code does :( [00:20] <ubitux> libswresample is for audio processing [00:20] <ubitux> it helps to do misc convert (channel layouts changes, channel number changes, various mangling, etc.) [00:21] <OanaStratulat> okok [00:22] <ubitux> something is bothering me [00:22] <ubitux> "[SWR @ 0xadb23c0] Value 22.000000 for parameter 'och' out of range" this leads to 0 in och option [00:22] <ubitux> but not the default specified value [00:22] <OanaStratulat> what is the default? [00:22] <ubitux> look at the top of the file [00:23] <ubitux> the AVOption array [00:23] <ubitux> {.dbl=...} is the default value [00:23] <ubitux> and this is set to 2 [00:23] <ubitux> but you says it's actually zero [00:23] <OanaStratulat> you say it must never be 0 [00:23] <OanaStratulat> and when it is 0 why shouldn`t i change it to 2 [00:24] <OanaStratulat> to the default [00:26] <OanaStratulat> if i do if(s->out.ch_count==0)s->out.ch_count=2; it says Can not resample 2 channels @ 32000 Hz to 22 channels @ 32000 Hz [00:27] <OanaStratulat> so how does it get the 22 value ? [00:28] <ubitux> 22 ch is the input i guess [00:28] <ubitux> i'd personnally try to change write_number() in libavutil/opt.c [00:28] <ubitux> and set the default value if it fails [00:29] <ubitux> i'm not sure this will fix the issue, but at least it should fix the assert trigger [00:30] <ubitux> maybe this is wrong to do but well [00:30] <ubitux> you'lle certainly think of something better ;) [00:30] <ubitux> -e [00:32] <OanaStratulat> and in write_number i should check if o->name==och and if yes set default? [00:33] <ubitux> alternately you may want to check ret value of the av_opt_set_int() in swr_alloc_set_opts() [00:33] <ubitux> and return NULL in case one fails [00:33] <OanaStratulat> 1st i want to choose the approach with write_number [00:33] <OanaStratulat> to set the default [00:33] <michaelni> i think in case of failure AVOptions should leave the last value [00:34] <michaelni> not set the default [00:34] <OanaStratulat> so is not good to set the default val if out of range / [00:34] <michaelni> swr should fail if things are out of range [00:34] <michaelni> SWR_CH_MAX 16 [00:35] <michaelni> so more than 16 should fail unless the define is chnaged [00:35] <OanaStratulat> yes i have 22 channels [00:35] <OanaStratulat> but can a good file not a fuzzed one have more than 16 channels ? [00:36] <michaelni> it can, in which case SWR_CH_MAX can be increased [00:36] <michaelni> but ive never seen more than 16 [00:38] <OanaStratulat> so if a file has more than 16 channels it should give an error no ? like "operations with 16+ channel files are not supported "? [00:38] <OanaStratulat> and then return an error ? [00:38] <michaelni> yes, the can maybe be achived my checling av_set_int() return but iam not sure what sets it to 22. ive not looked [00:39] <ubitux> the input has 22 ch, so it is mapped to 22 for the output too [00:39] <ubitux> afaiu [00:39] <OanaStratulat> the input is fuzzed this is how i found the bug [00:39] <ubitux> while the input seems to be changed into 2ch, the output isn't [00:39] <michaelni> avfilter cant handle 22 either ... [00:40] <OanaStratulat> so what approach must i use ? [00:41] <OanaStratulat> add a check if there are more than 16 channels and inform the user ? [00:44] <durandal_1707> what about this avpacket_split_sidedata, libav doesn't have this? [00:44] Action: durandal_1707 is trying to make mid-stream changes of width/height working [00:45] <michaelni> durandal_1707, they where working last i checked, and long before libav [00:45] <durandal_1707> with it I cant get apply_param_change to work [00:45] <durandal_1707> will compile libav now and see if this work at all [00:45] <michaelni> -threads 1 is probably needed for res changes with come codecs [00:46] <durandal_1707> michaelni: it is per packet [00:46] <durandal_1707> at least it is supposed to be called from demuxer [00:46] <OanaStratulat> michaelni: any opinions on how to deal with the 22 value ? [00:47] <durandal_1707> than decoder just use new value - no need for extra hackery [00:48] <michaelni> OanaStratulat, check av_opt_set_int() return value [00:49] <OanaStratulat> michaelni: i look into that part of the code and i really do not understand a bit of it, sorry here [00:51] <OanaStratulat> it gives a negative value [00:51] <michaelni> that means error [00:52] <michaelni> durandal_1707, which decode is this btw that doesnt work ? [00:52] <durandal_1707> interplayvideo [00:52] <OanaStratulat> so what should av_opt_set_int return ? [00:52] <durandal_1707> btw apply_param_chane is missing in decode_video [00:53] <michaelni> OanaStratulat, if it returns <0 then the callmg code should error out [00:53] <OanaStratulat> so it must return an err and stop the program? [00:53] <OanaStratulat> not go and assert after it no? [00:54] <durandal_1707> assert should panic [00:54] <michaelni> durandal_1707, its missing in libavs decode_video too [00:54] <durandal_1707> michaelni: yes, and i'm working with code that have it [00:55] <OanaStratulat> michaelni: when it gives <0 i should give an return averror no? [00:57] <michaelni> OanaStratulat, depends on the function, some have NULL return on error some AVERROR, ffmpeg uses exit_program [00:57] <OanaStratulat> michaelni: so a good way to handle this 22 channel problem is to check if av_opt_set_int() return <0 values no ? [00:58] <michaelni> yes [00:58] <OanaStratulat> michaelni: and if it does what kind of return i must use ? [00:59] <michaelni> where is the -1 returning call ? [00:59] <OanaStratulat> av_opt_set_int is returning -34 [01:00] <michaelni> ok but where ? [01:00] <OanaStratulat> set_number(obj, name, 1, 1, val, search_flags) [01:00] <OanaStratulat> this gives the -34 [01:01] <ubitux> from [01:01] <ubitux> where? [01:01] <ubitux> swr_alloc_set_opts? [01:01] <OanaStratulat> i do not get this sorry [01:01] <OanaStratulat> which function calls av_opt_set_int ? [01:01] <ubitux> yes [01:02] <OanaStratulat> in struct SwrContext *swr_alloc_set_opts [01:03] <OanaStratulat> there are ich and och set [01:05] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * rd185278c36 10ffmpeg/libavcodec/ (mjpegdec.c mjpegdec.h): [01:05] <CIA-101> ffmpeg: Support decoding of some unusual jpeg samples. [01:05] <CIA-101> ffmpeg: Avoid unsupported pix_fmts by upscaling chroma. [01:05] <CIA-101> ffmpeg: Fixes ticket #878. [01:05] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * r09f25a9cb0 10ffmpeg/libavcodec/ (raw.c rawdec.c): [01:05] <CIA-101> ffmpeg: Allow decoding of uyvy422 CYUV with -vcodec rawvideo. [01:05] <CIA-101> ffmpeg: FourCC CYUV can be Creative YUV and uyvy422 rawvideo. [01:07] <OanaStratulat> michaelni: ^ [01:07] <michaelni> durandal_1707, where exactly did you add apply_param_change? and how exactly does it fail ? [01:08] <michaelni> OanaStratulat, put the return check in ffmpeg.c av_opt_set_int(ost->swr, "och", enc->channels, 0); [01:09] <michaelni> it should exit_program(1) in case of error [01:09] <durandal_1707> michaelni: https://github.com/richardpl/libav/commit/fac8afe64ec57cd0fe37564ab9cfc152d0... [01:09] <durandal_1707> code in ffmpeg is just on different lines (like for audio) [01:09] <OanaStratulat> michaelni: where exactly in ffmpeg ? [01:10] <michaelni> apply_param_changes must be after av_packet_split_side_data [01:10] <michaelni> OanaStratulat, there where configure is [01:10] <durandal_1707> yup, there it is [01:11] <OanaStratulat> michaelni: #if CONFIG_AVFILTER there? [01:12] <michaelni> durandal_1707, apply_params sets with and then set_dimensions uses coded_width? this looks a bit odd [01:13] <michaelni> OanaStratulat, line 1101 [01:16] <OanaStratulat> michaelni: no av_log with some information ? [01:16] <OanaStratulat> michaelni: only the exit_program(1) ? [01:19] <michaelni> av_log() too [01:19] <OanaStratulat> what log to output ? [01:19] <OanaStratulat> och > 16 ? [01:23] <OanaStratulat> michaelni: av_log(0,0,"och >16"); is this good ? [01:25] <michaelni> av_log(NULL, AV_LOG_FATAL, [01:26] <michaelni> "too many output channels" [01:26] <OanaStratulat> av_log(NULL, AV_LOG_FATAL, "och >16\n"); [01:26] <OanaStratulat> ok [01:26] <OanaStratulat> michaelni: file a bug and then submit to melange is that ok? [01:27] <CIA-101> ffmpeg: 03ami_stuff 07master * rfebf75f3d2 10ffmpeg/libavcodec/pnm.c: [01:27] <CIA-101> ffmpeg: pam: Reject 64bpp rgba. [01:27] <CIA-101> ffmpeg: Fixes ticket #883 [01:29] <michaelni> OanaStratulat, yes [01:34] <OanaStratulat> michaelni: http://google-melange.appspot.com/gci/task/view/google/gci2011/7180407 marked as completed. https://ffmpeg.org/trac/ffmpeg/ticket/887 patch is on track and melange [01:40] <CIA-101> ffmpeg: 03Carl Eugen Hoyos 07master * re9a591d1f0 10ffmpeg/libavcodec/Makefile: Fix compilation with --disable-everything --enable-demuxer=mov. [01:40] <ubitux> I'd say "invalid number of output channels" instead [01:41] <OanaStratulat> michaelni: should i change it ? [01:42] <michaelni> yes [01:42] <ubitux> OanaStratulat: if you can add some spacing around the '<' while you are it too& [01:43] <OanaStratulat> ubitux: done [01:43] <OanaStratulat> any other comments before commit? [01:45] <ubitux> it's strange not to have the check on the ich too [01:45] <OanaStratulat> add the check for ich too? [01:46] <OanaStratulat> michaelni: ^ [01:46] <ubitux> oh, and better than "invalid ...", maybe "Unsupported number of input/output channels" [01:46] <ubitux> since it's a number of channels not supported by swr [01:46] <ubitux> but this is just nitpicking [01:47] <ubitux> i'd say yes for ich, michaelni might want to confirm [01:48] <michaelni> yes both should be checked ideally [01:49] <OanaStratulat> av_opt_set_int(ost->swr, "ich", enc->channels, 0) [01:49] <OanaStratulat> like this the function is called / [01:50] <ubitux> huh? [01:50] <OanaStratulat> for the ich [01:50] <OanaStratulat> the test [01:50] <OanaStratulat> av_opt_set_int(ost->swr, "och", enc->channels, 0) < 0 no ? [01:50] <OanaStratulat> with "ich" ? [01:50] <ubitux> just change the line above [01:51] <ubitux> add the check on this: av_opt_set_int(ost->swr, "ich", dec->channels, 0); too [01:51] <OanaStratulat> okok [01:51] <ubitux> "Unsupported number of input channels" if set ich < 0, and "Unsupported number of output channels" if och < 0 [01:52] <ubitux> (if *set* och of course) [01:54] <OanaStratulat> ubitux: http://pastebin.com/Sy4ru7g5 good ? [01:54] <ubitux> please squash the commits [01:55] <OanaStratulat> how do i do that ? [01:55] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * rc88f0b728c 10ffmpeg/libavcodec/tta.c: [01:55] <CIA-101> ffmpeg: tta: Fix regression of 24bit decoding. [01:55] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni@gmx.at> [01:55] <CIA-101> ffmpeg: 03Michael Niedermayer 07master * rc4f237a981 10ffmpeg/libavcodec/x86/ (cabac.h h264_i386.h): (log message trimmed) [01:55] <CIA-101> ffmpeg: Revert commit 599b4c6efddaed33b1667c386b34b07729ba732b [01:55] <CIA-101> ffmpeg: Author: Mans Rullgard <mans@mansr.com> [01:55] <CIA-101> ffmpeg: Date: Sun Dec 11 21:41:59 2011 +0000 [01:55] <CIA-101> ffmpeg: x86: cabac: replace explicit memory references with "m" operands [01:55] <CIA-101> ffmpeg: This replaces the explicit offset(reg) memory references with [01:55] <CIA-101> ffmpeg: "m" operands for the same locations. As a result, one fewer [01:55] <CIA-101> ffmpeg: 03James Zern 07master * r95afa0a573 10ffmpeg/libavcodec/libvpxenc.c: [01:55] <CIA-101> ffmpeg: libvpxenc: restore vp8flags for compatibility [01:55] <CIA-101> ffmpeg: removed in 98df93c, this makes the documentation correct again. [01:55] <ubitux> OanaStratulat: is the first patch already commited? [01:55] <CIA-101> ffmpeg: Found-by: j@v2v.cc [01:55] <CIA-101> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni@gmx.at> [01:55] <OanaStratulat> yes [01:55] <ubitux> OanaStratulat: git commit ffmpeg.c --amend [01:55] <ubitux> then check with git show [01:56] <OanaStratulat> yes it is good [01:57] <OanaStratulat> how can i remove a file from trac? [01:58] <OanaStratulat> michaelni: 0001-Patch-for-assertion-error-in-swresample.c.-Fiexes-bu.2.patch use this patch . http://google-melange.appspot.com/gci/task/view/google/gci2011/7180407 [01:59] <OanaStratulat> michaelni: https://ffmpeg.org/trac/ffmpeg/ticket/887 [01:59] <ubitux> "inputput" [02:00] <ubitux> otherwise LGTM [02:00] <OanaStratulat> amend [02:00] <ubitux> OanaStratulat: did you run the fate tests? [02:00] <OanaStratulat> or can you change that locally ? [02:00] <OanaStratulat> ubitux: no, how do i do that? [02:00] <OanaStratulat> make fate ? [02:00] <ubitux> make fate-rsync SAMPLES=fate-suite/ [02:01] <ubitux> then make fate SAMPLES=fate-suite/ [02:01] <ubitux> OanaStratulat: i can change locally [02:01] <OanaStratulat> ubitux: thx for that, sorry [02:02] <OanaStratulat> when i run make fate-rsync i get http://pastebin.com/aBhmQvWH [02:03] <ubitux> mmh fun, seems like an old version of rsync [02:04] <OanaStratulat> but when i run make fate-rsync in libav it works [02:06] <ubitux> maybe they don't use this option [02:08] <ubitux> OanaStratulat: what is the version of your rsync? [02:08] <OanaStratulat> which rsync or how do i see ? [02:08] <OanaStratulat> 2.6.9 [02:09] <ubitux> mmh ok pretty old [02:09] <ubitux> the current version is 3.0.9 [02:09] <OanaStratulat> mhm [02:09] <ubitux> Rsync version 2.6.9 released [02:09] <ubitux> November 6th, 2006 [02:09] <OanaStratulat> lets try to make again the rsync [02:09] <ubitux> welcome in the past ;) [02:09] <OanaStratulat> from src [02:10] <OanaStratulat> yes [02:10] <ubitux> fate seems to pass btw [02:10] <ubitux> michaelni: i'll push if you're ok with it [02:11] <ubitux> http://blackhole.ubitux.fr/0001-ffmpeg-check-if-number-of-input-and-output-c... [02:11] <ubitux> this is the latest version [02:11] <OanaStratulat> ubitux: thx [02:13] <michaelni> ubitux, if you are ok with it then iam [02:13] <michaelni> too [02:14] <ubitux> michaelni: ok will push in a moment [02:14] <ubitux> michaelni: you might be interested in cehoyos comment [02:14] <ubitux> about the regression [02:14] <OanaStratulat> michaelni: http://google-melange.appspot.com/gci/task/view/google/gci2011/7180407 link to close task [02:15] <ubitux> OanaStratulat: please wait until i push ;) [02:15] <OanaStratulat> okok [02:15] <michaelni> ubitux, what comment what regression? [02:15] <OanaStratulat> ubitux: how do i remove rsync from my computer ? [02:16] <ubitux> michaelni: https://ffmpeg.org/trac/ffmpeg/ticket/887#comment:1 [02:16] <ubitux> OanaStratulat: no idea... i'm not using osx [02:17] <OanaStratulat> but i think it`s the same like linux [02:17] <ubitux> each linux has a specific method to install/remove app [02:17] <OanaStratulat> michaelni: http://google-melange.appspot.com/gci/task/view/google/gci2011/7195360 please accept the claim [02:44] <CIA-101> ffmpeg: 03Oana Stratulat 07master * ree4d43ef7a 10ffmpeg/ffmpeg.c: [02:44] <CIA-101> ffmpeg: ffmpeg: check if number of input and output channels are valid. [02:44] <CIA-101> ffmpeg: Fix Ticket887. [02:46] <OanaStratulat> ubitux: what does regression mean ? in this context i mean [02:46] <ubitux> it means the issue was not there before the given commit [02:46] <OanaStratulat> thx [02:46] <ubitux> or to be more specific, it was *working* before [02:47] <ubitux> (basically not a bug in a new feature, but a bug in something that was working before) [02:47] <ubitux> but even if it's a regression, the patch is useful there imo [02:53] <CIA-101> ffmpeg: 03Aneesh Dogra 07master * r893f137679 10ffmpeg/libavcodec/4xm.c: [02:53] <CIA-101> ffmpeg: 4xm: fix calculation of the next output line position in decode_i2_frame(). [02:53] <CIA-101> ffmpeg: The current code doesn't work unless width is an exact multiple of 16. [02:53] <CIA-101> ffmpeg: Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> [02:53] <CIA-101> ffmpeg: 03Aneesh Dogra 07master * r4b84f68223 10ffmpeg/libavcodec/4xm.c: [02:53] <CIA-101> ffmpeg: 4xm: pass the correct remaining buffer size to decode_i2_frame(). [02:53] <CIA-101> ffmpeg: frame_size is the number of bytes left in the packet, so if we are passing [02:53] <CIA-101> ffmpeg: buf-4 we can safely read frame_size+4 bytes. [02:53] <CIA-101> ffmpeg: Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> [02:53] <CIA-101> ffmpeg: 03Aneesh Dogra 07master * r295a7c0238 10ffmpeg/libavcodec/4xm.c: [02:53] <CIA-101> ffmpeg: 4xm: Prevent buffer overreads. [02:53] <CIA-101> ffmpeg: 4xm decoder while decoding i2 frames can overread the buffer if proper checks [02:53] <CIA-101> ffmpeg: are not made. [02:53] <CIA-101> ffmpeg: Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> [02:53] <CIA-101> ffmpeg: 03Oana Stratulat 07master * r7f09791d28 10ffmpeg/libavcodec/amrnbdec.c: [02:53] <CIA-101> ffmpeg: Report an error if pitch_lag is zero in AMR-NB decoder. [02:53] <CIA-101> ffmpeg: This fixes an infinite loop in the decoder on specially [02:53] <CIA-101> ffmpeg: crafted files, and fixes bug 151. [02:53] <CIA-101> ffmpeg: Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com> [02:53] <CIA-101> ffmpeg: 03Anton Khirnov 07master * r6450599e22 10ffmpeg/libavformat/utils.c: lavf: refactor av_read_frame() to make it easier to understand. [02:53] <CIA-101> ffmpeg: 03Anton Khirnov 07master * rf9b9dd8740 10ffmpeg/libavformat/utils.c: lavf: cosmetics, reformat av_read_frame(). [02:53] <CIA-101> ffmpeg: 03Diego Biurrun 07master * rdff4af448d 10ffmpeg/libavutil/timer.h: timer: K&R formatting cosmetics [02:53] <CIA-101> ffmpeg: 03Ronald S. Bultje 07master * r2ba65879b5 10ffmpeg/libswscale/swscale.c: [02:53] <CIA-101> ffmpeg: swscale: remove unused U/V arguments from yuv2rgb_write(). [02:53] <CIA-101> ffmpeg: Also document the function somewhat. [02:53] <CIA-101> ffmpeg: 03Janne Grunau 07master * r9b4767e478 10ffmpeg/libavcodec/vp3.c: [02:53] <CIA-101> ffmpeg: vp3: fix streams with non-zero last coefficient [05:14] <Shimmy> https://ffmpeg.org/trac/ffmpeg/ticket/747 [05:14] <Shimmy> Can anyone help me witht this issue please [10:45] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * r9ac58ba133 10ffmpeg/cmdutils.c: [10:45] <CIA-101> ffmpeg: cmdutils: add print_program_info() used in both show_banner() and show_version() [10:45] <CIA-101> ffmpeg: This also make -version show program configuration and compilation [10:45] <CIA-101> ffmpeg: information, which was previously shown only in the banner. [10:45] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * r49c207b820 10ffmpeg/ffprobe.c: [10:45] <CIA-101> ffmpeg: ffprobe: fix NULL pointer dereference in writer_close() [10:45] <CIA-101> ffmpeg: Fix crash. [10:45] <CIA-101> ffmpeg: 03Stefano Sabatini 07master * rc5f4abf698 10ffmpeg/ffprobe.c: ffprobe: exit in case generic options are incompatible with strict XML output [10:52] <OanaStra_> michaelni: ubitux ping [12:10] <ubitux> anyone wants to propose something else than green for debug color? [12:10] <av500> teal? [12:11] <ubitux> you have to choose between green, blue, magenta, cyan [12:11] <av500> apricot? [12:11] <ubitux> :( [12:11] <funman> rainbow! [12:11] <ubitux> rainbow debug yeah [12:11] <av500> if you toggle between 2 colors quickly, maybe we can have more shades? [12:12] <ubitux> :) [12:12] <av500> amiga could do it [12:14] <funman> rockbox too ^_^ [12:15] <av500> indeed [12:15] <av500> I was just googling that a few days ago :) [12:15] <av500> funman: and I just restarted my SH-1 work :) [12:17] <funman> ah? [12:18] <CIA-101> ffmpeg: 03Clément BSsch 07master * red14b7242a 10ffmpeg/libavcodec/timecode.c: [12:18] <CIA-101> ffmpeg: timecode: more tolerant frame rate check for drop flag. [12:18] <CIA-101> ffmpeg: This fixes some timecode probing in MOV. [16:19] <OanaStratulat> ubitux: michaelni ping [16:27] <ubitux> heh i'm not that fast. [17:01] <ubitux> saste: thanks for your reply on the subtitles thread :) [17:42] <ubitux> OanaStratulat: pong [17:48] <OanaStratulat> ubitux: michaelni ping [17:48] <ubitux> 17:42:34 <@ubitux> OanaStratulat: pong [17:48] <OanaStratulat> ubitux: i was afk. ptp-roman.org/crash2 can you verify this file if hangs for you? [17:49] <OanaStratulat> ubitux: on my machine it uses all the memory, and it hang [17:49] <OanaStratulat> hangs* [17:50] <ubitux> indeed [17:50] <ubitux> well it's not really a crash, but it fails indeed [17:50] <ubitux> it's trying to allocate too much memory and then stop [17:51] <OanaStratulat> and i cannot find where is the part of code where it hangs.. [17:51] <ubitux> valgrind notices some errors in zmbv.c [17:51] <ubitux> in decode_frame [17:52] <ubitux> i'm waiting for the leak report [17:52] <OanaStratulat> ok [17:52] <OanaStratulat> can you pastebin it afterwards ? [17:54] <ubitux> if my system doesn't die yeah :p [17:55] <ubitux> let's have faith in the oom killer [17:55] <OanaStratulat> my system died after 5 minutes i think, it killed all my 8GB ram [18:00] <ubitux> ok it got killed [18:00] <OanaStratulat> the machine or the software? [18:01] <ubitux> valgrind/ffmpeg [18:01] <ubitux> so this is all i have: http://pastie.org/3138322 [18:01] <ubitux> i won't run this twice ;) [18:01] <ubitux> good luck [18:02] <OanaStratulat> this is wat i got too [18:02] <OanaStratulat> what [18:02] <OanaStratulat> so you think in decode_frame the bug should be? [18:04] <ubitux> at least there is one [18:04] <ubitux> the sample you have might trigger multiple ones [18:04] <OanaStratulat> out[i * 3 + 2] = c->pal[(*src) * 3 + 2]; this is line 539 [18:10] <OanaStratulat> how does it alloc memory here? [18:11] <ubitux> "Use of uninitialised value of size 8" [18:11] <ubitux> no allocation issue here [18:11] <ubitux> it's reading uninit stuff [18:11] <ubitux> like c->pal, or src [18:12] <OanaStratulat> so i should check if those vars are init ? [18:14] <iive> it say it reads random data [18:17] <OanaStratulat> *src is uint8_t how can i av_log it, with %d ? [18:19] <OanaStratulat> *src is 0 so c->pal[] goes 0 to [18:19] <OanaStratulat> is that correct or these values are wrong? [18:22] <OanaStratulat> michaelni: ^ [18:26] <OanaStratulat> ubitux: when i use *src it is the location in the memory ? [18:34] <durandal_1707> ohh [18:37] <OanaStratulat> ubitux: have you said smth, my connection died [18:59] <ubitux> i don't know if the values are wrong; it might be a lucky chance you get 0 here [18:59] <ubitux> src is a pointer *src look at the data at address src [19:00] <OanaStratulat> src is build up from c->cur and c->cur has a strange value [19:00] <OanaStratulat> i will point it out in a moment, building ffmpeg now [19:01] <CIA-101> ffmpeg: 03Reimar Döffinger 07master * r4dfb74cd4f 10ffmpeg/libavformat/utils.c: (log message trimmed) [19:01] <CIA-101> ffmpeg: Flush decoders correctly in avformat_find_stream_info(). [19:01] <CIA-101> ffmpeg: The decoders should not only be flushed on EOF or error, but also when [19:01] <CIA-101> ffmpeg: e.g. probe size was reached. [19:01] <CIA-101> ffmpeg: It is best to just always flush by default and only disable it [19:01] <CIA-101> ffmpeg: explicitly when we know that we have everything we need. [19:01] <CIA-101> ffmpeg: Fixes trac ticket #879. [19:10] <OanaStratulat> ubitux: michaelni when i try to make the latest git clone of ffmpeg i get http://pastebin.com/JALvmWvP [19:25] <durandal_1707> OanaStratulat: perhaps ffmpeg is still running? [19:26] <OanaStratulat> durandal_1707: resolved it, i was making outside the ffmpeg folder [20:01] <OanaStratulat> ubitux: i have av_log c->cur the var on which src is initialized and it is 140267483458560 , can that be a good value? [20:01] <ubitux> 140267483458560 = 0x7f9291866c00 [20:01] <ubitux> looks like a valid address so far [20:04] <OanaStratulat> src=c->cur, not *src=c->cur [20:04] <OanaStratulat> it`s the same/ [20:04] <ubitux> saste: i'm going to review your latest ffprobe patches; but since there is not patchset i'm a bit lost: could you sum-up the order required? [20:06] <ubitux> OanaStratulat: src is a pointer [20:06] <ubitux> after src = c->cur it points on the same value as c->cur [20:06] <ubitux> c->cur is allocated iwth av_realloc_f(...) [20:07] <ubitux> the allocated space is resized [20:07] <OanaStratulat> do you consider this bug easy to repair ? [20:07] <ubitux> but in this allocated space, some value may not be set before they are read with *src [20:08] <OanaStratulat> so you say that the c struct values might not be set ? and after that they are read ? [20:08] <ubitux> you need to be familiar with pointers and allocation at least to solve this issue [20:08] <OanaStratulat> i`m not used to this.. [20:08] <OanaStratulat> ok so back to the drawing board [20:09] <ubitux> opening a trac issue might be nice though [20:09] <OanaStratulat> ok, doing it now [20:10] <ubitux> OanaStratulat: please consider to point out 3 things: 1) invalid read 2) over-usage of the memory 3) zzuf crafted file [20:10] <OanaStratulat> if i post your valgrind report is that ok? [20:11] <ubitux> for the invalid read you can use my valgrind pastebin yes [20:11] <ubitux> don't forget to use the preview function of trac to check if the message is well formated when quoting it [20:11] <ubitux> (using {{{ and }}}) [20:12] <ubitux> and thank you for you work :) [20:19] <saste> ubitux: ffprobe patches are more or less independent each from the other, but for the first one "ffprobe: move writer context registration and initialization in main()" which is required by the others [20:19] <ubitux> ok [20:39] <ubitux> michaelni: [PATCH] jpegdec: support ilv=1 grayscale jpeg-ls. you have typo in the long desc: s/Ticker/Ticket [20:46] <ubitux> saste: i have "ffprobe: move writer context registration and initialization in main()" and "ffprobe: print error in main() rather than in probe_file()" in the branch, but i can't apply the -show_version one [20:47] <ubitux> ah, maybe show_frames& [20:47] <ubitux> mmh no doesn't apply [20:47] <saste> ubitux: wait [20:49] <saste> http://pastebin.com/qwaie9Ss [20:50] <ubitux> thanks [21:07] <michaelni> ubitux, typo locally fixed [21:24] <durandal_1707> how useful would be to do dithering filter(s) for libavfilter [21:47] <laurion> hi, can you help me, I want to fix a bug, do would you be kind to suggest an easy one? [21:48] <laurion> maybe a crash or invalid read, I did that for libav [21:53] <durandal_1707> laurion: search ffmpeg.org/trac/ffmpeg (note most of them are pretty hard) or find bug and fix it [21:53] <laurion> http://ffmpeg.org/trac/ffmpeg/ticket/123 [21:54] <laurion> can you help me get started with it? [21:54] <laurion> or is it too hard? [21:55] <laurion> what can you tell me about it? [21:56] <durandal_1707> you would need too downlad sample and see if it still cause crash [22:03] <laurion> maybe at line 259 in imgutils.c [22:03] <durandal_1707> what about it? [22:04] <OanaStratulat> michaelni: please extend with 1 day http://google-melange.appspot.com/gci/task/view/google/gci2011/7195360 [22:06] <laurion> durandal_1707, and how do i test it [22:06] <durandal_1707> test what? sample? [22:06] <laurion> yep [22:06] <laurion> valgrind? [22:07] <durandal_1707> does ffmpeg crash? [22:08] <laurion> how do i find out [22:08] <laurion> i'm new here [22:08] <durandal_1707> clone ffmpeg with git [22:09] <laurion> I am currently compiling it [22:09] <durandal_1707> build, install, and test [22:09] <laurion> the testing part how does it work? [22:09] <laurion> ffmpeg <file>? [22:11] <durandal_1707> if you have experience with avconv from Libav it is similar to ffmpeg [22:12] <OanaStratulat> ubitux: ping [22:12] <ubitux> yup? [22:12] <OanaStratulat> can you test a file for me and check if it hangs ? [22:13] <OanaStratulat> ubitux: ptp-roman.org/corruptfile [22:14] <ubitux> confirmed [22:14] <OanaStratulat> what is your valgrind report because mine shows some errors in at 0x3B066CD: misaligned_stack_error_entering_dyld_stub_binder (in /usr/lib/system/libdyld.dylib) [22:15] <ubitux> valgrind reports nothing here [22:16] <OanaStratulat> mine neither, so how can i find out where it hangs? [22:17] <ubitux> gdb, use ^C to break when it's in infinite loop, do a backtrace, locate the code where it is stalled, stare at the code & add printf to understand the issue [22:18] <ubitux> this is how i would do it, certainly not the ultimate way of doing things [22:18] <OanaStratulat> ok [22:19] <OanaStratulat> ubitux: found a file which uses like 4 gb of ram with ffmeg [22:20] <laurion> hmm there are no more ffmpeg tasks? [22:21] <michaelni> OanaStratulat, extended by 24h [22:21] <OanaStratulat> michaelni: thx [22:23] <OanaStratulat> ubitux: false alarm with that hang...it works but it takes some time [22:25] <durandal_1707> laurion: only extremly hard remains :/ [22:25] <laurion> which ones? [22:28] <laurion> durandal_1707, I don't see any [22:31] <durandal_1707> here is one http://google-melange.appspot.com/gci/task/view/google/gci2011/7185251 [22:35] <OanaStratulat> got a file that uses 5GB of memory and ffmpeg still runs [22:39] <OanaStratulat> ubitux: michaelni having this bt report in which function does it hang ? http://pastebin.com/EpWV6H74 in #5 or #1 ? [22:39] <OanaStratulat> #0 * [00:00] --- Sat Jan 7 2012
participants (1)
-
burek