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

burek burek021 at gmail.com
Wed Jul 18 02:05:02 CEST 2012


[00:01] <Compn> durandal_1707 : ^^^
[00:01] <durandal_1707> Compn: yes that is 1.0
[00:01] <Compn> you need more , or is that ok ?
[00:02] <durandal_1707> Compn: you have more?
[00:02] <Compn> i might have to locate some more
[00:10] <Compn> i found more viv2 samples :\
[02:04] <durandal_1707> if you have duration in seconds how you transform it to pts units?
[02:05] <ohsix> you don't :D
[02:05] <ohsix> you binary search
[02:06] <durandal_1707> do you really need to troll?
[02:07] <ohsix> there's no relationship, i dunno
[02:07] <ohsix> i dunno, man!
[02:09] <kierank> durandal_1707: there are av_rescale functions somewhere
[02:09] <kierank> av_rescale( num, den, AVrational) iirc
[02:18] <durandal_1707> kierank: and what is what, where goes duratition in secs?
[02:19] <kierank> well your denominator would be 1
[02:19] <kierank> and your numerator the duration in seconds
[02:19] <kierank> this of course assumes your duration is an integer
[02:37] <Hawk-TAO> hi
[02:37] <Hawk-TAO> so nice to meet you again.
[02:39] <Hawk-TAO> MR. Niedermayer
[02:39] <Hawk-TAO> ARE you online?
[02:40] <Hawk-TAO> sir?
[02:45] <Hawk-TAO> somebody?
[02:45] <Hawk-TAO> anybody?
[02:50] <Compn> just me and the chickens
[02:50] <Compn> bawk bawk
[02:50] <Compn> ni hao anyways
[02:51] <Hawk-TAO> hh,are you Chinese?
[02:53] <Hawk-TAO> compn
[02:53] <Hawk-TAO> can you speak Chinese?
[02:55] <Hawk-TAO> hhhh,ni zenme bu li wo ne?
[02:56] <Compn> no
[02:56] <Compn> i know how to say 'hello' :)
[02:57] <Compn> which is probably more annoying than useful
[02:57] <Compn> because people think i know whatever language i say hello in
[02:59] <Hawk-TAO> hhhh
[02:59] <Hawk-TAO> where are you from?USA?
[03:01] <Compn> yes
[03:01] <Compn> near detroit
[03:01] <Compn> everyone knows where detroit is
[03:01] <Hawk-TAO> oh,good
[03:02] <Hawk-TAO> the detriot university is very famous
[03:03] <Hawk-TAO> how many cities do you know in China?
[03:04] <Compn> i know some, mostly from watching old hong kong films :)
[03:04] <Hawk-TAO> shanghai?peking?nanking?
[03:05] <Skyler> michaelni is michael, by the way.
[03:05] <Compn> shanghai, beijing, macau, ummm 
[03:05] <Hawk-TAO> mem,thx
[03:06] <Compn> i'm not very good with chinese geography. i havent had a chance to travel there yet
[03:06] <Hawk-TAO> hhh,i have many USA colleagues
[03:07] <Hawk-TAO> from UIUC
[03:09] <Hawk-TAO> by the way,do you think China is the enemy or friend to USA?
[03:09] <Compn> i just made a friend in china, but forgot what city he is in
[03:10] <Compn> tienjin ? something
[03:10] <Hawk-TAO> TIANJIN?
[03:10] <Hawk-TAO> it is close to beijing
[03:10] <Compn> yes , i think he is at a university there
[03:10] <Hawk-TAO> just half an hour by train
[03:11] <Compn> i think usa and china are friends . but i think usa is enemy to most of the planet at this point :(
[03:11] <Hawk-TAO> tianjin university?
[03:11] <Compn> yes
[03:12] <Hawk-TAO> it is a famous university in China
[03:13] <Hawk-TAO> hh,because usa is so powerfull
[03:14] <Compn> because usa tries to run the world, but ends up making poor decisions
[03:16] <Hawk-TAO> hhhh
[03:16] <Hawk-TAO> it means ability
[03:18] <Compn> how are things in china ?
[03:18] <Hawk-TAO> now,usa is much stronger than china. 
[03:19] <Hawk-TAO> good,it is harmonious.
[03:20] <michaelni> Hi Hawk-TAO, how is your crypto work going, is there something i can help with ?
[03:20] <michaelni> i did not fully understand what you where trying to do ...
[03:20] <michaelni> ... where  the problems where
[03:20] <Hawk-TAO> oh,i just wanna add crypto to ffmpeg.
[03:21] <Hawk-TAO> and parallelize it too
[03:21] <Compn> Hawk-TAO : you want to encrypt each video frame to an encrypted format ?
[03:21] <Hawk-TAO> yeah
[03:21] <michaelni> we have AES, blowfish XTEA and a few more already
[03:21] <Hawk-TAO> i wanna use crypto++ 
[03:22] <durandal_1707> that is C++ and ffmpeg is in C
[03:22] <Hawk-TAO> i see,
[03:22] <durandal_1707> does it provide C interface?
[03:22] <Hawk-TAO> no,but i can convert it to C.
[03:24] <Hawk-TAO> but the ffserver send a few data sometime
[03:24] <Compn> what kind of container do you want to use ?
[03:25] <Hawk-TAO> so it is not a good idea to parallelize it.
[03:25] <Compn> it might be difficult, because you might have to create your own container to handle it.
[03:25] <Hawk-TAO> yes
[03:25] <iive> mpeg-ts should support encryption :)
[03:25] <Hawk-TAO> so i ask you about that
[03:25] <Hawk-TAO> mpeg-ts?
[03:26] <iive> transport stream. there is header in the packet that says it is ecrypted and what key (odd or even) you should use.
[03:27] <iive> dvb uses it, conax and other cas.
[03:27] <Hawk-TAO>                 len = send(c->fd, c->buffer_ptr, c->buffer_end - c->buffer_ptr, 0);
[03:28] <iive> you can use pes encryption too, but It is a little bit tricky.
[03:28] <Hawk-TAO> this is the code in ffserver line 2543
[03:29] <Hawk-TAO> i wanna add crypto before send the data.
[03:30] <Hawk-TAO> iive,transport stream?
[03:30] <michaelni> ok, but why do you want to use a external library for that instead of the existing for example AES code =
[03:30] <michaelni> ?
[03:31] <iive> mpeg-trasport stream, iso13818-1
[03:32] <Hawk-TAO> i wanna make the all crypto algorithm can work in ffmpeg.
[03:32] <michaelni> on what platforms is crypto++ available ?
[03:32] <Compn> michaelni : i think hes just looking for the function to hook into to encrypt some video frames
[03:32] <Hawk-TAO> much,if i convert it to C.
[03:33] <Compn> would he need to add a -encrypt option and ... something
[03:33] <Hawk-TAO> yeah,add a option
[03:33] <Hawk-TAO> mpeg-trasport stream, iso13818-1?
[03:34] <kierank> there is already a library that does that
[03:34] <Hawk-TAO> ivve, i am so fresh in ffmpeg, what is that?
[03:34] <kierank> oh never mind, ignore me
[03:35] <Hawk-TAO> iive,what is mpeg-trasport stream, iso13818-1?
[03:35] <michaelni> Hawk-TAO, if you want to generically encrypt with any container & codec, it could possibly be hooked in somewhere in av_read_frame() / av_write_frame()
[03:35] <CIA-41> ffmpeg: 03Paul B Mahol 07master * r292850b634 10ffmpeg/libavcodec/tiff.c: 
[03:35] <CIA-41> ffmpeg: tiff: add smarter checks if there is enough data left
[03:35] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[03:35] <CIA-41> ffmpeg: 03Paul B Mahol 07master * r1ec83d9a9e 10ffmpeg/libavcodec/tiff.c: 
[03:35] <CIA-41> ffmpeg: tiff: port to bytestream2
[03:35] <CIA-41> ffmpeg: Prevents out of array reads.
[03:35] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[03:35] <CIA-41> ffmpeg: 03Paul B Mahol 07master * r3071af6cf2 10ffmpeg/libavcodec/ (tiff.c tiff.h): 
[03:35] <CIA-41> ffmpeg: tiff: read more tags of type string
[03:35] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[03:35] <Hawk-TAO> yes
[03:35] <Compn> ehe, drv posted his vivo demuxer :)
[03:35] <iive> Hawk-TAO: standard, mpeg is standard body.
[03:36] <Compn> or rather, paul posted drv's demuxer
[03:36] <iive> it is about file, streams, and other stuff people were talking about.
[03:36] <michaelni> +av_interleaved_write_frame
[03:36] <iive> well, ignore me. i'm out.
[03:36] <Hawk-TAO> i wanna add the cryto in av_read_frame() / av_write_frame()
[03:36] <iive> have fun people.
[03:38] <Hawk-TAO> but i wanna parallelize it too
[03:39] <Hawk-TAO> but the data of one frame may few
[03:40] <Hawk-TAO> so it is not suitable for parallel
[03:41] <Hawk-TAO> michaelni,A dependancy on OpelCL for optimizations seems non ideal
[03:41] <Hawk-TAO> why do you say that?
[03:43] <Hawk-TAO> you dont like OpenCL?
[03:43] <michaelni> its a additional dependancy ffmpeg would have 
[03:43] <Hawk-TAO> yeah
[03:43] <michaelni> simply using pthreads should work fine ...
[03:43] <Hawk-TAO> but it maybe usefull 
[03:44] <Hawk-TAO> but pthreads work in CPU.
[03:45] <Hawk-TAO> av_read_frame() / av_write_frame(),handle one frame one time
[03:45] <Skyler> GPU optimization of crypto is probably unnecessary, it's already so fast on the CPU that it'd probably saturate the GPU memory bandwidth.
[03:45] <Hawk-TAO> how can i handle many frames one time?
[03:45] <michaelni> the generic crypro stuff could be implemented as a seperate demuxer / muxer that does en/de crypt and then pass it to another (de)muxer
[03:46] <michaelni> adding some que thats handled with multiple threads in there should be less messy than doing it in read/write_frame() i think
[03:49] <Hawk-TAO> add some queue in read/write_frame() to handle many frames?
[03:51] <michaelni> yes or Add a new Input/OutputFormat that does the crypto in its read/write_packet() and calls a user specified (de)muxer = In/OutputFormat to pass the packets on
[03:52] <Hawk-TAO> thx,sir
[03:52] <michaelni> the end result is probably quite similar, but with a seperate (de)muxer the code is more seperated
[03:52] <michaelni> np :)
[03:53] <Hawk-TAO> u help me so much,
[03:55] <Hawk-TAO> ffserver use the int av_read_frame(AVFormatContext *s, AVPacket *pkt)
[03:55] <Hawk-TAO> in utils.c?
[03:57] <michaelni> yes
[03:59] <Hawk-TAO> and add the queue in av_read_frame() or before av_read_frame()?
[04:15] <Hawk-TAO> how can i know it is the I frames in AVFormatContext *s?
[04:27] <michaelni> AVPacket.flags & AV_PKT_FLAG_KEY
[04:32] <Hawk-TAO> ok,thx
[05:45] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rbdf28d14f2 10ffmpeg/libswscale/output.c: 
[05:45] <CIA-41> ffmpeg: sws: extend dither tables by 1 line so simpler arithmetic can be used to address the next line
[05:45] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[08:13] <CIA-41> ffmpeg: 03Carl Eugen Hoyos 07master * r34aa61a36d 10ffmpeg/libavcodec/mpeg4videodec.c: mpeg4videodec: Use format specifier PRId64 for int64_t.
[08:13] <CIA-41> ffmpeg: 03Carl Eugen Hoyos 07master * r6dfea3a361 10ffmpeg/libavformat/riff.c: 
[08:13] <CIA-41> ffmpeg: Remove internal MPlayer FourCC viv1.
[08:13] <CIA-41> ffmpeg: Reviewed-by: Derek Buitenhuis
[08:13] <CIA-41> ffmpeg: Reviewed-by: Paul B Mahol
[08:13] <CIA-41> ffmpeg: 03Carl Eugen Hoyos 07master * r7f5fae1e48 10ffmpeg/libavcodec/mpeg4videodec.c: mpeg4videodec: Add two missing format specifiers for debug output.
[08:55] <CIA-41> ffmpeg: 03chinshou 07master * r81dd908c6e 10ffmpeg/libavcodec/libilbc.c: 
[08:55] <CIA-41> ffmpeg: Fix libilbc compilation.
[08:55] <CIA-41> ffmpeg: Fixes ticket #1540
[09:57] <CIA-41> ffmpeg: 03Nicolas George 07master * r1d903a5ee4 10ffmpeg/libswresample/swresample.c: 
[09:57] <CIA-41> ffmpeg: lswr: channel_map requires input conversion.
[09:57] <CIA-41> ffmpeg: channel_map is applied between in and postin.
[09:57] <CIA-41> ffmpeg: Without this test, if the input format is an acceptable internal format,
[09:57] <CIA-41> ffmpeg: the in->postin conversion is skipped. In the best case,
[09:57] <CIA-41> ffmpeg: it ignores channel_map, in the worst case it causes an assert failure
[09:57] <CIA-41> ffmpeg: if the number of channels is changed by the map.
[12:36] <michaelni> Daemon404, zerocodec seems not to free the current picture in case of some errors, i see only the prev freed in decode_close() (thats from reading  the code i dont have a testcase)
[14:37] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r22a279539e 10ffmpeg/libswscale/ (output.c yuv2rgb.c): 
[14:37] <CIA-41> ffmpeg: yuv2rgb: implement 15/16bit ordered dither
[14:37] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[15:19] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r21d8255423 10ffmpeg/libswscale/ (swscale_unscaled.c utils.c): 
[15:19] <CIA-41> ffmpeg: sws: handle non native rgb<->rgb convertions
[15:19] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[16:29] <Daemon404> michaelni, ok, will check
[16:43] <Daemon404> michaelni, shouldnt decode_close() get called if decoder_farme returns error, anyway?
[16:45] <michaelni> why should it ? the next frame might be error free decodeable
[16:45] <michaelni> also even if, i dont think that would free the current frame
[16:45] <michaelni> it would free the previous only
[16:45] <Daemon404> i asked this question to Libav devs before, and they told me it is indeed called
[16:46] <Daemon404> (back when i wrote it)
[16:46] Action: Daemon404 wonders which is true...
[16:46] Action: Daemon404 checks
[16:49] <Daemon404> michaelni, youre right about teh current farme nto being freed
[16:49] <Daemon404> i will investigate if decode_close is calleds
[16:49] <Daemon404> -s
[16:55] <CIA-41> ffmpeg: 03William Yu 07master * r6d4e0d1b7e 10ffmpeg/libavformat/rmdec.c: 
[16:55] <CIA-41> ffmpeg: avf:rmdec.c fill duration to AVFormatContext
[16:55] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[17:04] <Daemon404> michaelni, fixing.
[17:13] <Daemon404> michaelni, so from what i understand, decode_close() is not guaranteed to be called after a failed decode_frame, but is guaranted to be called at some point when decoding ends, correct?
[17:14] <michaelni> yes
[17:14] <Daemon404> ok.
[17:15] <Daemon404> it looks like i will only have to worry about one free then
[17:24] <CIA-41> ffmpeg: 03Piotr Bandurski 07master * rb688c7b7f9 10ffmpeg/libavformat/riff.c: 
[17:24] <CIA-41> ffmpeg: riff: add "SM4V" FourCC
[17:24] <CIA-41> ffmpeg: Reviewed-by: compn <tempn at twmi.rr.com>
[17:24] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[17:24] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rad8dabfe9c 10ffmpeg/ (libavformat/isom.h libavformat/mov.c tests/fate/aac.mak): 
[17:24] <CIA-41> ffmpeg: mov/aac: skip initial aac padding
[17:24] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[17:51] <Compn> one of those vivo files i uploaded has a different header
[17:51] <Compn> it was created by vivo mac software
[17:52] <Compn> and also does not work correctly in mplayer demuxer
[17:52] <Compn> wonder if drv's demuxer handles it
[19:07] <CIA-41> ffmpeg: 03Paul B Mahol 07master * r0b74b8f649 10ffmpeg/ (libavcodec/ptx.c tests/ref/fate/ptx): 
[19:07] <CIA-41> ffmpeg: ptx: correct decoding
[19:07] <CIA-41> ffmpeg: The image data is in BGR and not in RGB.
[19:07] <CIA-41> ffmpeg: Signed-off-by: Paul B Mahol <onemda at gmail.com>
[23:58] <CIA-41> ffmpeg: 03Nicolas George 07master * rd483867525 10ffmpeg/libavfilter/avfiltergraph.h: 
[23:58] <CIA-41> ffmpeg: avfiltergraph: document a catch in request_oldest().
[23:58] <CIA-41> ffmpeg: This one is tricky. Consider a graph with two sink links, A and B.
[23:58] <CIA-41> ffmpeg: request_oldest() requests on A, and A returns EOF. This EOF causes
[23:58] <CIA-41> ffmpeg: a filter to flush pending frames to B; they are unrequested.
[23:58] <CIA-41> ffmpeg: Then request_oldest() moves on to B, and B returns EOF.
[23:58] <CIA-41> ffmpeg: 03Nicolas George 07master * rf98d814bb6 10ffmpeg/libavfilter/avfiltergraph.c: avfiltergraph: add a debug message on EOF.
[23:58] <CIA-41> ffmpeg: 03Nicolas George 07master * rd06bfda07e 10ffmpeg/libavfilter/avfilter.c: 
[23:58] <CIA-41> ffmpeg: lavfi: rescale link->current_pts.
[23:58] <CIA-41> ffmpeg: The doxy says, and the heap implementations assumes,
[23:58] <CIA-41> ffmpeg: it is in AV_TIME_BASE units.
[00:00] --- Wed Jul 18 2012


More information about the Ffmpeg-devel-irc mailing list