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

burek burek021 at gmail.com
Thu May 17 02:05:03 CEST 2012


[00:18] <saste> ubitux: i was not aware of filter_design.txt at all
[00:19] <saste> i assume "negociation" is a typo?
[00:29] <ubitux> saste: nicolas added it recently (and btw asked you to complete it iirc ;))
[00:30] <ubitux> i guess that's a typo for negotiation?
[00:30] <saste> i ask because it is repeated two times...
[00:30] <ubitux> ah i don't know, i just had a really quick look
[00:40] <ubitux> saste: i don't see any repetition
[00:40] <ubitux> what are you talking about?
[00:42] <CIA-63> ffmpeg: 03Stefano Sabatini 07master * ra28aa76ac8 10ffmpeg/doc/filter_design.txt: doc/filtering_design: fix typo negociation -> negotiation
[00:42] <saste> ^^ about this
[00:42] <ubitux> there are a few other typos
[00:42] <ubitux> ah you mean 2x the typo
[00:44] <CIA-63> ffmpeg: 03Clément BSsch 07master * ra48abf5e26 10ffmpeg/doc/filter_design.txt: doc/filter_design: fix a few other typo.
[00:44] <saste> i'm uncomfortable with lavfi audio patches since we have no fate tests for them
[00:45] <saste> we could use the lavfi device for that, after all we're already using it for video...
[00:46] <ubitux> some audio testing would be appreciated yes :p
[00:46] <ubitux> i don't know if libav ppl are working on this
[00:47] <ubitux> it's likely they will do it differently that what we could do anyway
[00:48] <ubitux> saste: what was the reason of not having some already?
[00:49] <saste> long story...
[00:49] <saste> when mina was working on that that were regressions due to non bit-exact output
[00:49] <saste> that's why i implemented the lavfi device (well at least that was one of the reason)
[00:50] <saste> then the student somehow underperformed so we never got to the point of integrating his work on ffmpeg
[00:50] <saste> and we also discovered the other problems (e.g. the problem with async etc.)
[00:50] <ubitux> ok
[00:50] <saste> also lavu API was changing so i preferred to sleep on that
[00:51] <ubitux> right i see ok
[00:51] <saste> now times are apparently ripe for moving on
[00:51] <saste> also we can use lavd/lavfi like a light testing framework when audio filtering is not integrated into ffmpeg
[00:52] <ubitux> that doesn't sound bad to check the lavd path only at first
[00:55] <saste> also there is the silly <=8 channels limitations, do you know if we need to update filters code when we remove that?
[00:55] <ubitux> is there really still a <=8ch limit?
[00:56] <saste> filter code was accessing bufref->data[], which contains up to 8 plane pointers
[00:56] <ubitux> i thought it was gone after libav new api merges
[00:56] <saste> so the limitation exists at least for planar audio frames
[00:56] <saste> yes but the audio filter code was not i suppose
[00:56] <saste> that's why i'm asking
[00:57] <saste> on the other hand right now i'm not even sure we can select an channel layout with more than 8 channels
[00:57] <saste> indeed i remember that i placed some nasty assert here and there
[00:57] <ubitux> mmh i think there is one
[00:58] <ubitux> ah, maybe not.
[00:59] <ubitux> maybe specifying a channel layout like FL+FR+FC+... we can get one
[00:59] <saste> allright i'll update aevalsrc and will use it for testing stuff, maybe i'll manage to add a fate test based on that
[01:00] <ubitux> don't we have a atestsrc?
[01:00] <ubitux> to generate more common patterns like audiogen
[01:01] <ubitux> we have mptestsrc and testsrc, but no atestsrc :(
[01:11] <saste> audio is simpler than video, so aevalsrc can be used for generating various types of signals
[01:12] <saste> no need of a specific atestsrc source imo
[02:30] <CIA-63> ffmpeg: 03Janne Grunau 07master * r093c50a4f6 10ffmpeg/avprobe.c: 
[02:30] <CIA-63> ffmpeg: avprobe: close opened codecs after use
[02:30] <CIA-63> ffmpeg: Fixes "memleak" on closing avprobe to make valgrind happy.
[02:30] <CIA-63> ffmpeg: 03Janne Grunau 07master * r31f2c0231f 10ffmpeg/avprobe.c: avprobe: free options at the end of main()
[02:30] <CIA-63> ffmpeg: 03Robert Nagy 07master * r7dd56d411e 10ffmpeg/libavfilter/vf_yadif.c: 
[02:30] <CIA-63> ffmpeg: yadif: Improve pts accuracy.
[02:30] <CIA-63> ffmpeg: Signed-off-by: Anton Khirnov <anton at khirnov.net>
[02:30] <CIA-63> ffmpeg: 03Mans Rullgard 07master * r7c6d240665 10ffmpeg/ (libavformat/mtv.c tests/ref/fate/mtv): 
[02:30] <CIA-63> ffmpeg: mtv: do not byteswap raw video in demuxer
[02:30] <CIA-63> ffmpeg: Signed-off-by: Mans Rullgard <mans at mansr.com>
[02:30] <CIA-63> ffmpeg: 03Robert Nagy 07master * r394a0267ab 10ffmpeg/libavfilter/vf_yadif.c: 
[02:30] <CIA-63> ffmpeg: yadif: Flush filter on eof.
[02:30] <CIA-63> ffmpeg: Signed-off-by: Anton Khirnov <anton at khirnov.net>
[02:30] <CIA-63> ffmpeg: 03Anton Khirnov 07master * r5775a1832c 10ffmpeg/libavfilter/ (avfilter.h formats.c formats.h): lavfi: add types and functions for channel layout/samplerate negotiation
[02:30] <CIA-63> ffmpeg: 03Anton Khirnov 07master * rfd127ede62 10ffmpeg/libavfilter/avfiltergraph.c: avfiltergraph: reindent
[02:30] <CIA-63> ffmpeg: 03Anton Khirnov 07master * rfad729fa50 10ffmpeg/libavfilter/ (Makefile vsrc_buffer.c): 
[02:30] <CIA-63> ffmpeg: lavfi: rename vsrc_buffer.c to buffersrc.c
[02:30] <CIA-63> ffmpeg: Most of the code will be shared for both audio and video version.
[02:30] <CIA-63> ffmpeg: 03Anton Khirnov 07master * rff1f51a8aa 10ffmpeg/libavfilter/ (af_resample.c avfilter.c avfiltergraph.c defaults.c): lavfi: add channel layout/sample rate negotiation.
[02:30] <CIA-63> ffmpeg: 03Anton Khirnov 07master * r8b05e13df3 10ffmpeg/libavfilter/buffersrc.c: buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
[02:31] <CIA-63> ffmpeg: The FATE changes are all off-by-one due to different rounding being used
[02:31] <CIA-63> ffmpeg: (lrintf vs av_rescale_q).
[02:31] <CIA-63> ffmpeg: 03Anton Khirnov 07master * r6eeb9a0433 10ffmpeg/ (avconv.c doc/avconv.texi): 
[02:31] <CIA-63> (35 lines omitted)
[03:59] <CIA-63> ffmpeg: 03Michael Bradshaw 07master * rbb008f0ad1 10ffmpeg/libavformat/avformat.h: 
[03:59] <CIA-63> ffmpeg: Mention AVFMT_SEEK_TO_PTS in AVInputFormat flags docs
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Bradshaw <mbradshaw at sorensonmedia.com>
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:59] <CIA-63> ffmpeg: 03Michael Bradshaw 07master * r1f3f7bd444 10ffmpeg/libavformat/nutdec.c: 
[03:59] <CIA-63> ffmpeg: Add AVFMT_SEEK_TO_PTS to nut demuxer flags
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Bradshaw <mbradshaw at sorensonmedia.com>
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:59] <CIA-63> ffmpeg: 03Michael Niedermayer 07master * r75492cce8e 10ffmpeg/libavfilter/af_aresample.c: 
[03:59] <CIA-63> ffmpeg: lavfi: fix resample with differing formats
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:59] <CIA-63> ffmpeg: 03Michael Niedermayer 07master * r88d5cfe7c8 10ffmpeg/libavfilter/avfiltergraph.c: 
[03:59] <CIA-63> ffmpeg: avfiltergraph: switch to swresample by default
[03:59] <CIA-63> ffmpeg: all known bugs in the interface code have been fixed
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:59] <CIA-63> ffmpeg: 03Michael Niedermayer 07master * refdc895fbd 10ffmpeg/libavfilter/af_aresample.c: 
[03:59] <CIA-63> ffmpeg: lavfi: fix pts rescaling in the resampler
[03:59] <CIA-63> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:59] <CIA-63> ffmpeg: 03Piotr Bandurski 07master * re5e20a3d31 10ffmpeg/libavcodec/dv_profile.c: 
[07:41] <floater_f432c> hi
[07:41] <floater_f432c> how do i grab a single image from a video ? ffmpeg -ss "$(expr $count \* $v10)" -i "$fn" -r 1 -t 0.5 "/tmp/asd/prev_"$count".png"
[07:41] <floater_f432c> this fails.
[07:42] <floater_f432c> [image2 @ 0x2eb5580] Could not get frame filename number 2 from pattern '/tmp/asd/prev_8.png'
[07:42] <floater_f432c> av_interleaved_write_frame(): Invalid argument
[07:42] <floater_f432c> at random interval
[07:51] <floater_f432c> fn="59592275.flv"; vlen=$(ffmpeg -i "$fn" 2>&1 | grep -i lasttimestamp | sed -E 's;[^:]*:[ ]*([0-9]+).*;\1;'); v10=$(expr $vlen / 10); seq 0 1 9 | while read count; do ffmpeg -ss "$(expr $count \* $v10)" -i "$fn" -r 1 -an "/tmp/asd/prev_"$count".png"; done
[07:51] <floater_f432c> this should extract 10 preview images from the input video, apparently it extracts 4 and gives errors
[07:52] <ubitux> -frames:v 1
[07:55] <floater_f432c> same
[07:55] <floater_f432c> code error?
[07:55] <floater_f432c> ( latest git )
[07:56] <ubitux> pastebin your full command line, and output
[08:14] <floater_f432c> ffmpeg create image preview from video  http://pastebin.com/9tKdYvz2
[08:14] <floater_f432c> what is wrong? :(
[08:14] <floater_f432c> i have tried doing it without the wile loop, it works
[08:15] <ubitux> start moving the -ss after the -i
[08:15] <ubitux> also it seems to work afaict from your output
[08:15] <floater_f432c> its like ffmpeg corrupts the while loop
[08:16] <ubitux> except some bug in your script
[08:16] <floater_f432c> remove the ffmpeg, leave the echo and its ok
[08:16] <ubitux> (Invalid duration specification for ss, expr: non-integer argument, ...)
[08:16] <floater_f432c> yea
[08:16] <floater_f432c> ;/
[08:17] <ubitux> ffmpeg corrupting the while loop? i don't understand
[08:17] <ubitux> you just seem to have a shell scripting issue :)
[08:21] <floater_f432c> o yea found the problem
[08:21] <floater_f432c> ffmpeg eats stdin
[08:23] <floater_f432c> fnx="59592275.flv"; vlenx=$(ffmpeg -i "$fnx" 2>&1 | grep -i lasttimestamp | sed -E 's;[^:]*:[ ]*([0-9]+).*;\1;'); v10x="$(expr "$vlenx" / 10)"; seq 0 1 9 | while read countx; do echo ffmpeg -ss "$(expr "$countx" \* "$v10x")" -i "$fn" -an -frames:v 1 "/tmp/asd/prev_"$countx".png"; ffmpeg -ss "$(expr "$countx" \* "$v10x")" -i "$fnx" -an -frames:v 1 "/tmp/asd/prev_"$countx".png" < /dev/null; done
[08:23] <floater_f432c> this works ^^
[08:24] <floater_f432c> creates 10 screenshots from the video in 10% increments
[08:32] <CIA-63> ffmpeg: 03Carl Eugen Hoyos 07master * r183596fa08 10ffmpeg/libavcodec/avuidec.c: 
[08:32] <CIA-63> ffmpeg: Support more Avid Meridien / AVUI samples.
[08:32] <CIA-63> ffmpeg: Fixes ticket #1288.
[09:04] <xxthink> how to enable ffmpeg to link opencv statically?
[09:05] <xxthink> now it is dynamically linked
[09:06] <xxthink> I modified the config.mak file 
[09:06] <xxthink> http://pastebin.com/5K8dwRvW
[09:06] <xxthink> but it doesn't work
[09:07] <xxthink> compiling is ok
[13:17] <CIA-63> ffmpeg: 03Stefano Sabatini 07master * r4d4098da00 10ffmpeg/ (28 files in 5 dirs): 
[13:17] <CIA-63> ffmpeg: lavfi: drop planar/packed negotiation support
[13:17] <CIA-63> ffmpeg: The planar/packed switch and the packing_formats list is no longer
[13:17] <CIA-63> ffmpeg: required, since the planar/packed information is now stored in the sample
[13:17] <CIA-63> ffmpeg: format enum.
[13:17] <CIA-63> ffmpeg: This is technically a major API break, possibly it should be not too
[13:17] <CIA-63> ffmpeg: painful as we marked the audio filtering API as unstable.
[13:21] <CIA-63> ffmpeg: 03Stefano Sabatini 07master * re109e392ba 10ffmpeg/ffprobe.c: 
[13:21] <CIA-63> ffmpeg: ffprobe: remove unused variable i in probe_file()
[13:21] <CIA-63> ffmpeg: Fix warning:
[13:21] <CIA-63> ffmpeg: ffprobe.c: In function probe_file:
[13:21] <CIA-63> ffmpeg: ffprobe.c:1576:14: warning: unused variable i [-Wunused-variable]
[13:31] <ubitux> great :)
[13:49] <saste> uhm channel layout negotiation is no longer working
[14:18] <michaelni> saste since the merge or since some comit afterwards ?
[14:21] <saste> michaelni: since the merge
[14:21] <saste> check for example lavfi-showfiltfmt with any filter
[14:21] <saste> chlayouts won't be shown at all
[14:22] <saste> and I don't like the "new" formats api at all
[14:22] <saste> nor can understand the need for "negotiating" sample rates
[14:29] <michaelni> i dont like the new api either, its a big poorly designed mess
[14:30] <michaelni> i think there is at least one filter that needs a specific sample rate
[14:31] <michaelni> also some things like DVD/DVB need specific sample rates so id say the sample rate negot is kinda odd but not totally useless
[14:32] <michaelni> if anyone wonders what to do about it -> improve it, send patch or pull request <-
[14:32] <michaelni> or straight commit if write account is available
[15:11] <michaelni> saste, "tools/lavfi-showfiltfmts earwax" works fine, which other filter is expected to set a explicit layout ?
[15:12] <saste> never mind: now all = none, so it is just expected that no channel layouts are displayed
[15:13] <saste> ffplay -f lavfi -i "aevalsrc=sin(420*2*PI*t)::s=44100" => crashing
[15:14] <michaelni> saste, missing setting of samplerates in query_formats()
[15:16] <michaelni> saste, do you want to fix it or should i look into it ?
[15:16] <saste> i'm trying to fix it, yet this sample rates configuration thing sounds really sick
[15:19] <michaelni> saste, iam still not sure its really that sick, consider a filter adding/mixing 2 inputs, their sample rates better match and this would benefit from sr negot
[15:19] <saste> this can be done at configuration level
[15:20] <saste> on the same ground you would need to negotiate supported "frame sizes" on video filters
[15:20] <saste> also there is the all == none thing which leads to subtle bugs, and counter-intuitive logic
[15:22] <michaelni> agree but then it solves supporting all channel layouts, its hard to list all due to amount
[15:22] <saste> it's not like most audio filters will only support a limited number of sample rates, so in all looks like a bad design choice
[15:23] <michaelni> true
[15:23] <saste> we already had a solution to that, altough had some limitations
[15:24] <saste> in general negotiation makes sense when you have a limited number of choices, and that was valid for *all* the filters
[15:24] <saste> also enumerating supported things was useful for testing purposes
[15:24] <saste> having all == none defeats that purpose
[15:26] <michaelni> negot also makes sense when you have a complex filter network where most filters have dependancies between in/out rates
[15:26] <michaelni> so as to keep the number of converters in the network small
[15:30] <CIA-63> ffmpeg: 03Stefano Sabatini 07master * r986d2f6ec0 10ffmpeg/libavfilter/asrc_aevalsrc.c: 
[15:30] <CIA-63> ffmpeg: lavfi/aevalsrc: fix sample rate negotiation, after the last merge
[15:30] <CIA-63> ffmpeg: Fix crash.
[15:40] <saste> basically sample rate negotiation is useful for auto-inserting filters during the negotiation phase
[15:40] <saste> i acknowledge that's useful in the case of audio, since during the configuration stage it's too late for auto-inserting filters
[16:20] <CIA-63> ffmpeg: 03Stefano Sabatini 07master * re556121ec1 10ffmpeg/libavfilter/asrc_aevalsrc.c: 
[16:20] <CIA-63> ffmpeg: lavfi/aevalsrc: correct the supported sample format
[16:20] <CIA-63> ffmpeg: The source supports *planar* double, fix regression introduced by me in
[16:20] <CIA-63> ffmpeg: 4d4098da.
[19:59] <tibo> hi, how can I take ownership of an AVFrame* after calling avcodec_decode_video2 ? Or, what's the way to save the frame in a queue. I looked at avpicture_copy / fill etc, but I get a distored image... any idea ?
[21:41] <floater_f432c> hey
[21:41] <floater_f432c> can ffmpeg fade out audio at end of video stream?
[21:42] <Freakshow> that is a good question...
[21:43] <floater_f432c> i see it can fade out video...
[22:18] <CIA-63> ffmpeg: 03Piotr Bandurski 07master * r4d37877632 10ffmpeg/ (libavcodec/aasc.c libavformat/riff.c): 
[22:18] <CIA-63> ffmpeg: aasc: support "Autodesk 24 bit RLE compressor" (FourCC: aas4)
[22:18] <CIA-63> ffmpeg: fixes ticket #1310
[22:18] <CIA-63> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:24] <burek> the volume audio filter could be edited
[22:24] <burek> to provide that behavior
[22:36] <CIA-63> ffmpeg: 03Mans Rullgard 07master * rdb465be45d 10ffmpeg/libavformat/utils.c: 
[22:36] <CIA-63> ffmpeg: lavf: add mdec to is_intra_only() list
[22:36] <CIA-63> ffmpeg: Signed-off-by: Mans Rullgard <mans at mansr.com>
[22:36] <CIA-63> ffmpeg: 03Mans Rullgard 07master * rc68adc7b2f 10ffmpeg/tests/ (fate/demux.mak ref/fate/psx-str ref/fate/psx-str-demux): 
[22:36] <CIA-63> ffmpeg: fate: convert psx-str to a demuxer test
[22:36] <CIA-63> ffmpeg: While these codecs are covered elsewhere, the container is different
[22:36] <CIA-63> ffmpeg: from the other psx-str file.
[22:36] <CIA-63> ffmpeg: Signed-off-by: Mans Rullgard <mans at mansr.com>
[22:36] <CIA-63> ffmpeg: 03Mans Rullgard 07master * r6d042f7989 10ffmpeg/tests/ (fate/demux.mak fate/video.mak ref/fate/psx-str-v3-mdec): 
[22:36] <CIA-63> ffmpeg: fate: rename psx-str-v3-mdec to mdec-v3
[22:36] <CIA-63> ffmpeg: This name better reflects that it is v3 of mdec that is tested.
[22:36] <CIA-63> ffmpeg: Signed-off-by: Mans Rullgard <mans at mansr.com>
[22:36] <CIA-63> ffmpeg: 03Kostya Shishkov 07master * r81064a8045 10ffmpeg/libavcodec/indeo3.c: 
[22:36] <CIA-63> ffmpeg: indeo3: initialise pixel planes on allocation
[22:36] <CIA-63> ffmpeg: This prevents decoder from reading garbage from it in case of errors later.
[22:36] <CIA-63> ffmpeg: 03Kostya Shishkov 07master * rbc00da2701 10ffmpeg/libavcodec/indeo3.c: indeo3: when freeing buffers, set pointers referencing them to NULL as well
[22:36] <CIA-63> ffmpeg: 03Diego Biurrun 07master * r4982e1ddfa 10ffmpeg/ (Makefile doc/developer.texi): build: Add 'check' target to run all compile and test targets.
[22:36] <CIA-63> ffmpeg: 03Kostya Shishkov 07master * r6de226a2b8 10ffmpeg/libavcodec/indeo3.c: indeo3: validate new frame size before resetting decoder
[22:36] <CIA-63> ffmpeg: 03Aneesh Dogra 07master * r46ea46357a 10ffmpeg/libavcodec/tta.c: 
[22:36] <CIA-63> ffmpeg: tta: Fix comment about channel number; TTA supports >2 channels.
[22:36] <CIA-63> ffmpeg: Signed-off-by: Diego Biurrun <diego at biurrun.de>
[22:36] <CIA-63> ffmpeg: 03Diego Biurrun 07master * r91791ac2ed 10ffmpeg/libavfilter/ (avfilter.c video.c): 
[22:36] <CIA-63> ffmpeg: avfilter: Move ff_get_ref_perms_string() to where it is used.
[22:36] <CIA-63> ffmpeg: This fixes a compilation failure with -DDEBUG.
[22:36] <CIA-63> ffmpeg: fate: use standard diff options
[22:36] <CIA-63> ffmpeg: diff -w is not a standard option. This fixes the reference files
[22:36] <CIA-63> ffmpeg: to match what the tests actually output and switches to using the
[22:36] <CIA-63> ffmpeg: standard diff -b which is sufficient to handle different line ending
[22:36] <CIA-63> ffmpeg: styles.
[22:36] <CIA-63> ffmpeg: Signed-off-by: Mans Rullgard <mans at mansr.com>
[22:36] <CIA-63> ffmpeg: 03Justin Ruggles 07master * r95a98ab3f0 10ffmpeg/libavcodec/x86/ (ac3dsp.asm ac3dsp_mmx.c): 
[22:36] <CIA-63> ffmpeg: ac3dsp: simplify x86 versions of ac3_max_msb_abs_int16
[22:36] <CIA-63> ffmpeg: Simplifies the code by using cpuflags and a new macro.
[22:36] <CIA-63> ffmpeg: Also fixes the invalid use of the MMX2 pshufw operation in the MMX-only
[22:36] <CIA-63> ffmpeg: function.
[22:36] <CIA-63> ffmpeg: 03Michael Kostylev 07master * r6797d1948b 10ffmpeg/libavcodec/x86/ (rv40dsp.asm rv40dsp_init.c): x86: rv40: Mark rv40_weight functions as MMX2; they use MMX2 instructions.
[22:37] <CIA-63> (18 lines omitted)
[23:43] <nijm> I asked this on #ffmpeg and was told to ask here. I'm following libavformat tutorial here: http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html ...
[23:43] <nijm> I'm trying to find all the video streams in my file and print out the stream number for each
[23:44] <nijm> But my program is segfaults whenever I try to access the streams field of AVFormatContext.
[23:46] <nijm> My code is here: http://pastebin.com/D1PM5aAm It differs only slightly from the tutorial, and I can't figure out why it doesn't work.
[23:47] <nijm> Do I need to do anything other than avformat_open_input() & avformat_find_stream_info() before I try to access the AVFormatContext streams?
[23:48] <burek> nijm, I just saw your tutorial link... last update: Update (January 23 2009):
[23:48] <burek> 2 years is a lot of time for an active multimedia project, like ffmpeg
[23:49] <burek> so, pretty much everything changed since then
[23:49] <nijm> I've replaced all the deprecated calls with the current equivalents.
[23:49] <burek> you either need to find more up-to-date tutorial or take a look at ffmpeg source code docs/examples/ directory
[00:00] --- Thu May 17 2012


More information about the Ffmpeg-devel-irc mailing list