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

burek burek021 at gmail.com
Wed May 11 02:05:04 CEST 2016


[00:21:49 CEST] <cone-437> ffmpeg 03Tobias Rapp 07master:21f9fbce5cf9: avfilter/f_metadata: add pts_time to print output
[00:21:49 CEST] <cone-437> ffmpeg 03Tobias Rapp 07master:9486de5a85f0: avfilter/f_metadata: update print output header line format
[03:51:37 CEST] <michaelni> jkqxz, is it intended to have non constant statics (static VAConfigAttrib vaapi_encode_*_config_attributes[]) in the new code?
[04:05:20 CEST] <philipl> -a
[05:01:00 CEST] <Compn> Mavrik : you mean like DIVX dvds? :P
[05:01:03 CEST] <Compn> hilarious idea
[08:22:46 CEST] <kurosu> this year at least have the benefit of having 4K hevc and sometimes vp9 decoders
[08:23:21 CEST] <kurosu> but none has a 10bits vp9 decoder, so indeed for a tv set that is going to last 5+ years, it's too early
[08:25:10 CEST] <kurosu> the (very?) high end support hdr10 (=hevc main10 + smpte 2084 or 2086 iirc), so that's somewhat ok, except this generation is likely for live beta testing :D
[09:52:36 CEST] <jkqxz> michaelni:  That gets cleaned up in a following patch: <https://git.libav.org/?p=libav.git;a=commitdiff;h=f6b85523692b0e7d4c4efb8449fa201d313424fe>.
[10:29:31 CEST] <c0rnw19> Hello world
[10:30:22 CEST] <c0rnw19> Someone can help me? :) I would like use ocr with ffmpeg : http://stackoverflow.com/questions/36373582/how-can-i-hide-a-text-on-udp-video-streaming
[10:47:22 CEST] <BtbN> You'll have to write an OCR filter for that first.
[10:50:13 CEST] <durandal_1707> There is ocr filter... But this one is about detecting text above random video
[10:51:25 CEST] <c0rnw19> Hi, durandal_1707 yes I know, but there aren't doc on this
[10:51:39 CEST] <c0rnw19> do you how use it
[10:51:50 CEST] <c0rnw19> know*
[11:01:59 CEST] <durandal_1707> c0rnw19: this can't be realtime afaik, detecting text is slow ...
[11:08:44 CEST] <ubitux> ok so i just spent weeks to figure out that VT can not handle more than 3 packets in asynchronous mode (even though its internal queue is of 10), otherwise ios will fatally deadlock when the app is going in background
[11:08:53 CEST] <ubitux> good job apple, quality software
[11:16:11 CEST] <c0rnw19> durandal_1707, Yes I know I tried last year on windows emgucv c#
[11:16:43 CEST] <c0rnw19> but maybe If I use only i-frame with ffmpeg
[11:16:51 CEST] <c0rnw19> this can help me? no?
[11:17:39 CEST] <c0rnw19> or nvidia cuda libs? quick_sync?
[11:29:30 CEST] <wm4> ubitux: the current libavcodec subtitle API makes me want to kill myself
[11:30:40 CEST] <wm4> so, somehow, on older libavcodec versions (ffmpeg 2.8), dvdsubdec doesn't pass through subtitle timestamps or something
[11:30:45 CEST] <wm4> or does it differently
[11:39:42 CEST] <wm4> *groan*
[11:39:55 CEST] <wm4> pkt_timebase is set to 0/1 by default
[11:40:09 CEST] <wm4> if (avctx->pkt_timebase.den && avpkt->pts != AV_NOPTS_VALUE) <- lol
[11:40:38 CEST] <wm4> so it checks den and makes an assumption about valid timebase
[11:40:49 CEST] <wm4> and another line of code, just below it does:
[11:40:50 CEST] <wm4>             if (sub->num_rects && !sub->end_display_time && avpkt->duration &&
[11:40:50 CEST] <wm4>                 avctx->pkt_timebase.num) {
[11:41:38 CEST] <wm4> commit 50401f5fb7d778583b03a13bc4440f71063d319d fixed this
[11:41:42 CEST] <wm4> but it never made it into a release
[11:41:48 CEST] <wm4> why the fuck am I supporting old releases
[12:18:15 CEST] <durandal_1707> omerjerk: finally figured how to extract float from decoder into wav?
[12:18:29 CEST] <omerjerk> nope. 
[12:18:35 CEST] <omerjerk> that's what I came to ask
[12:18:52 CEST] <durandal_1707> what you tried?
[12:19:36 CEST] <omerjerk> I'm properly setting the output format and bps here - https://github.com/omerjerk/FFmpeg/blob/float/libavcodec/alsdec.c#L2144
[12:19:38 CEST] <durandal_1707> ffmpeg -i input.mp4 -c:a pcm_f32le out.wav
[12:19:52 CEST] <omerjerk> ^^ I didn't try that command.
[12:20:02 CEST] <omerjerk> I just do ffmpeg -y float.mp4 out.wav
[12:20:09 CEST] <omerjerk> *-i 
[12:20:29 CEST] <durandal_1707> that will just do 16bit
[12:20:35 CEST] <omerjerk> oh. 
[12:20:42 CEST] <omerjerk> I didn't know this.
[12:20:44 CEST] <durandal_1707> *transcoding
[12:20:53 CEST] <omerjerk> I thought just setting in the code is enough. 
[12:21:02 CEST] <omerjerk> but can't we do something about it ?
[12:21:23 CEST] <omerjerk> I won't expect the user to add "-c:a pcm_f32le" into the command line 
[12:21:37 CEST] <durandal_1707> no, and that's not your task anyway
[12:21:45 CEST] <omerjerk> and what's the point of setting the bps and sample format from the code ?
[12:21:54 CEST] <omerjerk> if it'll just output 16 bit int
[12:22:48 CEST] <durandal_1707> its needed, ffmpeg pick 16bit pcm for wav by default
[12:23:43 CEST] <durandal_1707> if codec uses float sample format it must set proper params
[12:26:04 CEST] <omerjerk> ^^ what do you mean by that ?
[12:27:52 CEST] <durandal_1707> codecs operates in different sample formats
[12:29:15 CEST] <durandal_1707> omerjerk: so, have you inspected output of that command?
[12:31:09 CEST] <omerjerk> I just checked. 
[12:31:25 CEST] <omerjerk> The size now is same as the original wav file. 
[12:32:32 CEST] <omerjerk> and when I hear the output file, the sound comes fine from the right speaker.
[12:32:51 CEST] <omerjerk> Left speaker shows problem. 
[12:33:02 CEST] <omerjerk> I think the issue is in my code now.
[12:33:13 CEST] <durandal_1707> It's stereo?
[12:33:25 CEST] <omerjerk> yes. it has 2 channels. 
[12:34:26 CEST] <durandal_1707> left is usually first channel
[12:34:41 CEST] <durandal_1707> *left speaker
[12:35:49 CEST] <omerjerk> okay. I'll see what I'm missing. must be some small bug in my code.
[12:35:58 CEST] <omerjerk> thanks for the help. :)
[15:09:58 CEST] <BBB> did the matroska muxer recently change output?
[15:10:12 CEST] <BBB> (my md5 for the remux test changed)
[15:11:25 CEST] <durandal_1707> Yes it did 
[15:11:41 CEST] <BBB> which commit?
[15:11:47 CEST] <BBB> (if you remember)
[15:12:01 CEST] <durandal_1707> merge of commit from April libav
[15:12:21 CEST] <durandal_1707> about field order info
[15:13:00 CEST] <durandal_1707> and doctype version changed to 4
[15:13:41 CEST] <durandal_1707> ee865e9780
[15:13:53 CEST] <nevcairiel> version was 4 before in ffmpeg
[15:13:57 CEST] <nevcairiel> but it does indeed write a new field
[15:23:38 CEST] <Daemon404> BBB, matroska did, webm should not have changed
[15:23:47 CEST] <Daemon404> matroska gained the field order field 
[15:23:50 CEST] <BBB> I was writing matroska
[15:23:54 CEST] <Daemon404> ok
[15:23:57 CEST] <BBB> but even after removing that, it still changed
[15:24:05 CEST] <Daemon404> BBB, what changed
[15:24:16 CEST] <Daemon404> that is the only thing that touched it from merges
[15:24:25 CEST] <Daemon404> at least
[15:24:45 CEST] <BBB> ah I see the merge commit now
[15:24:49 CEST] <BBB> I was undoing the version change also
[15:24:52 CEST] <BBB> and it didnt amek any sense
[15:24:56 CEST] <BBB> ignoring that fixes the md5
[15:24:57 CEST] <nevcairiel> i wonder if its really a good idea to write a "undefined" value
[15:24:59 CEST] <BBB> ok 
[15:25:08 CEST] <nevcairiel> should probably just not write anything then
[15:25:15 CEST] <nevcairiel> undefined is the default for that field when not written
[15:25:21 CEST] <nevcairiel> and it might avoid confusion
[15:25:45 CEST] <Daemon404> fair enough
[15:25:56 CEST] <Daemon404> i only wanted to point out to bbb its expected
[15:26:02 CEST] <nevcairiel> yeah
[15:26:47 CEST] <BBB> I just want to make sure the md5 change is correct in the remux test before I push it
[15:26:51 CEST] <BBB> which Im about to do :-p
[15:33:02 CEST] <BBB> I also get a segfault running vsynth1-dnxhd-720p
[15:34:19 CEST] <BBB> if (ctx->cid_table->bit_depth == 8) in ff_dnxhdenc_init_x86 (cid_table = NULL)
[15:40:16 CEST] <BBB> rebuilding ffmpeg so painful
[16:17:35 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:431117dcb55c: vf_colorspace: add floyd-steinberg dithering option to full conversion.
[16:17:36 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:9b26a8077f1c: vf_colorspace: add const to yuv_stride[] argument in DSP functions.
[16:17:37 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:f4075767b20f: vf_colorspace: use enums for bpp/subsampling array indices.
[16:17:38 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:9c4943e6710d: ffmpeg: copy color properties in case of -c:v copy.
[16:17:39 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:3ed5218bd365: fate: add matroska-remux test.
[16:17:40 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:9bbed8645a6b: vf_colorspace: make whitepoint adaptation mode configurable.
[16:17:41 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:356c11653665: vf_colorspace: fix range order.
[16:17:42 CEST] <cone-640> ffmpeg 03Ronald S. Bultje 07master:531ff7161d9d: vf_colorspace: don't enable passthrough if bitdepth doesn't match.
[16:20:51 CEST] <Daemon404> nevcairiel, those rtp patches come after the Giant H264 Set
[16:33:25 CEST] <nevcairiel> i know, hence why I asked if they are especially important
[16:36:50 CEST] <nevcairiel> although most of those patches dont seem to be too terrible
[16:37:24 CEST] <nevcairiel> just a lot of field re-shuffling
[16:46:58 CEST] <jkqxz> The AVClass* is called "class" for pretty much everything except the top-level AVFooContexts.  If those could be renamed (they aren't user-settable?), then av_opt_set_* could statically assert that offsetof(obj, class) == 0 to make it fail at compile time.
[16:48:46 CEST] <Daemon404> jkqxz, you should reply on the ML if possible
[16:51:17 CEST] <jkqxz> Sure.  I was thinking there is a significant chance that it can't possibly work for some reason I am not aware of, which people here might just be able to tell me.
[16:51:45 CEST] <nevcairiel> class is not a valid name as it breaks c++ compat
[16:52:06 CEST] <Daemon404> in headers yeah
[16:52:45 CEST] <nevcairiel> and not sure how its supposed to check that, it takes a void pointer
[16:52:52 CEST] <nevcairiel> macro magic i guess?
[16:52:57 CEST] <jkqxz> Ah, keyword.  Ok.  Rename to av_class everywhere?
[16:53:34 CEST] <Daemon404> AVClass *dont_you_dare_touch_this;
[16:54:04 CEST] <jkqxz> offsetof(obj, av_class) == 0 only checks that a field called "av_class" exists and is the first thing in the structure.  We can't check the type (though I guess it could also make sure sizeof(obj->av_class) == sizeof(void*)).
[16:54:13 CEST] <nevcairiel> i dont think we can rename it in public structs either, some may access it for wrong reasons, but its still a public field
[16:54:36 CEST] <jkqxz> The public ones look like they are all av_class, so it would be renaming everything else to use that.
[16:54:39 CEST] <nevcairiel> although public structs use the same field name
[16:54:40 CEST] <Daemon404> depends if it is documented as untouchable
[16:55:17 CEST] <jkqxz> (Which is pretty much a two-line change to every single file in the whole project.)
[16:55:36 CEST] <Daemon404> jkqxz, it sounds vaguely fragile to me
[16:55:43 CEST] <Daemon404> until some guy comes along and adds one
[16:55:51 CEST] <Daemon404> and the earthe asplodes
[16:56:02 CEST] <jkqxz> Adds one what?
[16:56:19 CEST] <Daemon404> an new struct with av_class
[16:56:29 CEST] <Daemon404> because we dont exactly have documents for developing internal stuff
[16:56:31 CEST] <Daemon404> sadly.
[16:57:10 CEST] <Daemon404> fwiw i like the idea, im just playing devil's advocate
[16:57:48 CEST] <jkqxz> Hmm.  Actually, most of the structs never actually get used with av_opt_set_* directly.  They only need to be renamed if they are.
[16:57:55 CEST] <nevcairiel> i'm not sure its worth the macro madness
[16:58:02 CEST] <nevcairiel> someone may have a void pointer he passes to av_opt
[16:58:10 CEST] <nevcairiel> which is perfectly valid
[16:58:33 CEST] <nevcairiel> especially since some structs we use av_opt* on are entirely hidden, and only use av_opt for any access
[16:59:05 CEST] <nevcairiel> like SwsContext
[17:01:25 CEST] <jkqxz> Yeah, ok.  The void* on its own gets you, and there is no way to shortcut evaluation so the member access is just impossible.
[17:11:00 CEST] <JoshX> Daemon404: i found the specs how axis stores the data off their timestamps: http://www.axis.com/files/manuals/VAPIX_3_H264_userdata_1_00.pdf
[17:11:12 CEST] <JoshX> the question now is if i could make ffmpeg do the same
[17:26:09 CEST] <mateo`> hello there, i'm wondering if it's useful that i submit a patchset that add an audio frame pool to libavfilter given the fact the cpu time that takes malloc+free goes from 2.50% to 1.84% (most of the time is spent in request_frame + resample ~81%) on a rpi2.
[17:29:57 CEST] <durandal_1707> could be, what about also direct AVframe like with video?
[17:31:03 CEST] <mateo`> durandal_1707: what do you mean by direct AVframe ?
[17:31:57 CEST] <durandal_1707> uncoded frame
[17:33:09 CEST] <mateo`> sorry, I still don't get it.
[17:42:20 CEST] <petrurares> Hi there, I have updated the wiki to show how to use enc_dec_pcm command in a test. Any suggestion is welcome 
[17:50:20 CEST] <mateo`> what did git send-email just do ... my mail title is (no subject) :(
[17:56:02 CEST] <ubitux> what did *you* do
[17:56:10 CEST] <ubitux> :s
[17:57:36 CEST] <nevcairiel> sounds like you just didnt fill in the title for the cover letter
[17:58:04 CEST] <jamrial> mateo`: the in-reply-to field says "lavfi: add an audio frame pool for each link of the filtergraph"
[17:58:15 CEST] <jamrial> guess that was supposed to be the subject :p
[17:59:53 CEST] <nevcairiel> heh
[18:16:58 CEST] <durandal_1707> mateo`: there is uncoded AVframe for video but not audio
[18:20:42 CEST] <cone-640> ffmpeg 03Jean Delvare 07master:aeefe018f847: avfilter/delogo: Check that logo area is inside the picture
[18:40:08 CEST] <jkqxz> #define check_for_av_class(obj) ({ struct { void *av_class; } tmp; _Static_assert(__builtin_offsetof(__typeof__(__builtin_choose_expr(sizeof(*(obj)) == sizeof(void), tmp, *obj)), av_class) == 0, "no av_class!"); })
[18:40:44 CEST] <jkqxz> Fails to compile if the argument is neither a void* nor a pointer to a structure the first member of which is called av_class.
[18:40:57 CEST] <nevcairiel> but what if its an opaque struct
[18:41:47 CEST] <nevcairiel> sws and swr both use that, as well as some internal stuff
[18:42:43 CEST] <jkqxz> Then can't take sizeof?  Hmm.  A bit more magic with __builtin_choose_expr might be able to do it.
[18:42:59 CEST] <mateo`> jamrial: :D
[18:46:44 CEST] <wm4> jkqxz: no, they could be completely opaque
[20:08:22 CEST] <neuro_sys> wow, 178 developers?
[20:11:20 CEST] <Shiz> more like 178 idlers of which some fraction might be actually useful
[20:11:21 CEST] <Shiz> but sure
[20:11:24 CEST] <DHE> or just people interested in the process
[20:12:10 CEST] <DHE> I have (well, had) open tickets and am interested in the API
[20:12:32 CEST] <neuro_sys> alright, I just submitted what I think might be a bug, FWIW: https://trac.ffmpeg.org/ticket/5535
[20:17:47 CEST] <DHE> there's a bot that announces ticket updates live, so that's not necessary
[20:21:42 CEST] <neuro_sys> so using avformat_open_input is not the only way to read a file, because in the doc/examples/avio_reading.c:79 it's using av_file_map to read it and manually create the context. So the former is a wrapper around the latter.
[20:24:54 CEST] <DHE> Users' API questions still belong in #ffmpeg
[20:25:46 CEST] <neuro_sys> okay
[20:32:43 CEST] <kierank> michaelni: in int av_crc_init(AVCRC *ctx, int le, int bits, uint32_t poly, int ctx_size) does bits refer to the data size or the polynomial bits?
[20:34:48 CEST] <kierank> looks like polynomial bits
[20:39:44 CEST] <jamrial> polynomial bits, yes
[20:40:55 CEST] <kierank> not sure the crc does the right thing on non mod 8-bit data
[21:14:51 CEST] <durandal_1707> mlt have lavfi support
[21:28:45 CEST] <jamrial> kierank: i take fuzzing didn't find anything then?
[00:00:00 CEST] --- Wed May 11 2016


More information about the Ffmpeg-devel-irc mailing list