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

burek burek021 at gmail.com
Sun Jun 24 02:05:03 CEST 2012


[00:20] <saste> ubitux: how do you create FFDemuxSubtitlesQueue?
[00:20] <saste> do you simply has to alloc it and fill with 0?
[00:31] <ubitux> yes
[00:31] <ubitux> ATM at least :)
[00:45] <CIA-119> ffmpeg: 03Stefano Sabatini 07master * r201b409da0 10ffmpeg/libavcodec/pcm.c: 
[00:45] <CIA-119> ffmpeg: lavc/pcm: clarify error message from pcm_decode_frame()
[00:45] <CIA-119> ffmpeg: Extend/clarify an error message in case of invalid packet size, and
[00:45] <CIA-119> ffmpeg: return a proper error message instead of -1.
[00:45] <CIA-119> ffmpeg: Improve debuggability.
[00:45] <CIA-119> ffmpeg: 03Stefano Sabatini 07master * r1dce2368bb 10ffmpeg/libavfilter/buffersrc.c: lavfi/buffer: apply misc consistency nits
[00:45] <CIA-119> ffmpeg: 03Stefano Sabatini 07master * rc0ca840837 10ffmpeg/libavfilter/buffersrc.c: lavfi/buffer: remove unused function av_vsrc_buffer_add_frame_alt()
[00:45] <CIA-119> ffmpeg: 03Stefano Sabatini 07master * r39e019e8c1 10ffmpeg/ffplay.c: 
[00:45] <CIA-119> ffmpeg: ffplay: add cast to fix warning in configure_video_filters()
[00:45] <CIA-119> ffmpeg: Fix warning:
[00:45] <CIA-119> ffmpeg: ffplay.c:1578:40: warning: passing argument 5 of avfilter_graph_create_filter discards const qualifier from pointer target type [enabled by default]
[00:45] <CIA-119> ffmpeg: libavfilter/avfiltergraph.h:84:5: note: expected void * but argument is of type const enum PixelFormat *
[00:47] <CIA-119> ffmpeg: 03Paul B Mahol 07master * r9277965883 10ffmpeg/libavcodec/bmpenc.c: 
[00:47] <CIA-119> ffmpeg: bmpenc: use av_assert()
[00:47] <CIA-119> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[00:48] <saste> ubitux: maybe you want to comment on patch: lavfi/avcodec: deprecate avfilter_fill_frame_from_*_buffer_ref API
[00:57] <ubitux> saste: ok, give me a few minutes
[00:58] <saste> ubitux: no hurry at all, i'm going to sleep and i won't be online in the next 24 hours
[00:58] <ubitux> ok :)
[00:58] <saste> i asked before you contributed in that area (fill_audio_...)
[00:58] <ubitux> then i'll go to bed as well, i'm dying right now
[00:58] <ubitux> buffer is opened, i won't forget tomorrow
[00:58] <ubitux> 'night
[00:59] <saste> ok, don't forget to flush it at the end of the day though
[00:59] <ubitux> :)
[01:39] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * ra619fd277a 10ffmpeg/libavcodec/mjpegenc.c: 
[01:39] <CIA-119> ffmpeg: mjpegenc: enable frame multithreading encoder
[01:39] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[01:39] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * r9eae43ddcf 10ffmpeg/libavcodec/avcodec.h: 
[01:39] <CIA-119> ffmpeg: lavc: add intra only codec flag
[01:39] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[01:39] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * r094c5e6c55 10ffmpeg/libavcodec/mjpegenc.c: 
[01:39] <CIA-119> ffmpeg: mjpegenc: mark as intra only
[01:39] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[01:39] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * r0c851e4642 10ffmpeg/libavcodec/ (internal.h pthread.c): 
[01:39] <CIA-119> ffmpeg: threads: make get_logical_cpus() available outside pthread.c
[01:39] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[01:39] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * rfde1bc64ad 10ffmpeg/libavcodec/ (5 files): 
[01:39] <CIA-119> ffmpeg: lavc: add frame multithreading capability (currently intra only)
[01:39] <CIA-119> ffmpeg: Compared to the decoder side, this code is able to change both the
[01:39] <CIA-119> ffmpeg: delay and the number of threads seamlessly during encoding. Also
[01:39] <CIA-119> ffmpeg: any idle thread can pick up tasks, the strict round robin in order
[02:30] <CIA-119> ffmpeg: 03Paul B Mahol 07master * r53cec46b25 10ffmpeg/libavcodec/libschroedingerdec.c: 
[02:30] <CIA-119> ffmpeg: libschroedingerdec: remove unused header
[02:30] <CIA-119> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[02:49] <durandal_1707> michaelni: AVFMT_TS_DISCONT does nothing
[02:51] <durandal_1707> aha it is used by ffmpeg
[02:53] <CIA-119> ffmpeg: 03Paul B Mahol 07master * re9d5c0520f 10ffmpeg/libavcodec/ (6 files): 
[02:53] <CIA-119> ffmpeg: lavc: use designated initializers for AVClasses
[02:53] <CIA-119> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[11:31] <jesk> hi
[11:31] <jesk> I'am asking me how to interpret mp4 files
[11:32] <jesk> i'am quite noobish coder, just with a little bit of perl experiences
[11:32] <jesk> so not a lot of background
[11:32] <jesk> i know that mp4 has a tree-like structure
[11:32] <ubitux> look for the iso base media specification, it is free
[11:32] <jesk> atoms have headers, kind of type/value pairs, and contain meta informations and some contain data
[11:33] <jesk> what i don't get, and i had a look at the quicktime/mov specs which are quite extensive, is that i can't see the way the atoms reference to each other
[11:34] <ubitux> most of the atoms can only have one specific parent
[11:34] <jesk> they seem to be located *somewhere* in the file, not byte to byte neighbored
[11:35] <ubitux> really, look at the iso base media specs
[11:35] <ubitux> it is much better
[11:35] <jesk> is it really easy to understand for a noob?
[11:35] <ubitux> you even have an example of a tree
[11:35] <ubitux> yes
[11:35] <jesk> i have a tree here, using dumpster from apple
[11:36] <jesk> but i dont understand how one can parse it
[11:36] <ubitux> hardcode
[11:37] <jesk> how to search for atom-x?
[11:37] <jesk> no index anywhere
[11:37] <ohsix> why would you search
[11:37] <jesk> whyever
[11:37] <ubitux> you need to have a list of the atom you can "enter" in
[11:37] <ubitux> atoms*
[11:38] <jesk> ok, but i still don't know where they are :-)
[11:38] <jesk> ohsix, because I need to parse the atoms?
[11:38] <ohsix> start at the beginning, skip the ones you aren't interested in, they have sizes :]
[11:39] <jesk> so i need to run through the whole file using the atom sizes to skip atom by atom (using the offset of each atom) to the final byte i'am interested in?
[11:39] <jesk> isn't that pretty intensive?
[11:40] <jesk> why does such a file have no index?
[11:40] <jesk> if these are stupid questions, sorry for that, just need to learn
[11:40] <ohsix> it's less intensive than scrubbing the entire file for the atom you want
[11:40] <ubitux> you should have around 50 atoms in whole the file
[11:41] <ubitux> so it's fast to do so
[11:41] <jesk> but i have to parse the whole file
[11:41] <jesk> what if reading is quite slow or it's a stream i cant seek?
[11:41] <ubitux> what is 50 read & seek?
[11:42] <ubitux> can't seek in a mov file? then good luck.
[11:42] <ubitux> what do you mean by "parse"?
[11:42] <ohsix> you only have to read & skip until you get the atom you want :]
[11:42] <ubitux> a mp4 is just a header and a huge data blob
[11:42] <ubitux> all the atoms are in the header
[11:43] <jesk> jumping from atom to atom to get to the final one i'am interested in, that was what i meant with parsing, sorry wrong term for that
[11:44] <jesk> ohh
[11:44] <jesk> so it isnt like that:
[11:44] <jesk> atom-1 offset 1000: meta-data, blabla, 
[11:44] <jesk> atom-2 offset 1234: foobar
[11:45] <jesk> atom-3 offset 1000M: !video stream!
[11:45] <jesk> atom-4 offset 1001M: meta data again
[11:45] <jesk> real content is either before the atoms or after the atoms?
[11:45] <ohsix> i think all that it "is" is one page in the spec :D
[11:46] <jesk> hehe
[11:46] <jesk> i'am sure it wont answer my questions, i'am experienced with this :P
[11:46] <jesk> but before annoying you I give it a try
[11:47] <jesk> thanks so far
[13:42] <CIA-119> ffmpeg: 03Nicolas George 07master * rbd9939f495 10ffmpeg/libavfilter/avfilter.c: lavfi: display pad type with mismatch error message.
[15:24] <funman> wbs: i found qcom source code :)))
[15:25] <wbs> funman: oh, wow, where did you find it?
[15:27] <CIA-119> ffmpeg: 03Nicolas George 07master * r6d627eae3c 10ffmpeg/libavfilter/avf_showwaves.c: 
[15:27] <CIA-119> ffmpeg: showwaves: fix first sample of frame test.
[15:27] <CIA-119> ffmpeg: Avoids a huge memleak when n != 1.
[15:27] <CIA-119> ffmpeg: 03Nicolas George 07master * r6fd0b55ab2 10ffmpeg/libavfilter/avf_showwaves.c: showwaves: fix PTS computation.
[15:28] <funman> just googled for a symbol (nv12tilecomputergb) and it was top link
[16:00] <wbs> ah, nice, so code aurora forum has it
[16:03] <j-b> wbs: more or less, but hard to understand, I think
[16:10] <funman> especially the .cpp part of the filename
[18:03] <burek> is there an option in ffmpeg to drop metadata like -vn or -an -sn.. does -dn do that?
[18:10] <ubitux> -map_metadata -1 maybe
[18:10] <ubitux> or sth like that
[18:21] <burek> in -metadata html docs, there is a line:
[18:21] <burek> "This option overrides metadata set with -map_metadata. It is also possible to delete metadata by using an empty value."
[18:21] <burek> how to specify an empty value?
[18:21] <ubitux> -metadata '' ?
[18:22] <burek> No '=' character in metadata string .
[18:22] <burek> :)
[18:23] <burek> hmh.. it would be great if docs would contain an example to clear entire metadata..
[18:54] <burek> uh.. can someone confirm.. ffmpeg -i http://www.sky.fm/mp3/beatles.pls -acodec copy out.mp3
[18:54] <burek> does it give a segfault?
[18:54] <burek> glibc something
[18:55] <burek> my bad.. outdated ffmpeg.. sorry :$
[21:00] <jesk> checked some resources for getting clue about MP4
[21:01] <jesk> can anyone say me in which atom the reference is stored to find the actual data/stream of a track?
[21:03] <ubitux> moov->trak->mdia->minf->stbl->[all the samples/chunk tables] ?
[21:05] <Compn> jesk : do you need a ref sample ?
[21:05] <Compn> mplayer mov demuxer handles them
[21:05] <Compn> so you could check there 
[21:05] <Compn> and there is the mp4 page on the wiki which should explain most atoms
[21:06] <jesk> just trying to get clue in general :)
[21:06] <ubitux> jesk: there is one annex in the iso base media spec describing how a seek is done
[21:06] <ubitux> it gives an example on how to deal with the stbl sub atoms
[21:08] <jesk> its really extensive to get into the media stuff
[21:08] <jesk> i have nearly zero knowledge
[21:09] <ubitux> mov/mp4 isn't simple :(
[21:09] <jesk> stumbling across complexity which is hard to understand and without knowing why is it there at all
[21:11] <ubitux> the main point of mov/mp4 is editing
[21:11] <ubitux> so you have a big blob of data (the mdat) you don't touch
[21:11] <ubitux> and you can edit the whole presentation by just changing random stuff in the big tree header
[21:12] <jesk> i remember 10 years back when i wrote simple id3tag editor in perl
[21:12] <jesk> i only remember that it was quite easy
[21:12] <jesk> but video/media stuff seems a lot of different
[21:13] <jesk> as it describes much more than just some meta informations 
[21:16] <jesk> have a movie here where the mdat is before the moov
[21:17] <jesk> to find the moov i need to use offset+size of the mdat, right?
[21:18] <ubitux> depends if it's at the beginning or the end of the file
[21:18] <ubitux> just skip atom per atom until you get the moov
[21:18] <jesk> ok
[21:22] <jesk> the apple atom inspector is somewhat unstable, terrible
[21:24] <jesk> it's hanging for minutes when trying to get access to stts
[21:27] <CIA-119> ffmpeg: 03Mashiat Sarker Shakkhar 07master * rf7595fb3b5 10ffmpeg/libavformat/img2enc.c: 
[21:27] <CIA-119> ffmpeg: image2: Add "start_number" private option to the muxer
[21:27] <CIA-119> ffmpeg: This adds the capability to start counting file number from an arbitrary
[21:27] <CIA-119> ffmpeg: integer instead of always starting at 1.
[21:27] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[21:27] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * rbe64d5f520 10ffmpeg/libavcodec/snow.c: 
[21:27] <CIA-119> ffmpeg: snow.c: use av_assert
[21:27] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[21:27] <CIA-119> ffmpeg: 03Michael Niedermayer 07master * rf8fe4d2295 10ffmpeg/libavcodec/snow.h: 
[21:27] <CIA-119> ffmpeg: snow.h: use av_assert
[21:27] <CIA-119> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:10] <jesk> ubitux, is it possible to create the mdat at the end of the file instead of the beginning?
[22:10] <jesk> want to try out if it makes difference when using airplay
[22:10] <ubitux> in two pass, yes
[22:11] <jesk> so need to write the file twice
[22:15] <jesk> ubitux, can i kindly ask you how you are "browsing" atoms, do you have your own custom tools or something which is available for mortals too?
[22:15] <jesk> the apple inspector is pita
[22:15] <ubitux> you can write it easily
[22:16] <ubitux> that's a good exercise to understand how it's organized
[22:17] <jesk> true :)
[22:17] <ubitux> make a list of atoms you want to descend in, read one atom size+type, print it, if type is in the list, then read N atoms until you reach the container size, etc. 
[22:22] <jesk> yeah
[23:18] <aquarat> does anyone know what this means : "[mp4 @ 0x22f2ca0] Tag [1][0][0][0]/0x00000001 incompatible with output codec id '65536'"
[23:21] <durandal_1707> 65536 should be PCM_S16LE
[23:27] <aquarat> mmm
[23:28] <aquarat> well the input audio codec is stated as PCM_S16LE
[23:28] <aquarat> but it's a 5.1 stream
[23:28] <aquarat> from an Sony AVCHD camera
[23:28] <aquarat> *a
[23:29] <aquarat> the camera does record 5.1, but I assumed it would be something like AC3
[23:30] <aquarat> durandal_1707
[23:30] <Daemon404> i dont think pcm_s16_le is a valid thing to put in an mp4
[23:31] <Daemon404> woops, an extra underscore got in there.
[23:31] <aquarat> no worries
[23:31] <aquarat> I'll try converting it to something else
[23:31] <aquarat> I didn't even realise PCM_16le could be 5.1`
[23:32] <aquarat> ...especially from a consumer-grade camera
[23:33] <nevcairiel> i would hope it compresses the audio a bit, 6 channel uncompressed pcm is alot of bandwidth
[23:33] <aquarat> yes
[23:33] <kierank> only about 5mbit
[23:33] <aquarat> lol
[23:34] <aquarat> 4.5mbit/sec
[23:34] <aquarat> it's a sony HDR-TD10
[23:34] <aquarat> the footage went through an intermediate because ffmpeg doesn't support MVC
[23:35] <aquarat> that may have decompressed the original stream
[00:00] --- Sun Jun 24 2012


More information about the Ffmpeg-devel-irc mailing list