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

burek burek021 at gmail.com
Thu Jul 26 02:05:02 CEST 2012


[00:00] --- Wed Jul 25 2012
[00:31] <durandal_1707> michaelni: merging iff video codecs would require adding new codecs because current codecs name woule be misleading
[00:32] <durandal_1707> not codecs but single codec, making other one obsolete
[00:34] <michaelni> yes
[00:35] <michaelni> ubitux, do you want to review "[PATCH 0/2] 3GPP TS 26.245 Timed Text Encoder." as well as 1/2 and 2/2 ?
[00:35] <michaelni> its about subtitles :)
[00:35] <durandal_1707> so i just need to leave old codecs id and that is all?
[00:36] <durandal_1707> because there is no point to use libavformat from ffmpeg but libavcodec from libav...
[00:36] <michaelni> probably needed to keep 2 dummy AVCodec that route the old codecs to the new decoder
[00:36] <durandal_1707> s/but/and
[00:36] <michaelni> some distrro users might end up mixing different minor versions of libavcodec and fomrat
[00:37] <durandal_1707> but in their case anim decoding would not work anyway
[00:38] <durandal_1707> so i see no point to keep dummy bload crap
[00:40] <durandal_1707> brb
[00:52] <CIA-41> ffmpeg: 03Michael Bradshaw 07master * r043c75a989 10ffmpeg/libavcodec/libopenjpegenc.c: 
[00:52] <CIA-41> ffmpeg: libopenjpegenc: set numresolution max to INT_MAX
[00:52] <CIA-41> ffmpeg: OpenJPEG doesn't have a max lowres limit, so don't enforce an arbitrary one.
[00:52] <CIA-41> ffmpeg: Signed-off-by: Michael Bradshaw <mbradshaw at sorensonmedia.com>
[00:52] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:52] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r6b38101df5 10ffmpeg/libavformat/utils.c: 
[00:52] <CIA-41> ffmpeg: parse_packet: reset pkt->pos after it has been used
[00:52] <CIA-41> ffmpeg: This should have no effect as it was not used in this case
[00:52] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:52] <CIA-41> ffmpeg: 03Piotr Bandurski 07master * r23bb85b069 10ffmpeg/libavformat/riff.c: 
[00:52] <CIA-41> ffmpeg: riff: make the G723.1 in wav output compatible with WMP/msacm codec
[00:52] <CIA-41> ffmpeg: Attached patch (together with demuxing patch) allows WMP/msacm G723.1 codec decode files encoded by FFmpeg.
[00:52] <CIA-41> ffmpeg: Tested with both 6400 and 5333 mode
[00:52] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:52] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * re2fd18d40d 10ffmpeg/libavformat/utils.c: 
[00:53] <CIA-41> ffmpeg: lavf: factor AVStream st out
[00:53] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[00:55] <ubitux> michaelni: sorry i can't review it at the moment even if i would like to
[01:42] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r72743aef03 10ffmpeg/libavcodec/imgconvert.c: (log message trimmed)
[01:42] <CIA-41> ffmpeg: imgconvert: Implement avcodec_find_best_pix_fmt_of_list()
[01:42] <CIA-41> ffmpeg: The old avcodec_find_best_pix_fmt() was insufficient due to 64 pix_fmt limit.
[01:42] <CIA-41> ffmpeg: In ffmpeg this problem has been solved long ago through avcodec_find_best_pix_fmt2()
[01:42] <CIA-41> ffmpeg: Today libav has added a incompatible modified version of avcodec_find_best_pix_fmt2()
[01:42] <CIA-41> ffmpeg: under the same name, thus again breaking ABI/API ...
[01:43] <CIA-41> ffmpeg: The avcodec_find_best_pix_fmt_of_list() added in this commit here makes the libav
[02:17] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r1c2beff04a 10ffmpeg/libavformat/ (avformat.h utils.c): 
[02:17] <CIA-41> ffmpeg: lavf: Set pos for all packets of AVSTREAM_PARSE_FULL_RAW files.
[02:17] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[09:20] <saste> it is just an impression or there are many buffer overreads in lavc/mmvideo?
[09:36] <CIA-41> ffmpeg: 03Carl Eugen Hoyos 07master * r20e88d8618 10ffmpeg/ (libavcodec/avuidec.c libavformat/mov.c libavformat/movenc.c): 
[09:36] <CIA-41> ffmpeg: Fix avui stream-copy.
[09:36] <CIA-41> ffmpeg: The native decoder and MPlayer's binary decoder only need the
[09:36] <CIA-41> ffmpeg: APRG atom, QuickTime at least requires also the ARES atom and
[09:36] <CIA-41> ffmpeg: four additional 0 bytes padding at the end of stsd.
[10:06] <CIA-41> ffmpeg: 03Stefano Sabatini 07master * rb73be80d48 10ffmpeg/libavfilter/avfilter.h: lavfi/avfilter.h: add doxy for AVFilterLink.cur_buf
[10:06] <CIA-41> ffmpeg: 03Stefano Sabatini 07master * re564de26b3 10ffmpeg/libavfilter/avfilter.h: lavfi/avfilter.h: add doxy for AVFilterLink.out_buf
[10:06] <CIA-41> ffmpeg: 03Stefano Sabatini 07master * r9b42d6ed1f 10ffmpeg/libavformat/avformat.h: 
[10:06] <CIA-41> ffmpeg: lavf/avformat.h: fix verb person for av_guess_sample_aspect_ratio()
[10:06] <CIA-41> ffmpeg: Prefer impersonal form over third person, consistent with the rest of
[10:06] <CIA-41> ffmpeg: docs.
[10:07] <CIA-41> ffmpeg: 03Stefano Sabatini 07master * r10b44f4932 10ffmpeg/ffprobe.c: 
[10:07] <CIA-41> ffmpeg: ffprobe: use av_guess_sample_aspect_ratio() for guessing the aspect ratio
[10:07] <CIA-41> ffmpeg: This is consistent with what av_dump_format() does.
[10:07] <CIA-41> ffmpeg: In particular, fix trac ticket #1568.
[10:30] <ubitux> is there no way to use libavfilter to do pix fmt convert?
[10:30] <ubitux> it doesn't look like vf scale is able to do so
[10:30] <ubitux> or maybe i'm missing something
[10:31] <ubitux> (i mean from the cmd line, like vf scale=pix_fmt=gray8)
[10:31] <ubitux> with ffmpeg we can use -pix_fmt to request an output and everything is handled internally, but i need that for ffplay for instance
[10:34] <saste> ubitux: format=gray8
[10:35] <ubitux> oh format i forgot that one
[10:35] <ubitux> thx
[14:35] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r703f294934 10ffmpeg/tests/ref/fate/ (vsynth1-avui vsynth2-avui): (log message trimmed)
[14:35] <CIA-41> ffmpeg: fate: update avui test due to
[14:35] <CIA-41> ffmpeg: commit 20e88d86182d9bb49112648d9a42849a7b17eacd
[14:35] <CIA-41> ffmpeg:  Fix avui stream-copy.
[14:35] <CIA-41> ffmpeg:  The native decoder and MPlayer's binary decoder only need the
[14:35] <CIA-41> ffmpeg:  APRG atom, QuickTime at least requires also the ARES atom and
[14:35] <CIA-41> ffmpeg:  four additional 0 bytes padding at the end of stsd.
[14:37] <crtmpserver> hello all
[14:38] <crtmpserver> does anybody has any idea on https://ffmpeg.org/trac/ffmpeg/ticket/1572 ?
[14:56] <michaelni> crtmpserver, could you figure out where the dts become messed up ?
[15:17] <michaelni> durandal_1707, i see some recognizeable but corrupted pics on hnm4 now :)
[15:19] <durandal_1707> michaelni: what you changed (i guess you need postprocessing too)
[15:21] <crtmpserver> michaelni: that is what I find hard to accomplish
[15:21] <michaelni> i "rewrote" the LZ code based on the example and fixed some issues in the pallete code to
[15:21] <crtmpserver> is somewhere in the libafformat/utils.c
[15:21] <michaelni> s/exmaple/hnm1 whatever code/
[15:22] <crtmpserver> something to do with a queeu of packets
[15:25] <durandal_1707> michaelni: so what is wrong in LZ code?
[15:25] <crtmpserver> Michaelni: http://pastebin.com/4S248sU8
[15:25] <crtmpserver> that is tha trace I've done
[15:25] <crtmpserver> so, the packet comes out from mpegts demuxer correct
[15:26] <michaelni> durandal_1707, ill send you my code once i got it working a bit better
[15:26] <crtmpserver> but inside "read_frame_internal" in libavformat/utils.c is becoming altered
[15:27] <durandal_1707> michaelni: as i already sain you need postprocessing crap
[15:29] <durandal_1707> and palette is 6bit crap, not 8bit...
[15:30] <michaelni> i realized the 6bit
[15:31] <michaelni> iam working on the pp atm
[15:35] <durandal_1707> hey, in that case you could finish it all, pp is explained in wiki.
[15:36] <michaelni> crtmpserver, ill look at the issue later, ill finish hnm4 keyframes first 
[15:49] <michaelni> durandal_1707, working first intraframe decoder: https://github.com/michaelni/FFmpeg/commits/hnm4hacks
[15:53] <saste> what's the convention for writing an encoder+decoder, should they stay in different files, or is ok a single file with encoder + decoder?
[15:54] <durandal_1707> shit it is memcpy fail
[15:55] <saste> split -> seems they are all decoupled
[15:59] <durandal_1707> michaelni: why you changed frame reference from 0 to 3?
[16:08] <michaelni> durandal_1707, no reason just thought it might be needed for non key but that change is surely premature
[16:08] <michaelni> the internal buffer might be enough i didnt look at non key
[16:41] <crtmpserver> michaelni, I can't thank you enough if you do that!
[17:00] <durandal_1707> saste: sdl output is not mentioned here http://ffmpeg.org/general.html
[17:01] <saste> durandal_1707: same for caca
[17:02] <saste> and, should we mention the lavfi "virtual" device?
[17:05] <durandal_1707> but I used SDL as cargo cult
[20:22] <crtmpserver> michaelni, right away!
[20:24] <ubitux> Daemon404: there is a rematrix volume option iirc
[20:24] <ubitux> rmvol or sth
[20:25] <ubitux> (which is 1 by default)
[20:25] <Daemon404> well i dont wanna introduce clipping
[21:39] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * raee675a326 10ffmpeg/libavcodec/intrax8.c: 
[21:39] <CIA-41> ffmpeg: intrax8: asserts cleanup
[21:39] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[21:39] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * r9746f87f15 10ffmpeg/libavcodec/libvpxenc.c: 
[21:39] <CIA-41> ffmpeg: libvpxenc: switch to av_assert
[21:39] <CIA-41> ffmpeg: Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
[21:49] <crtmpserver> michaelni: I can see DTSs now, but the flv is still broken
[21:50] <crtmpserver> http://rtmpd.com/assets/11/gigi_ts.flv is done from the ts file
[21:50] <crtmpserver> http://rtmpd.com/assets/11/gigi_m3u8.flv is done from apple HLS
[21:50] <crtmpserver> gig_ts works perfectly
[21:50] <crtmpserver> gigi_m3u8 is wrong
[21:53] <crtmpserver> you can quickly see them in action by loading this page:
[21:53] <crtmpserver> http://www.osmf.org/configurator/fmp/#
[21:53] <crtmpserver> and paste the links there
[21:54] <crtmpserver> somehow, VLC/ffplay handles them correctly, but is definitely something wrong with it
[21:58] <michaelni> crtmpserver, do you have some idea what might be wrong ? did you compare the timestamps from both ?
[21:58] <michaelni> did you try just audio or just video ?
[21:59] <crtmpserver> both video only and audio/video
[21:59] <crtmpserver> same result
[22:00] <crtmpserver> I'm planning to use my server now to dump detailed info on both composition time offsets present in both versions of HLS
[22:00] <crtmpserver> s/HLS/flv/
[22:00] <crtmpserver> along with the timestamps
[22:01] <crtmpserver> ideally, I should get identical values
[22:01] <crtmpserver> because all.ts is actually nothing more than all the chunks from HLS concatenated
[22:01] <crtmpserver> talking about the source
[22:02] <crtmpserver> did you loaded them in that player?
[22:02] <crtmpserver> perhaps an idea can hit you :)
[22:02] <crtmpserver> in the mean time, I'll dump the timestamps
[22:13] <CIA-41> ffmpeg: 03Jordi Ortiz 07master * rf9a9a14862 10ffmpeg/libavformat/tcp.c: 
[22:13] <CIA-41> ffmpeg: tcp: add port missing error message
[22:13] <CIA-41> ffmpeg: Without this patch a user a bit absent-minded may not notice that
[22:13] <CIA-41> ffmpeg: the connection doesn't work because the port is missing.
[22:13] <CIA-41> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[22:13] <CIA-41> ffmpeg: 03Kieran Kunhya 07master * r160a27c590 10ffmpeg/libavcodec/ (libfdk-aacenc.c version.h): 
[22:13] <CIA-41> ffmpeg: libfdk-aacenc: add LATM/LOAS encapsulation support
[22:13] <CIA-41> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[22:13] <CIA-41> ffmpeg: 03Samuel Pitoiset 07master * r63ffa154e9 10ffmpeg/libavformat/rtmpproto.c: 
[22:13] <CIA-41> ffmpeg: rtmp: Make the description of the rtmp_tcurl option more generic
[22:13] <CIA-41> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[22:13] <CIA-41> ffmpeg: 03Samuel Pitoiset 07master * r98df48db6d 10ffmpeg/doc/protocols.texi: 
[22:13] <CIA-41> ffmpeg: doc: Update the description of the rtmp_tcurl option
[22:13] <CIA-41> ffmpeg: Signed-off-by: Martin Storsjö <martin at martin.st>
[22:13] <CIA-41> ffmpeg: 03Michael Niedermayer 07master * rf7d4e26c6a 10ffmpeg/: (log message trimmed)
[22:13] <CIA-41> ffmpeg: Merge remote-tracking branch 'qatar/master'
[22:13] <CIA-41> ffmpeg: * qatar/master:
[22:13] <CIA-41> ffmpeg:  rtmp: Add a new option 'rtmp_pageurl'
[22:13] <CIA-41> ffmpeg:  doc: Update the description of the rtmp_tcurl option
[22:14] <CIA-41> ffmpeg:  rtmp: Make the description of the rtmp_tcurl option more generic
[22:14] <CIA-41> ffmpeg:  libfdk-aacenc: add LATM/LOAS encapsulation support
[22:20] <crtmpserver> so the timestamps are not there
[22:21] <crtmpserver> http://pastebin.com/gG9haE2w
[22:21] <crtmpserver> so I sporadically get a CTS of 1
[22:21] <crtmpserver> but is usually 0
[22:22] <crtmpserver> that means that the PTS is still pretty much the same with the DTS
[22:23] <crtmpserver> and here is the good one:
[22:23] <crtmpserver> http://pastebin.com/pVuxeDyg
[22:23] <crtmpserver> differences are visible
[22:27] <crtmpserver> here are the timestamp head to head
[22:27] <crtmpserver> http://picpaste.com/pics/Screen_Shot_2012-07-25_at_11.25.55_PM-JSczFJGX.1343248012.jpg
[22:27] <crtmpserver> left side is good
[22:27] <crtmpserver> right side is bad
[22:27] <crtmpserver> PTS is right on the money
[22:27] <crtmpserver> CTS (pts-dts) is not
[22:28] <nevcairiel> what do you need the DTS for when you have PTS anyway?
[22:28] <crtmpserver> because B-frames
[22:28] <crtmpserver> needed by flash
[22:29] <crtmpserver> ffmpeg - smart
[22:29] <crtmpserver> flash - "smart"
[22:29] <crtmpserver> :)
[22:30] <crtmpserver> reality is that ffmpeg should include them to make it "by the book" and keep everyone happy
[22:31] <nevcairiel> not every source format even defines dts
[22:31] <crtmpserver> true, but the target format should include it if it is defined in there
[22:31] <crtmpserver> otherwise the resulted flv is not playable
[22:32] <crtmpserver> by flash
[22:32] <crtmpserver> which defeats the very purpose of having flv in the first place
[22:39] <crtmpserver> michaelni, I think the problem is still with av_read_frame in hls.c
[22:39] <crtmpserver> it returns DTSs, but wrong
[22:39] <crtmpserver> libavformat/hls.c:  620: PTS: 3835473645; DTS: 3835473642; has DTS
[22:40] <crtmpserver> the diff is nothing close to 100ms
[22:40] <crtmpserver> is only 3 units
[22:40] <crtmpserver> all of them are like that
[22:40] <crtmpserver> libavformat/hls.c:  620: PTS: 3835455627; DTS: 3835455624; has DTS
[22:44] <crtmpserver> when the packets are exiting libavformat/mpegts.c, they are ok
[22:44] <crtmpserver> libavformat/mpegts.c: 2087: PTS: 3835626795; DTS: 3835617786; has DTS
[22:44] <crtmpserver> (3835626795- 3835617786)=9009
[22:45] <crtmpserver> and since we have a 90khz clock, that translates into 0.1 secs (100 ms)
[22:45] <crtmpserver> which is exactly what it should be
[22:52] <crtmpserver> I have a feeling that there is a queueing mechanism somewhere which is behaving differently when the input is hls
[22:53] <crtmpserver> although, it should not because it falls back on mpegts demuxer
[22:53] <jb_away> michaelni: ramiro says hi
[22:59] <michaelni> jb_away, michaelni also says hi
[23:18] <crtmpserver> quick question
[23:18] <crtmpserver> perhaps I can help myself better
[23:18] <crtmpserver> how can I compile ffmpeg with full debug symbols and without stripping it?
[23:19] <crtmpserver> now I'm on a printf spree
[23:20] <beastd> The *_g binaries are not stripped. configure hase --enable-debug=LEVEL
[23:21] <crtmpserver> yeah, but the sources are compiled with -O3
[23:22] <crtmpserver> ideally, it should be -g -O0
[23:33] <beastd> crtmpserver: Depends on your debugging needs.
[23:35] <beastd> You could probably fiddle with configure (see ./configure -h) options or you just try the chainsaw method and edit the flags in config.mak after you ran configure --enable-debug
[23:40] <crtmpserver> michaelni, I think I found a difference between the 2 scenarios
[23:40] <crtmpserver> av_read_frame function inside libavformat/utils.c
[23:41] <crtmpserver> if (!genpts) {                                                              
[23:41] <crtmpserver>         ret = s->packet_buffer ? read_from_packet_buffer(&s->packet_buffer,     
[23:41] <crtmpserver>                                                           &s->packet_buffer_end,
[23:41] <crtmpserver>                                                           pkt) :                
[23:41] <crtmpserver>                                   read_frame_internal(s, pkt);                  
[23:41] <crtmpserver>         goto return_packet;                                                     
[23:41] <crtmpserver>     }
[23:41] <crtmpserver> when is working, s->packet_buffer is always null
[23:41] <crtmpserver> when is not working sometimes is null, sometimes is not
[23:42] <crtmpserver> s is a AVFormatContext
[23:42] <crtmpserver> how can I disable packet_buffer?
[00:00] --- Thu Jul 26 2012


More information about the Ffmpeg-devel-irc mailing list