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

burek burek021 at gmail.com
Mon Dec 10 02:05:02 CET 2012


[01:01] <cone-616> ffmpeg.git 03Piotr Bandurski 077f0124757298: tiff: support zlib with invertedFillOrder
[02:50] <cone-616> ffmpeg.git 03Paul B Mahol 0792f630eaf21c: add forgotten AV_ prefix to some CODEC_IDs
[03:43] <cone-616> ffmpeg.git 03Clément BSsch 074c554c967f74: lavc/libcelt: add missing internal.h include.
[03:47] <ubitux> (--enable-libcelt added to the shared+libs fate instance)
[04:42] <ubitux> pross-au: nits: "char *value", "return av_dict_set...", bad align for the last return
[04:42] <ubitux> oh and bad align for unsigned len
[04:43] <ubitux> btw, you return and not set a parse cb?
[04:44] <ubitux> mmh i guess because of the key, ok
[05:33] <pross-au> ubitux: will take a look. thanks.
[05:37] <pross-au> ubitux: yes, when key is set, mov wants to read in the string length, which are not used with the @PRx tags
[06:07] <cone-616> ffmpeg.git 03Michael Niedermayer 07e8ca7cfa4f42: h264: avoid calling idr() twice
[10:24] <pross-au> left open for a reason? https://ffmpeg.org/trac/ffmpeg/ticket/1709
[10:26] <cone-298> ffmpeg.git 03Carl Eugen Hoyos 0766dc3ba356e6: Flip zerocodec output.
[11:36] <michaelni> pross-au, dunno
[11:53] <cone-298> ffmpeg.git 03Michael Niedermayer 079f92e590ba91: mxfdec: fix double free
[12:06] <nevcairiel> Daemon404: when you think MSE is bad on performance when compiling, i recently got kaspersky, and it even manages to block gcc quite badly
[12:13] <Underground78> Hello! I would appreciate some help understanding the possible impact of that change http://git.videolan.org/gitweb.cgi/ffmpeg.git/?p=ffmpeg.git;a=commit;h=8824a9ed2291d2b004dc641bd9ea8ad6f983466a on MPEG2 interlaced decoding
[12:13] <Underground78> we had some code that use to work fine before that change but it doesn't work anymore
[12:14] <Underground78> when doing avcodec_decode_video2(pAVCtx, pFrame, &got_picture, &avpkt); got_picture is always 0, before it was 1 every two fields it seems
[12:15] <Underground78> is that a side effect of the change or are we doing wrong by relying on got_picture
[12:17] <michaelni> Underground78, can this be reproduced with command line ffmpeg ?
[12:49] <pross-au> michaelni: doc/faq.text:532, points to http://www.ffmpeg.org/~michael/, link doesn't work.
[12:53] <ubitux> <+nevcairiel> i have my own subtitle blending function // !!
[12:54] <nevcairiel> avfilter didnt fit into my design
[12:54] <wm4> <nevcairiel> avfilter didnt fit into my design <- that will be true for many users of ffmpeg
[12:54] <nevcairiel> besides, blending yuv/rgb is trivial
[12:55] <wm4> ubitux: generally, trying to provide a "generic framework" for media processing is a bad idea for ffmpeg; it's much better and useful to provide raw mechanism
[12:55] <wm4> because you can't second-guess what your users need/want
[12:55] <ubitux> i can assure you people are happy to be able to blend subtitles with ffmpeg :)
[12:55] <wm4> maybe if they're using the "ffmpeg" command line frontend
[12:55] <nevcairiel> sure, but i dont use the ffmpeg application, i have playback components
[12:56] <nevcairiel> i only use the libs
[12:56] <nevcairiel> not the apps
[12:56] <wm4> ubitux: e.g. I won't use lavfi either for subtitle rendering, because sub-rendering is pretty much VO specific
[12:56] <wm4> well, blending
[12:57] <wm4> but a library that can do blending with various source formats, that would be very useful (think "libswblend")
[13:02] <Underground78> michaelni: no, at least it seems to work fine with ffplay
[13:03] <Underground78> so we might just be using got_picture the wrong way
[13:04] <michaelni> its quite possible there is a bug, but would be easier if it was reproduceable with ffmpeg
[13:04] <michaelni> ill look into this later today
[13:04] <Underground78> ok thanks
[13:14] <wm4> mplayer's aac demuxer requires only 32 KB of data to determine whether it's AAC, while libavformat requires at least about 300 KB for a "save" probe score, could that be improved?
[13:15] <durandal_1707> maybe
[13:16] <michaelni> pross-au, fixed
[13:18] <wm4> durandal_1707: the current behavior is quite bad if you try to use it for media players and webstreams, such as http://lr2mp0.latvijasradio.lv:8000
[13:20] <wm4> durandal_1707: compare mplayer-svn/mplayer2 startup and ffplay (and mpv kicks the bucket)
[13:22] <durandal_1707> wm4: patch welcome
[13:42] <cone-298> ffmpeg.git 03Ronald S. Bultje 07ddd7559ad97d: h264: check for invalid zeros_left before writing
[13:42] <cone-298> ffmpeg.git 03Luca Barbato 075fbceb2c6339: hls: add start_number option
[13:42] <cone-298> ffmpeg.git 03Luca Barbato 07adbe03077d19: hls: use a meaningful long name
[13:42] <cone-298> ffmpeg.git 03Luca Barbato 073c3a580f93c9: hls: improve options description
[13:42] <cone-298> ffmpeg.git 03Luca Barbato 0718e6f087c4a5: img2: document the options available
[13:42] <cone-298> ffmpeg.git 03Michael Niedermayer 075de1f7a7bd8a: Merge commit '18e6f087c4a50bede8449ee164778945480be50c'
[14:01] <cone-298> ffmpeg.git 03Janne Grunau 076a1aa5cb2647: mjpeg: initialize input padding after unescaped buffer to zero
[14:01] <cone-298> ffmpeg.git 03Mans Rullgard 0791ac403b1316: lavf: fix arithmetic overflows in avformat_seek_file()
[14:01] <cone-298> ffmpeg.git 03Michael Niedermayer 07e7d924da30f0: Merge commit '91ac403b1316d59b4f43c4ea0f237e24cec2819a'
[14:15] <cone-298> ffmpeg.git 03Luca Barbato 071dd1c1c884b2: avio: K&R cosmetic formatting
[14:15] <cone-298> ffmpeg.git 03Michael Niedermayer 071374b5e15b5d: Merge remote-tracking branch 'qatar/master'
[15:14] <durandal_1707> it looks like hawksound and sox lpc10 differs
[15:14] <durandal_1707> hawkvoice*
[15:29] <durandal_1707> whate creates caf files with celp tag?
[15:50] <Underground78> michaelni: about that interlaced mpeg2 issue, it's pretty much a random guess but can't this https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/mpeg12.c#L1631 be a problem now that the pointer is set to null?
[15:50] <Underground78> I might but completely wrong though
[16:28] <durandal_1707> are there any samples with mpeg4-celp?
[17:26] <ramiro> hi
[17:27] <beastd> hi ramiro
[17:27] <ramiro> Don Moir mentioned "some effort is being done to remove unneeded braces" suggesting I remove the {}s in single-statement ifs. is that really the case?
[17:27] <ramiro> the braces are already there, I'd rather just leave them
[17:27] <cone-298> ffmpeg.git 03Michael Niedermayer 073193a5cdbf4d: arm: put prefetch under matching #ifdef as the actual code
[17:27] <cone-298> ffmpeg.git 03Peter Ross 079282fbb9ad7e: mpegts: demux asynchronous SMPTE 336M Key-Length-Value (KLV) metadata
[17:28] <beastd> ramiro: Dunno. But I am against removing braces on single line-bodies if-statements. Though general coding style suggessts to do so.
[17:29] <beastd> IMHO an if without braces is mostly fine for text book example codes (especially because it need less vertical room). But in RL it just sucks when doing simple debug printing and stuff while searching for bugs or developing...
[17:29] <michaelni> i also favor keeping {} where it doesnt complicate merges
[17:30] <michaelni> ive seen bugs in nested if statements due to people not writing {}
[17:30] <ramiro> good, I'll keep it then
[17:34] <ramiro> on "[PATCH 2/2] dshow: handle events in graph", what is your opinion about dshow_check_event_queue() in my latest patch? should it just return 0 or -1 so the caller can set ctx->eof, or should it ctx->set eof inside the function?
[17:34] <ramiro> i prefer simpler functions like this to only check, and not set context fields
[17:39] <michaelni> without looking at the code my preferance is that functions should avoid sideeffects like writing things in the context and use the return value if available
[17:41] <wm4> michaelni: why do demuxers not provide functions to reset them and clear all internal buffers?
[17:42] <nevcairiel> probably was never needed
[17:43] <wm4> basically I need to perform seeks in mpeg streams without libavformat knowing
[17:43] <wm4> but then libavformat backstabs me with its old data in its internal buffers
[17:45] <nevcairiel> there is ff_read_frame_flush which clears avformats own buffers, but not demuxer-specific buffers
[17:45] <nevcairiel> the demuxers call that after a seek
[17:46] <nevcairiel> of course its not public api
[17:46] <wm4> yes, something like that I could need
[17:47] <ubitux> pross-au: ".id        = AV_CODEC_ID_SMPTE_KLV", ".type      = AVMEDIA_TYPE_SUBTITLE,"  subtitles??
[17:47] <ubitux> (sorry to notice now)
[17:48] <nevcairiel> with now, you mean after pushing? :p
[17:49] <ubitux> yes
[17:49] <beastd> ramiro: after looking at your patch. IMHO not passing in the context in the first place like you did and setting dshow ctx->eof in the calling function is just fine. i do not see a need to do it otherwise and for now there is no single advantage in passing in the context.
[18:25] <cone-298> ffmpeg.git 03Carl Eugen Hoyos 0718eb31963b9e: Improve x264opts description.
[18:41] <Daemon404> nevcairiel, nice.
[18:41] <nevcairiel> iknorite
[18:42] <durandal_1707> what is nice?
[18:43] <JEEB> lol
[18:44] <JEEB> always love'able API
[18:44] <wm4> Daemon404: have you found out how to set quality when encoding jpeg?
[18:44] <Daemon404> yes it was simple
[18:44] <Daemon404> the crashiness was caused due to an ordering issue
[18:44] <Daemon404> (not setting avctx->w/h before callign avcodec_\open2)
[18:45] <Daemon404> avctx->flags |= CODEC_FLAG_QSCALE; avctx->global_quality = qp * FF_QP2LAMBDA
[18:46] <Daemon404> i think
[18:47] <wm4> forgive my grave ignorance, but what is qp?
[18:48] <Daemon404> quantizer parameter
[18:48] <Daemon404> (or just quantzier)
[19:05] <ubitux> ./ffmpeg -f lavfi -i testsrc=d=60 -y test.mpg
[19:05] <ubitux> ./ffmpeg -i test.mpg -c copy remux.mpg
[19:05] <ubitux> why the buffer underflow flood?
[19:05] <ubitux> (the longer the input, the larger the flood)
[19:06] <cone-298> ffmpeg.git 03Nicolas George 07160013736e40: lavf: TED Talks JSON captions demuxer.
[19:06] <ubitux> \o/
[19:07] Action: Daemon404 wonders what that even is
[19:07] <ubitux> subtitles for ted talks
[19:08] <wm4> ubitux: do you know if ffmpeg supports all text subtitle formats mplayer does yet?
[19:08] <ubitux> and this is awesome, given that the flash/js player thing kinda sucks
[19:08] <ubitux> wm4: i need to write a few simple demuxer, and we have them all
[19:08] <ubitux> but i lack samples
[19:08] <ubitux> mainly.
[19:08] <wm4> mplayer's subreader.c is a horrible thing
[19:08] <Daemon404> ubitux, ok.. makes more sense than was i was thinking (subtitles describe in TED Talks)
[19:08] <ubitux> wm4: i've rewritten the most important ones
[19:09] <ubitux> wm4: jacosub, realtext, subviewer, sami& are all in ffmpeg
[19:09] <ubitux> i need some lost/simple ones, like vplayer or stuff like that
[19:09] <Daemon404> and none of those are relevant in 2012
[19:09] <wm4> ubitux: also, how about playlist parsers in ffmpeg? (I think that's pretty much a crackpot idea, but I need someone who rewrites these for me)
[19:09] <Daemon404> :D
[19:09] <Daemon404> especially nor jacosub
[19:09] <Daemon404> unless we're all still using genlocks like it's 1985
[19:09] <wm4> ubitux: btw. how are subtitle formats handled that use no timestamps?
[19:10] <ubitux> you mean like MicroDVD?
[19:10] <wm4> yes
[19:10] <ubitux> pts generated iirc
[19:10] <ubitux>     AVRational pts_info = (AVRational){ 2997, 125 };  /* default: 23.976 fps */
[19:10] <wm4> wat
[19:10] <wm4> can you change this?
[19:11] <ubitux> i could, to what?
[19:11] <wm4> I mean can you change the fps
[19:11] <wm4> programmatically
[19:11] <ubitux> sub->pts = get_pts(sub->data);
[19:11] <ubitux> this pts is basically the frame id
[19:12] <ubitux> and avpriv_set_pts_info(st, 64, pts_info.den, pts_info.num);
[19:12] <ubitux> wm4: i could add a demuxer option to customize it
[19:12] <ubitux> you can custom it by changing the first line iirc
[19:13] <ubitux> like doing {}{}25.000FPS or something iirc
[19:13] <ubitux> that seems to happen often with microdvd
[19:13] <Daemon404> [13:12] <@ubitux> and avpriv_set_pts_info(st, 64, pts_info.den, pts_info.num);
[19:13] <Daemon404> ^ thats not public
[19:13] <cone-298> ffmpeg.git 03Michael Niedermayer 0776d851b65619: http: export ICY content type
[19:13] <cone-298> ffmpeg.git 03Michael Niedermayer 07e3d95b54dbaf: probe: belive protocol content type if set and avoid lengthly probing.
[19:13] <ubitux> Daemon404: i was describing how the microdvd demuxer was working
[19:13] <Daemon404> oh
[19:13] <wm4> well what would be nice if I could get the frame numbers directly (at least if the script doesn't set a framerate)
[19:15] <michaelni> wm4, http://lr2mp0.latvijasradio.lv:8000 should be faster probed now
[19:16] <wm4> michaelni: neat
[19:16] <ubitux> wm4: you can, read the AVPacket->pts
[19:16] <wm4> michaelni: I wonder if I can make use of that
[19:17] <wm4> maybe if I beat it up a bit
[19:17] Action: ubitux can now watch TED talks with ffplay and -vf subtitles \o/
[19:18] <ubitux> no more bandwidth issues, no more broken subtitles after pausing the video \o/
[19:22] <durandal_1707> michaelni: what a horrible hack you write
[19:22] <ubitux> wm4: anyway, i believe you can replace almost all subreader.c with ffmpeg
[19:23] <ubitux> wm4: see how it's done in vf subtitles; you will lack very few forgotten formats (which i'll add soon) and maybe -dump subtitles feature
[19:24] <ubitux> which i doubt has any reason to exist TBH
[19:24] <ubitux> ffmpeg implements a convert to srt and ass, which should be enough
[19:24] <wm4> I'll probably just demux the whole file and use mplayer's native data structures
[19:24] <ubitux> also note the decoders are better, and you will be able to drop subassconvert
[19:24] <ubitux> no you can't, you need to decode them for decoding
[19:25] <ubitux> well, to be able to transmit them to libass
[19:25] <durandal_1707> michaelni: demuxer can have mimetype tooo
[19:25] <wm4> well then, convert it to ass internally?
[19:26] <durandal_1707> michaelni: so ugly hack can be expanded to any demuxer that sets mimetype
[19:26] <wm4> ubitux: I don't always have libass, there's a more "primitive" sub renderer too (some users prefer it because it has no formatting)
[19:26] <ubitux> wm4: this is what the decoding does
[19:26] <ubitux> and then you will need to drop ass markup before
[19:26] <ubitux> (until the new subtitles api is in)
[19:27] <wm4> wait, so I first convert them to ass, and then I convert it back to text? sure is roundabout
[19:28] <ubitux> you demux the subtitle file, you get native raw lines or stuff like this, then you decode this, which will give you a common markup: ass, which you can add to the libass renderer, or strip and send to your internal raw text osd
[19:28] <ubitux> you do that in one pass at loading, just like subreader
[19:28] <ubitux> and you won't need subassconvert anymore
[19:29] <wm4> I can just keep using it, as I know what format I get
[19:29] <ubitux> (see how it's done in vf subtitles)
[19:29] <ubitux> what would be the point?
[19:30] <wm4> more control?
[19:30] <ubitux> subassconvert is used for SRT and MicroDVD input; ffmpeg decoders support them
[19:30] <wm4> I think you wrote subassconvert, but there have been some fixes since
[19:30] <ubitux> and it does the same thing, in a better way (i fixed a few issues with microdvd when i ported it)
[19:31] <ubitux> (maybe backported to mplayer, i don't remember)
[19:33] <durandal_1707> michaelni: don't you agree demuxers should have mimetype set? (This would make that code even more trivial)
[19:36] <michaelni> we could change demuxer to mimetype
[19:36] <michaelni> i dont mind at all
[19:37] <durandal_1707> but mimetype guessing works only for muxers
[19:37] <durandal_1707> because most if not all demuxers do not have mimetype set 
[19:37] <durandal_1707> so than you only call guess_format(NULL, NULL, mimetype)
[19:39] <michaelni> none has mimetype set as AVInputFormat lacks a mimetype field
[19:41] <durandal_1707> crap design
[19:42] <durandal_1707> guess that hack will live long
[19:57] <cone-298> ffmpeg.git 03Michael Niedermayer 070af7ccd9e268: mpeg12: move current_picture_ptr reset to the end of decode_frame.
[19:59] <michaelni> Underground78, bug possibly fixed, please check
[20:03] <Underground78> michaelni: looking at the diff I would say it will work, testing as soon as possible
[20:03] <Underground78> thanks
[20:09] <Underground78> michaelni: I can confirm it works, thanks for taking care of that
[20:10] <wm4> I agree that mime types might be more useful
[20:10] <wm4> specially because http sends mime types (heh)
[20:11] <wm4> then please provide a function that guesses demuxers from mime types, and don't do it automagically
[20:13] <wm4> michaelni: exporting the mime type would be trivial, can you add it?
[20:15] <durandal_1707> wm4: one could add private mime_type to InputFormat
[20:15] <wm4> durandal_1707: that'd probably had to be a list, and why private?
[20:16] <durandal_1707> abi/api
[20:39] <wm4> michaelni: is there any deeper reason why you think a demuxer instead of the mime type should be exported?
[20:39] <cone-298> ffmpeg.git 03Michael Niedermayer 0768bc012190f9: http/utils: move mime -> demuxer maping from http to utils
[20:39] <wm4> oh.
[20:40] <wm4> :)
[20:41] <saste> michaelni: ping on lavc/avcodec: extend/clarify/fix documentation for avcodec_fill_audio_frame()
[20:41] <wm4> now I just have to find out how to set that field on a AVIOContext
[20:47] <cone-298> ffmpeg.git 03Stefano Sabatini 07ad47ac20ae3e: lavf/segment: remove silly assert(), improve feedback
[21:11] <cone-298> ffmpeg.git 03KO Myung-Hun 071b0c1df3b9d6: lavc: include os2threads.h in vp8.h if HAVE_OS2THREADS is enabled
[22:01] <cone-298> ffmpeg.git 03Stefano Sabatini 07461b5bf4abf7: lavc/avcodec: extend/clarify/fix documentation for avcodec_fill_audio_frame()
[22:41] <durandal_1707> lol, i did moslty cosmetic changes and compiled binary is faster!
[22:55] <iive> are they really cosmetic ?
[22:55] <durandal_1707> you will see
[22:55] <wm4> how can I add my own av_opts to a custom AVIOContext?
[22:57] <wm4> I think I have to set AVIOContext.av_class, and then set AVClass.child_next/.child_class_next, is that right?
[22:58] <durandal_1707> hmm isn't that internal ?
[22:58] <wm4> you tell me
[22:59] <wm4> judging by how libavformat does this internally with URLContext, that's the way I have to do it
[22:59] <wm4> quite arcane way to pass a long a single value...
[22:59] <durandal_1707> what?
[23:00] <wm4> the "demuxer" field, which is the http mime-type
[23:00] <durandal_1707> that is http protocol AVOption only
[23:01] <durandal_1707> and you set it like any other lavf option
[23:01] <wm4> well, no, libavformat wants to read it, from my custom AVIOContext
[23:03] <cone-298> ffmpeg.git 03Paul B Mahol 07cef28b56027c: tak: reduce difference with qatar
[00:00] --- Mon Dec 10 2012


More information about the Ffmpeg-devel-irc mailing list