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

burek burek021 at gmail.com
Tue Jul 24 02:05:02 CEST 2012


[00:04] <CIA-41> ffmpeg: 03Derek Buitenhuis 07master * r5ab855777d 10ffmpeg/libavformat/wav.c: 
[00:04] <CIA-41> ffmpeg: wav: Add check for 'fmt' tag in SMV code
[00:04] <CIA-41> ffmpeg: If there is a 'SMV0' tag, but no 'fmt' tag, it is possible that
[00:04] <CIA-41> ffmpeg: 'st' got used as NULL.
[00:04] <CIA-41> ffmpeg: Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
[00:04] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rd486a6eae9 10ffmpeg/: 
[00:04] <CIA-41> ffmpeg: Merge remote-tracking branch 'dwbuiten/master'
[00:04] <CIA-41> ffmpeg: * dwbuiten/master:
[00:04] <CIA-41> ffmpeg:  wav: Add check for 'fmt' tag in SMV code
[00:04] <CIA-41> ffmpeg: Merged-by: Michael Niedermayer <michaelni at gmx.at>
[00:04] <michaelni> Daemon404, merged, thanks
[00:04] <Daemon404> k
[01:53] <kierank> Daemon404: I use winxp on my main pc. I have no reason to move to 7 :)
[01:56] <Daemon404> you should once ms stops putting otu security fixes.
[01:57] <kierank> yeah but there's two years to go before that happens
[01:57] <Daemon404> i never afrgued against winxp support you know
[01:57] <Daemon404> i argued against win2k
[01:57] <Daemon404> which is EOL'd
[01:58] <kierank> ah
[01:58] <kierank> i misread
[02:51] <durandal_1707> if i set pkt->duration to > 1 why ffmpeg -f framecrc shows it is 1?
[03:25] <Hawk-TAO> the rainstorm is so heavy in beijing last weekends
[03:26] <Hawk-TAO> more than 37 persons died.
[03:27] <Hawk-TAO> harrp?
[03:28] <durandal_1707> burek: i doubt
[03:28] <burek> they did it like 100 times so far :) why not this time too :)
[03:32] <durandal_1707> burek: i doubt that transmitter can do that
[03:33] <burek> you would be surprised...
[03:33] <burek> but, it's not the transmitter that does the damage
[03:33] <burek> its ionosphere
[03:33] <burek> look on yt for couple of example explanations and stuff
[03:35] <sandsmark> the ionosphere does not work that way, goodnight
[03:35] <burek> :)
[03:35] <burek> never mind :)
[03:38] <durandal_1707> http://maps.google.com/maps?nomo=1&q=62.39%C2%B0+N,+145.15%C2%B0+W&um=1&ie=UTF-8&hq=&hnear=0x56b57b6eeac0a88f:0xd3989f478d41e07c,%2B62%C2%B0+23'+31.69%22,+-145%C2%B0+7'+54.25%22&sa=X&ei=u6oMUKrvHITAhAff19n8CQ&ved=0CAgQ8gEwAA
[03:57] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r1eb1392690 10ffmpeg/libavcodec/ (g723_1.c g723_1_data.h): 
[03:57] <CIA-41> ffmpeg: g723.1: various cosmetics and changes that should have no user vissible effect.
[03:57] <CIA-41> ffmpeg: code from qatar (55c3a4f617171ad1138df684cbafa570807bc6a9)
[03:57] <CIA-41> ffmpeg: Author of the code was probably Mohamed or Kostya
[03:57] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[03:58] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r62514ca012 10ffmpeg/libavcodec/g723_1.c: 
[03:58] <CIA-41> ffmpeg: g723.1dec: Make postfilter user switchable
[03:58] <CIA-41> ffmpeg: Code from qatar (55c3a4f617171ad1138df684cbafa570807bc6a9)
[03:58] <CIA-41> ffmpeg: Author of the code was probably Mohamed or Kostya
[03:58] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[04:04] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r72a9e646c3 10ffmpeg/libavcodec/libschroedingerenc.c: 
[04:04] <CIA-41> ffmpeg: libschroedingerenc: switch to av_assert
[04:04] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[04:04] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rd014e19515 10ffmpeg/libavcodec/libvorbisenc.c: 
[04:04] <CIA-41> ffmpeg: libvorbisenc: switch to av_assert
[04:04] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[04:09] <durandal_1707> michaelni: i get compilation error here
[04:10] <durandal_1707> didn't notice assert code was never updated...
[04:11] <michaelni> durandal_1707, compiles fine here
[04:11] <michaelni> where does it fail for you ?
[04:12] <durandal_1707> i dont see how that would be possible
[04:12] <durandal_1707> michaelni: libavcodec/libschroedingerenc.c:307:43: error: use of undeclared identifier 'buf_size'
[04:22] <michaelni> durandal_1707, i tested without --enable-libschroedinger it seems :/
[04:23] <durandal_1707> that explains it
[04:27] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rf4451d2e75 10ffmpeg/libavcodec/libschroedingerenc.c: 
[04:27] <CIA-41> ffmpeg: libschroedingerenc: remove assert related to the old API.
[04:27] <CIA-41> ffmpeg: The assert is no longer needed as the buffer is allocated after
[04:27] <CIA-41> ffmpeg: the size is known now.
[04:27] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[11:00] <CIA-41> ffmpeg: 03Nicolas George 07master * r1cadab6023 10ffmpeg/ffmpeg.c: (log message trimmed)
[11:00] <CIA-41> ffmpeg: ffmpeg: select input file based on output time.
[11:00] <CIA-41> ffmpeg: Filters can change the timings, so input files must not
[11:00] <CIA-41> ffmpeg: necessarily be read at the same rythm. This patch select
[11:00] <CIA-41> ffmpeg: the input file to read based on the timestamp at output
[11:00] <CIA-41> ffmpeg: instead of input. With complex filter graphs, finding the
[11:00] <CIA-41> ffmpeg: input for a given output is done by making a request and
[11:41] <CIA-41> ffmpeg: 03Nicolas George 07master * rbe33da9a1d 10ffmpeg/ (5 files in 3 dirs): lavfi: add concat filter.
[11:45] <CIA-41> ffmpeg: 03Nicolas George 07master * r612307978d 10ffmpeg/ (4 files in 2 dirs): lavfi: change "transmedia" into "multimedia".
[11:46] <ubitux> nice...
[11:46] <ubitux> :)
[12:41] <burek> when I get this: Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055)
[12:41] <burek> in what file in source code can I see the table
[12:41] <burek> that will tell me what 0x0055 is?
[12:59] <michaelni> burek, riff.c
[13:10] <burek> thanx michaelni :)
[13:10] <burek> i was looking for a #define, but figured it's enum :)
[13:11] <burek> in avcodec.h
[13:48] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r67a304985e 10ffmpeg/libavfilter/vf_overlay.c: 
[13:48] <CIA-41> ffmpeg: vf_overlay: fix missed return
[13:48] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[14:06] <CIA-41> ffmpeg: 03Peter Ross 07master * rcc12a94c36 10ffmpeg/libavcodec/iff.c: 
[14:06] <CIA-41> ffmpeg: iff: set ham palette alpha to 0xFF
[14:06] <CIA-41> ffmpeg: This addresses the problem that some HAM pictures were decoded with
[14:06] <CIA-41> ffmpeg: complete transparency as described in the 'iff: ANIM suppport ' thread
[14:06] <CIA-41> ffmpeg: on ffmpeg-devel. The decoder was already setting alpha correctly for
[14:06] <CIA-41> ffmpeg: CMAP palettes, just not HAM palettes.
[15:14] <CIA-41> ffmpeg: 03Stefano Sabatini 07master * r7afd42d9f2 10ffmpeg/libavfilter/avf_showwaves.c: 
[15:14] <CIA-41> ffmpeg: lavfi/showwaves: do not set on outlink->out_buf the sent video frame
[15:14] <CIA-41> ffmpeg: The video frame reference is passed along the filterchain, and is not
[15:14] <CIA-41> ffmpeg: possessed anymore by the filter. If out_buf is not set to NULL, it will
[15:14] <CIA-41> ffmpeg: be freed by ff_end_frame() causing a crash.
[16:12] <CIA-41> ffmpeg: 03Peter Ross 07master * ra8fb7690d9 10ffmpeg/doc/protocols.texi: 
[16:12] <CIA-41> ffmpeg: tls: user documentation
[16:12] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[16:35] <saste> do we have pretty files?
[16:38] <saste> i wish research people writing speech synthesis engines could design sane interfaces
[16:57] <Hawk-TAO> hi
[16:57] <Hawk-TAO> morning
[16:57] <Hawk-TAO> i have a question
[16:57] <Hawk-TAO> int ffio_init_context(AVIOContext *s,
[16:57] <Hawk-TAO>                   unsigned char *buffer,
[16:57] <Hawk-TAO>                   int buffer_size,
[16:57] <Hawk-TAO>                   int write_flag,
[16:57] <Hawk-TAO>                   void *opaque,
[16:57] <Hawk-TAO>                   int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
[16:57] <Hawk-TAO>                   int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
[16:57] <Hawk-TAO>                   int64_t (*seek)(void *opaque, int64_t offset, int whence))
[16:58] <Hawk-TAO> in aviobuf.c line 70
[16:58] <burek> Hawk-TAO, couldn't you use pastebin
[16:59] <Hawk-TAO>  s->write_packet = write_packet; this is the function
[17:01] <Hawk-TAO> but i dont know how does the actual parameter get in?
[17:03] <Hawk-TAO> burek,give me the help plz
[17:03] <burek> use pastebin
[17:04] <Hawk-TAO> pastebin?
[17:05] <Hawk-TAO> i know pastebin
[17:06] <Hawk-TAO> but how does the actual parameter get in?
[17:06] <burek> use pastebin
[17:11] <Hawk-TAO> int ffio_init_context(AVIOContext *s,unsigned char *buffer,int buffer_size,int write_flag,void *opaque,int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),int64_t (*seek)(void *opaque, int64_t offset, int whence))
[17:11] <burek> Hawk-TAO https://bitly.com/
[17:11] <burek> sorry
[17:11] <burek> this -> http://bit.ly/tkM4WI
[17:11] <burek> :)
[17:12] <Hawk-TAO> what is that?
[17:13] <Hawk-TAO> sorry,i dont know how to use pastebin
[17:13] <Hawk-TAO> i wanna get my answer
[17:15] <burek> well we all want something
[17:15] <Hawk-TAO> i will pay time to learn how to use pastebin later
[17:16] <burek> ok, then ask your question later :)
[17:16] <Hawk-TAO> hey,sir
[17:17] <Hawk-TAO> come on
[17:19] <burek> if you don't care to help us help you, then why are we wasting time here
[17:19] <burek> use the pastebin
[17:19] <burek> it's 1 minute of your time
[17:20] <Hawk-TAO> http://pastebin.com/
[17:20] <Hawk-TAO> is this website?
[17:22] <Hawk-TAO> int ffio_init_context(AVIOContext *s,
[17:22] <Hawk-TAO>                   unsigned char *buffer,
[17:22] <Hawk-TAO>                   int buffer_size,
[17:22] <Hawk-TAO>                   int write_flag,
[17:22] <Hawk-TAO>                   void *opaque,
[17:22] <Hawk-TAO>                   int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
[17:22] <Hawk-TAO>                   int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
[17:22] <Hawk-TAO>                   int64_t (*seek)(void *opaque, int64_t offset, int whence))
[17:22] <Hawk-TAO> oh
[17:22] <Hawk-TAO> god
[17:23] <gnafu> Hawk-TAO: You need to put code like that in a pastebin and give the link to that, rather than pasting code directly into the channel.
[17:23] <gnafu> Or, if you're asking about existing code, you can link to the code in git.
[17:24] <Hawk-TAO> oh,thx
[17:24] <Hawk-TAO> http://pastebin.com/Qsc92c28
[17:24] <Hawk-TAO> this is the link
[17:25] <burek> you don't know how to use ffio_init_context() ?
[17:26] <Hawk-TAO> and how does the function pointer read_packet get the actual parameter ?
[17:27] <Hawk-TAO>     s->write_packet = write_packet;
[17:28] <Hawk-TAO> how can it get the actual parameter?
[17:28] <burek> Hawk-TAO http://git.videolan.org/?p=ffmpeg.git;a=tree;f=libavformat;h=198566b23fec023a1174cf65bc63f8993be02e18;hb=a8fb7690d94075388306b80dc48a6ae7f5128ef7
[17:28] <burek> take a look at, for example, mpegts.c
[17:28] <burek> see how does it use ffio_init_context() and copy that logic
[17:30] <Hawk-TAO> http://pastebin.com/9AcdWXMq
[17:30] <Hawk-TAO> i cant find the actual parameter.
[17:31] <CIA-41> ffmpeg: 03Nicolas George 07master * r5c5f75b92b 10ffmpeg/libavfilter/ (avcodec.c avcodec.h): lavfi: add avfilter_get_buffer_ref_from_frame.
[17:31] <CIA-41> ffmpeg: 03Nicolas George 07master * r05776119c1 10ffmpeg/libavfilter/buffersrc.c: buffersrc: use avfilter_get_buffer_ref_from_frame.
[17:31] <CIA-41> ffmpeg: 03Nicolas George 07master * ra7ac05ce2f 10ffmpeg/ (doc/filters.texi libavfilter/src_movie.c): 
[17:31] <CIA-41> ffmpeg: src_movie: implement multiple outputs.
[17:31] <CIA-41> ffmpeg: The audio and video code paths were too different,
[17:31] <CIA-41> ffmpeg: most of the decoding has been rewritten.
[17:33] <Hawk-TAO> CIA-41,these are my answers?
[17:35] <Hawk-TAO> no
[17:36] <Hawk-TAO> i am puzzled
[17:37] <Hawk-TAO> how can it get actual parameter?
[17:37] <Hawk-TAO> any one helo me?
[17:38] <Hawk-TAO> help
[17:38] <Hawk-TAO> i am so fresh.
[17:39] <merbanan> Hawk-TAO: if you want to see what parameters that are passed to the function and you cant see it from the code, then run it though a debugger, might help out
[17:40] <saste> Hawk-TAO: also keep in mind that that is internal API, so it may change at your own risk and peril
[17:40] <saste> that's also the reason why it isn't even documented
[17:40] <Hawk-TAO> hhh,sir,i compile  it in linux
[17:42] <Hawk-TAO> thx,i will try it
[17:42] <Hawk-TAO> see you next time
[17:44] <ubitux> it's hard to communicate with chinese ppl =)
[17:45] <gnafu> Particularly /that one/.
[17:46] <ubitux> is that the one putting the whole content of the mail in the Subject?
[17:46] <TimNich> its hard to communicate with first language != English people ;P
[17:46] <gnafu> In these situations, I often wonder whether it really is just the language barrier, or if it goes deeper than that.
[17:47] <ubitux> ah no it was another one (https://lists.ffmpeg.org/pipermail/ffmpeg-user/2012-July/007710.html)
[17:47] <gnafu> Because there seems to be so much more than language causing them to be so frantic and confused/confusing.
[17:50] <burek> lol
[17:52] <saste> gnafu: a kung-fu boss whipping them if they won't ship before the next day?
[17:53] <gnafu> "It's more likely than you think."
[18:46] <juanmabc> http://fossies.org/dox/ffmpeg-0.11.1/libswresample_2resample_8c.html#ab7f21690522b85d7757e13fa9853d4d8
[18:47] <juanmabc> using ffplay.c formula: swr_set_compensation(is->swr_ctx, (wanted_nb_samples - is->frame->nb_samples) * is->audio_tgt_freq / dec->sample_rate, wanted_nb_samples * is->audio_tgt_freq / dec->sample_rate) < 0)
[18:47] <juanmabc> so i got sample_delta = 3584 compensation_distance = 4096, audio plays in slow motion
[18:48] <juanmabc> could someone enlighten me on that swr usage?
[18:50] <juanmabc> actually, using swr_set_compensation(rc, 0, 0) works, so at a lack of better understanding, i'm gonna use that
[18:50] <juanmabc> :D
[18:51] <juanmabc> note that it needs to be called since not calling it segfaults swr_convert
[19:21] <michaelni> juanmabc, you are using swr in your own code and it doesnt work ?
[19:23] <michaelni> also the point of swr_set_compensation is to "stretch" audio toward some timestamps so slow motion is what is to be expected if thats what the timestamps say things should be stretched to
[19:27] <CIA-41> ffmpeg: 03Justin Ruggles 07master * r7e15df7551 10ffmpeg/libswresample/ (resample.c swresample.c swresample.h swresample_internal.h): swr: resampling: add filter type and Kaiser window beta to AVOptions
[19:29] <juanmabc> michaelni: i was struggling to just use it for straight format conversion without modification of pitch
[19:29] <juanmabc> do you think rc, 0, 0 fits that purpose then?
[19:30] <michaelni> there should be no need to call compensate at all for this use case
[19:30] <juanmabc> michaelni: the think was, if i do simple not set_compensation, boom, segfault on swr_convert
[19:31] <juanmabc> could be a bug then, since it is pretty new code
[19:32] <juanmabc> i mean hitting distros
[19:33] <juanmabc> simple way to know compensation(rc, 0, 0) swr_convert() all goes ok, sound plays for real
[19:33] <juanmabc> comment compensation and it fails
[19:33] <juanmabc> first statement shows i was something it ok
[19:33] <juanmabc> s/something/doing/
[19:34] <michaelni> hmm
[19:35] <juanmabc> feel free to take http://code.google.com/p/openmedialibrary as an opengl/al test bed, since you seem to just have ffplay.c SDL test, the author (me) will like comments on the quality of the ffmpeg binding
[19:35] <michaelni> if i put return 0 as the first line of swr_set_compensate() and run the selftests it all passes
[19:35] <juanmabc> thought that last rc, 0, 0 is not still in the site
[19:36] <juanmabc> hold on, i'll paste the error, recompiling back
[19:36] <michaelni> i mean "make fate" with selftests
[19:37] <juanmabc> assertion a-planar failed at libswresample/swresample.c:204
[19:37] <juanmabc> nice to have the line even, he
[19:37] <michaelni> git clone https://code.google.com/p/openmedialibrary/ ->warning: You appear to have cloned an empty repository.
[19:38] <juanmabc> http://openmedialibrary.googlecode.com/files/ml-0.3.2.tar.bz2
[19:38] <juanmabc> no git, though i *have* to move to that :D
[19:39] <juanmabc> you would need alut and glut for the demos as a maybe failure dep
[19:39] <juanmabc> once compiled: demos/simple file
[19:40] <juanmabc> demos/cube to start to see some 3d power of the port
[19:40] <michaelni> if(!stream->audio.rc) swr_init(stream->audio.rc);
[19:40] <michaelni> you mean swr_init(NULL) ?
[19:40] <michaelni> ;)
[19:41] <juanmabc> but if i got stream->audio.rc not
[19:41] <juanmabc> ffplay.c:2124                 if (!is->swr_ctx || swr_init(is->swr_ctx) < 0)
[19:42] <juanmabc> wait, that changed (just seeing my paste)
[19:43] <juanmabc> michaelni: yes, thats it
[19:43] <juanmabc> cool to see it so soon
[19:44] <juanmabc> michaelni: now think on the swscaler issue ;P
[19:44] <michaelni> also "if(stream->audio.rc) swr_free(&stream->audio.rc);" <-- the if() is unneeded
[19:44] <juanmabc> michaelni: you can use it with resample or without, so i do that
[19:45] <juanmabc> you suggest swr_free does test that, don't you?
[19:45] <michaelni> yes it checks for null
[19:46] <juanmabc> mmm, thats just man 3 free behaviour so seems good to go
[19:46] <juanmabc> i mean to modify
[19:47] <juanmabc> i wonder about sws_freeContext, if it would be named sws_free i would be more sure
[19:48] <juanmabc> thanks michaelni, it takes time to get some response in here, but it helps
[19:48] <juanmabc> after all it is api questions, not c language, design questions or whatever
[19:48] <michaelni> sws_freeContext(NULL) is fine too
[19:49] <juanmabc> did you run the demo apart from seeing the code?
[19:49] <michaelni> no just looked at the code
[19:49] <juanmabc> i think i have an 8 bit alignment problem with sws_scaler
[19:49] <juanmabc> instead of 16, so no sse improvement
[19:50] <michaelni> well, make sure the data[] pointers are aligned and make sure linesize/stride is a multiple of 16 too
[19:50] <juanmabc> i can be so specific at saying: follow "stream->video.frm", "find word"
[19:51] <juanmabc> frm->data[1] and [2] returns 8 bit aligned after av_decode_video2
[19:51] <juanmabc> it fills it not me
[19:51] <juanmabc> michaelni: the rest of the fields linesize/stride/ convfrm->data etc are 16 bits aligned
[19:52] <juanmabc> i know that by following av_log("") "data is not aligned! This can lead to a speedloss"
[19:53] <michaelni> which decoder does not return 16 BYTE aligned [1] and [2] ?
[19:53] <juanmabc> if you foolow stream->video.frm i only do an avcodec_alloc_frame, nothing more on the user part
[19:53] <juanmabc> for sure mpeg4 xvid
[19:54] <juanmabc> but it happens for any file i throw here
[19:54] <juanmabc> webm too
[19:54] <juanmabc> vp8
[19:54] <michaelni> you could look at libavcodec/utils.c:video_get_buffer()
[19:54] <michaelni> thats where the linesize comes from
[19:55] <juanmabc> try a ./configure; make; demos runs without installing
[19:55] <juanmabc> looking
[19:56] <michaelni> STRIDE_ALIGN should be 16 and that shoule ensure a multiple of 16 in linesize
[19:59] <juanmabc> what means that?: buf->base[i]= av_malloc(size[i]+16); //FIXME 16
[19:59] <juanmabc> the FIXME seems scaring, but the code seems "fixed"
[20:00] <juanmabc> is not linesize, it is data[1] and data[2] like in rgb g and b
[20:00] <juanmabc> i'm pretty confident in that
[20:01] <juanmabc> did you try the run?
[20:02] <michaelni> does the av_malloc() return 16byte aligned pointers for you ?
[20:03] <juanmabc> swr_convert does not assert
[20:03] <juanmabc> and before avcodec_decode_video2 data is aligned
[20:04] <juanmabc> just this call, data is not
[20:06] <michaelni> does the  av_malloc() used to allocate data[]/base[]  return 16byte aligned pointers for you ?
[20:06] <michaelni> thats in video_get_buffer() unless you supply a different way to allocate data/base[] via get_buffer
[20:07] <juanmabc> michaelni: you can see that this old paste has my same excat issue u and v of yuv being g and b of rgb: http://ffmpeg.org/pipermail/libav-user/2012-January/001149.html
[20:07] <juanmabc> january is not far away
[20:10] <juanmabc> i use avcodec_default_get_buffer(context, frm); (i need get_buffer for accurate pts)
[20:11] <juanmabc> this has not to be fixed right now, again keep the link as an gl/al implementation not just sdl is usefull
[20:11] <michaelni> the code quoted in the mail is not in ffmpeg got anymore
[20:11] <michaelni> gIt
[20:11] <juanmabc> yep, i know, still, the problem persist
[20:12] <michaelni> so does my question if the data[] pointers from av_malloc() are aligned or not :)
[20:12] <juanmabc> i don't have an ffmpeg local build to know
[20:12] <juanmabc> you mean the ones in video_get_buffer
[20:12] <juanmabc> ?
[20:12] <michaelni> yes
[20:13] <juanmabc> convfrm is aligned fully, so you guess it is
[20:13] <juanmabc> that i know for sure
[20:13] <michaelni> convfrm ?
[20:14] <juanmabc> frm goes to convfrm for orig to rgb
[20:14] <michaelni> also if you dont build ffmpeg yourself it can easily be that the ffmpeg build used is broken
[20:15] <juanmabc> please look in mlStreamTransformTexSubImage2d, not in mlStreamTexSubImage2d, as the later does not use conversion at all
[20:15] <juanmabc> michaelni: easy to know that, did you run the demos/simple file :D
[20:17] <juanmabc> (other devs are wellcome to contribute in the talk)
[20:17] <michaelni> which function returns not 16byte aligned data ? you said <juanmabc> frm->data[1] and [2] returns 8 bit aligned after av_decode_video2
[20:17] <juanmabc> avcodec_decode_video2, but it is raised in sws_scaler, so it affects only TransformTexSubImage
[20:18] <juanmabc> michaelni: compiles?
[20:18] <michaelni> if avcodec_decode_video2() returns a avframe with misaligned data[] it comes from whatever_get_buffer()
[20:19] <juanmabc> TexSubImage2d without transform was a direct rendering, though since i'm using opengl with only GL_RGB and no GL_YUV, results almost useless
[20:19] <juanmabc> avcodec_get_default_buffer does allocate it?
[20:20] <juanmabc> again, please run and let me know if it is a distro issue, since it is fedora 17 default build
[20:20] <juanmabc> mplayer,xine,gstreamer works ok, but they could have cutted av_log
[20:21] <juanmabc> though mplayer eats only 10% full usage even counting pulseaudio, so i tend to think or it does a hack to fix, or it is my fault
[20:22] <michaelni> what compile flags are used for the distro packages ?
[20:22] <michaelni> of ffmpeg/libavcodec that is
[20:22] <michaelni> should be displayed by running plain ffmpeg
[20:23] <michaelni> also my runing the code wont awnser where the issue is, alignment has a 50% chance to be correct by pure chance probably
[20:24] <juanmabc> michaelni: it happens with any file here, so at least give it a try
[20:24] <juanmabc> http://fpaste.org/nIBS/
[20:24] <juanmabc> ffplay does not warn by the way, which can be a pretty clean indicative that the build is ok
[20:25] <juanmabc> though perhaps they don't swr_convert yuv input
[20:25] <juanmabc> s/sws_convert/
[20:26] <juanmabc> scale even he
[20:32] <juanmabc> this has to be avcodec_default_get_buffer
[20:34] <juanmabc> michaelni: remember january bug comment code gone? well my build is 0.10.4 not 0.11
[20:36] <michaelni> juanmabc, moment let me check 0.10.4 and the alignment stuff
[20:37] <juanmabc> i'm on it too
[20:38] <michaelni> i think 0.10.4 didnt align to 16 correctly
[20:38] <nevcairiel> what changed recently in the memory code?
[20:38] <michaelni> STRIDE_ALIGN changed in dsputil.h
[20:39] <michaelni> 0.11 looks fine
[20:39] <juanmabc> nice to have checked it down, yes the bug fits here, line 256 as it says
[20:40] <juanmabc> gonna build 0.11 and check :D
[20:40] <juanmabc> what one do you recommend ?
[20:40] <nevcairiel> 0.10 is that old, eh
[20:40] <juanmabc> 0.11.1
[20:40] <juanmabc> he, distros are like that
[20:41] <juanmabc> ffmpeg needs its own package policy since its updates are more solving than another packages
[20:41] <nevcairiel> michaelni: maybe the change of the stride align needs to go into the old branches, unless it could hurt something that i'm not aware of? :)
[20:43] <juanmabc> well, it seems a stability fix more than an api move or something for new versions
[20:44] <juanmabc> so yes, nevcairiel back fixing would be cool
[20:51] <juanmabc> i hate to break distro packages, is 0.11 backwards compatible?
[20:51] <juanmabc> with 0.10.4 this is of course
[20:52] <juanmabc> hard question, isn't it?
[20:52] <juanmabc> this is gonna take a while :D
[20:53] <juanmabc> installing deps...
[20:55] <juanmabc> and building... crossing fingers
[20:58] <juanmabc> by the wat, av_log for debug builds is ok, do you know how to quiet it for release builds? av_lod_disable() or something?
[20:59] <michaelni> av_log_set_level()
[21:01] <juanmabc> yep AV_LOG_QUIET as arg
[21:03] <juanmabc> two nice improvements in one talk, thanks
[21:04] <juanmabc> mmm, CC ffmpeg.o i'm near end
[21:04] <juanmabc> i'm waiting to see unpackaged stuff, and needing to rebuild rpm ...
[21:13] <juanmabc> oh my, so many codecs, is not even near compiled
[21:26] <juanmabc> how could i know PixelFormat byte size ?
[21:30] <juanmabc> well, build is done, let's install \o/
[21:32] <juanmabc> for the record build 0.11.1 does work with the alignment issue, i don't get the warning anymore \o/
[21:32] <juanmabc> thanks
[21:33] <juanmabc> gonna document that
[21:33] <juanmabc> also, gonna get out
[21:33] <juanmabc> bye
[21:51] <aiguu> Hello, I have basic encoding and decoding working on Windows with precompiled binaries. I want to try an do hardware accelerated decoding with dxva but can't seem to figure out how or find an example 
[21:51] <aiguu> Is there any simple way to turn a normal decoding call into a hardwar eaccelerated one if a graphics card exists?
[21:52] <nevcairiel> no, there is not. HW Accel on windows is sadly somewhat complicated
[21:53] <aiguu> :( we're really looking for a quick and easy way to do hardware accelerated h264 decoding on Windows
[21:53] <aiguu> Would you say ffmpeg is the simplest out there or should we keep looking?
[21:53] <Compn> aiguu : videolan uses dxva2 from ffmpeg to decode h264 in hw
[21:53] <Compn> so its possible on windows
[21:54] <nevcairiel> possible, sure, easy, not
[21:54] <Compn> maybe not easy for you nevcairiel :P
[21:54] <nevcairiel> i actually implemented it
[21:54] <nevcairiel> so i know its not easy!
[21:54] <Compn> lol
[21:54] <nevcairiel> (not for videolan, but my project)
[21:54] <Compn> whats your project ?
[21:55] <nevcairiel> a directshow filter around avcodec
[21:55] <aiguu> Know any good examples or anything to help me along?
[21:55] <Compn> not ffdshow-tryouts ?
[21:55] <nevcairiel> no, not ffdshow
[21:55] <nevcairiel> http://code.google.com/p/lavfilters/
[21:55] <CIA-41> ffmpeg: 03Mans Rullgard 07master * rb2704a65d5 10ffmpeg/configure: 
[21:55] <CIA-41> ffmpeg: configure: respect CC_O setting in check_cc
[21:55] <CIA-41> ffmpeg: Use compiler-specific replacements for the -o flag in check_cc.
[21:55] <CIA-41> ffmpeg: This makes tests work properly with compilers using non-standard
[21:55] <CIA-41> ffmpeg: flags.
[21:55] <CIA-41> ffmpeg: The tms470 flags are updated to work with this scheme.
[21:55] <CIA-41> ffmpeg: Signed-off-by: Mans Rullgard <mans at mansr.com>
[21:55] <Compn> aiguu : vlc code does it, check vlc code
[21:55] <CIA-41> ffmpeg: 03Jason Garrett-Glaser 07master * r85a3c19ed1 10ffmpeg/ (libavcodec/x86/dsputil_yasm.asm libavutil/x86/x86util.asm): 
[21:55] <CIA-41> ffmpeg: dsputil: x86: add SHUFFLE_MASK_W macro
[21:55] <CIA-41> ffmpeg: Simplifies pshufb masks that operate on words.
[21:55] <CIA-41> ffmpeg: 03Ronald S. Bultje 07master * ra6e922ffa2 10ffmpeg/libswscale/utils.c: swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
[21:55] <CIA-41> ffmpeg: 03Ronald S. Bultje 07master * rfd48721849 10ffmpeg/libavformat/ (asfenc.c avienc.c flvenc.c matroskaenc.c movenc.c nutenc.c): 
[21:55] <CIA-41> ffmpeg: lavf: use conditional notation for default codec in muxer declarations.
[21:55] <CIA-41> ffmpeg: This removes the use of macro nesting in these code constructs, which
[21:55] <CIA-41> ffmpeg: makes it easier to parse in pre-processors.
[21:55] <CIA-41> ffmpeg: 03Diego Biurrun 07master * r5a6e3c039c 10ffmpeg/libswscale/ (9 files in 4 dirs): swscale: Mark all init functions as av_cold
[21:55] <CIA-41> ffmpeg: 03Mashiat Sarker Shakkhar 07master * r8d2e3fee0b 10ffmpeg/tests/ (fate/microsoft.mak ref/fate/vc1_sa10143): 
[21:55] <CIA-41> ffmpeg: vc1: Add a test for interlaced field pictures
[21:55] <CIA-41> ffmpeg: Signed-off-by: Derek Buitenhuis <derek.buitenhuis at gmail.com>
[21:55] <CIA-41> ffmpeg: 03Ronald S. Bultje 07master * r3124886554 10ffmpeg/libavfilter/x86/ (gradfun.c yadif.c): 
[21:55] <CIA-41> ffmpeg: lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
[21:55] <CIA-41> ffmpeg: This allows compiling this code using compilers that do not understand
[21:55] <CIA-41> ffmpeg: gcc-style inline assembly.
[21:55] <CIA-41> ffmpeg: 03Ronald S. Bultje 07master * r3b175384bb 10ffmpeg/libswscale/swscale.c: 
[21:55] <CIA-41> ffmpeg: swscale: add missing HAVE_INLINE_ASM check.
[21:55] <nevcairiel> yeah the vlc code is a good starting point
[21:56] <aiguu> Thanks 
[21:56] <nevcairiel> In short what you need to do is provide ffmpeg with the required direct3d interfaces, which you need to create
[21:57] <nevcairiel> and then after it decoded a frame, you get a direct3d surface, so if you want the actual image, you need to copy it off the surface
[21:59] <nevcairiel> maybe i should setup a quick example of that some day, its not that hard if you just hardcode it for one codec
[22:00] <aiguu> Yeah we have a few codecs we use and as far as this goes we really just need h264 to be decoded with HW 
[22:00] <CIA-41> ffmpeg: 03Paul B Mahol 07master * rebe846fa73 10ffmpeg/libavfilter/vf_colormatrix.c: 
[22:00] <CIA-41> ffmpeg: vf_colormatrix: add missing semicolon
[22:00] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[22:00] <aiguu> I got VLCs source code, going to try taking a look around it :) 
[22:00] <nevcairiel> there is a special dxva.c somewhere
[22:01] <nevcairiel> all important thing should be in there, i think
[22:01] <nevcairiel> +s
[22:02] <aiguu> Thanks :D
[22:12] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r6d4c97bb85 10ffmpeg/ (libavcodec/vc1.c tests/fate/microsoft.mak): 
[22:12] <CIA-41> ffmpeg: fate: enable fate-vc1_sa10143
[22:12] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[22:55] <CIA-41> ffmpeg: 03Nicolas George 07master * rddcb99bb51 10ffmpeg/libavfilter/vf_deshake.c: 
[22:55] <CIA-41> ffmpeg: vf_deshake: set cur_buf to NULL.
[22:55] <CIA-41> ffmpeg: Fix a segfault.
[23:01] <CIA-41> ffmpeg: 03Paul B Mahol 07master * rc9a96ec3c7 10ffmpeg/libavcodec/iff.c: 
[23:01] <CIA-41> ffmpeg: cosmetics: iff: fix typo
[23:01] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[23:44] <CIA-41> ffmpeg: 03Carl Eugen Hoyos 07master * rd147aedb6b 10ffmpeg/libavcodec/v410dec.c: Fix typo in v410 decoder.
[23:47] <CIA-41> ffmpeg: 03Paul B Mahol 07master * r3933782735 10ffmpeg/libavformat/iff.c: 
[23:47] <CIA-41> ffmpeg: cosmetics: iff: split very long line
[23:47] <CIA-41> ffmpeg: Also while here sort chunk ids.
[23:47] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[23:58] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rbb1e0e80b0 10ffmpeg/libavcodec/bitstream.c: 
[23:58] <CIA-41> ffmpeg: libavcodec/bitstream: switch to av_assert
[23:58] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[23:59] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r5a9fa84585 10ffmpeg/libavcodec/cavsdec.c: 
[23:59] <CIA-41> ffmpeg: cavsdec: switch to av_assert
[23:59] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:00] --- Tue Jul 24 2012


More information about the Ffmpeg-devel-irc mailing list