From: Michal B. <mic...@xe...> - 2006-02-23 12:25:09
|
Hello, just to avoid work duplication, I am announcing that I have ported ffmpeg muxers to 0.10. Once I review the patch I will post it to bugzilla. In addition, we (Itonis CZ) are working on the port of ffmpeg scaler (which will be ready really soon). Michal Benes |
From: Edward H. <bi...@gm...> - 2006-02-23 12:35:37
|
SGksCgpPbiAyLzIzLzA2LCBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0B4ZXJpcy5jej4gd3Jv dGU6Cj4gSGVsbG8sCj4KPiAgICAgICAgIGp1c3QgdG8gYXZvaWQgd29yayBkdXBsaWNhdGlvbiwg SSBhbSBhbm5vdW5jaW5nIHRoYXQgSSBoYXZlIHBvcnRlZAo+IGZmbXBlZyBtdXhlcnMgdG8gMC4x MC4gT25jZSBJIHJldmlldyB0aGUgcGF0Y2ggSSB3aWxsIHBvc3QgaXQgdG8KPiBidWd6aWxsYS4K Pgo+ICAgICAgICAgSW4gYWRkaXRpb24sIHdlIChJdG9uaXMgQ1opIGFyZSB3b3JraW5nIG9uIHRo ZSBwb3J0IG9mIGZmbXBlZyBzY2FsZXIKPiAod2hpY2ggd2lsbCBiZSByZWFkeSByZWFsbHkgc29v bikuCgogIEdvb2QgdG8gaGVhciA6KSBEbyB5b3UgaGF2ZSBhbiBlc3RpbWF0ZSBvZiBob3cgbG9u ZyBiZWZvcmUgeW91IHdpbGwKaGF2ZSBzb21ldGhpbmcgZ29vZCBlbm91Z2ggdG8gYmUgY29tbWl0 ZWQgPyBBIHJlbGVhc2Ugb2YgZ3N0LWZmbXBlZyBpcwpyZWFsbHkgbmVlZGVkLCBidXQgaGF2aW5n IG11eGVycyBhbmQgc2NhbGVyIHdvdWxkIGJlIGV2ZW4gYmV0dGVyLgoKICAgIEVkd2FyZAoKPgo+ ICAgICAgICAgTWljaGFsIEJlbmVzCj4KPgo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YuTmV0IGVtYWlsIGlzIHNwb25z b3JlZCBieSB4UE1MLCBhIGdyb3VuZGJyZWFraW5nIHNjcmlwdGluZyBsYW5ndWFnZQo+IHRoYXQg ZXh0ZW5kcyBhcHBsaWNhdGlvbnMgaW50byB3ZWIgYW5kIG1vYmlsZSBtZWRpYS4gQXR0ZW5kIHRo ZSBsaXZlIHdlYmNhc3QKPiBhbmQgam9pbiB0aGUgcHJpbWUgZGV2ZWxvcGVyIGdyb3VwIGJyZWFr aW5nIGludG8gdGhpcyBuZXcgY29kaW5nIHRlcnJpdG9yeSEKPiBodHRwOi8vc2VsLmFzLXVzLmZh bGthZy5uZXQvc2VsP2NtZD1sbmsma2lkPTExMDk0NCZiaWQ9MjQxNzIwJmRhdD0xMjE2NDIKPiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGdzdHJlYW1l ci1kZXZlbCBtYWlsaW5nIGxpc3QKPiBnc3RyZWFtZXItZGV2ZWxAbGlzdHMuc291cmNlZm9yZ2Uu bmV0Cj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vZ3N0cmVh bWVyLWRldmVsCj4KCgotLQpFZHdhcmQgSGVydmV5Ckp1bmlvciBkZXZlbG9wZXIgLyBGbHVlbmRv IFMuTC4KaHR0cDovL3d3dy5waXRpdmkub3JnLwo= |
From: Michal B. <mic...@it...> - 2006-02-23 13:01:45
|
> Good to hear :) Do you have an estimate of how long before you will > have something good enough to be commited ? A release of gst-ffmpeg is > really needed, but having muxers and scaler would be even better. Hello, I think that we can post our work tomorrow morning (European time). There are also quite severe memory leaks in ffmpeg encoders comming from wrong use of gst_buffer_span instead of gst_buffer_join, I will post this patch too. Michal |
From: Edward H. <bi...@gm...> - 2006-02-23 13:18:23
|
SGksCgpPbiAyLzIzLzA2LCBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+IHdy b3RlOgo+Cj4gPiAgIEdvb2QgdG8gaGVhciA6KSBEbyB5b3UgaGF2ZSBhbiBlc3RpbWF0ZSBvZiBo b3cgbG9uZyBiZWZvcmUgeW91IHdpbGwKPiA+IGhhdmUgc29tZXRoaW5nIGdvb2QgZW5vdWdoIHRv IGJlIGNvbW1pdGVkID8gQSByZWxlYXNlIG9mIGdzdC1mZm1wZWcgaXMKPiA+IHJlYWxseSBuZWVk ZWQsIGJ1dCBoYXZpbmcgbXV4ZXJzIGFuZCBzY2FsZXIgd291bGQgYmUgZXZlbiBiZXR0ZXIuCj4K PiBIZWxsbywKPgo+ICAgICAgICAgSSB0aGluayB0aGF0IHdlIGNhbiBwb3N0IG91ciB3b3JrIHRv bW9ycm93IG1vcm5pbmcgKEV1cm9wZWFuIHRpbWUpLgo+IFRoZXJlIGFyZSBhbHNvIHF1aXRlIHNl dmVyZSBtZW1vcnkgbGVha3MgaW4gZmZtcGVnIGVuY29kZXJzIGNvbW1pbmcgZnJvbQo+IHdyb25n IHVzZSBvZiBnc3RfYnVmZmVyX3NwYW4gaW5zdGVhZCBvZiBnc3RfYnVmZmVyX2pvaW4sIEkgd2ls bCBwb3N0Cj4gdGhpcyBwYXRjaCB0b28uCgogIEknbSBndWVzc2luZyBpdCdzIHRoZSBmZm1wZWdl bmMuYyBlcXVpdmFsZW50IG9mIHRoaXMgYnVnOgpodHRwOi8vYnVnemlsbGEuZ25vbWUub3JnL3No b3dfYnVnLmNnaT9pZD0zMjY3MDQKCj4KPiAgICAgICAgIE1pY2hhbAo+Cj4KPgo+IC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiBUaGlzIFNG Lk5ldCBlbWFpbCBpcyBzcG9uc29yZWQgYnkgeFBNTCwgYSBncm91bmRicmVha2luZyBzY3JpcHRp bmcgbGFuZ3VhZ2UKPiB0aGF0IGV4dGVuZHMgYXBwbGljYXRpb25zIGludG8gd2ViIGFuZCBtb2Jp bGUgbWVkaWEuIEF0dGVuZCB0aGUgbGl2ZSB3ZWJjYXN0Cj4gYW5kIGpvaW4gdGhlIHByaW1lIGRl dmVsb3BlciBncm91cCBicmVha2luZyBpbnRvIHRoaXMgbmV3IGNvZGluZyB0ZXJyaXRvcnkhCj4g aHR0cDovL3NlbC5hcy11cy5mYWxrYWcubmV0L3NlbD9jbWQ9bG5rJmtpZD0xMTA5NDQmYmlkPTI0 MTcyMCZkYXQ9MTIxNjQyCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KPiBnc3RyZWFtZXItZGV2ZWwgbWFpbGluZyBsaXN0Cj4gZ3N0cmVhbWVyLWRldmVs QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xp c3RzL2xpc3RpbmZvL2dzdHJlYW1lci1kZXZlbAo+CgoKLS0KRWR3YXJkIEhlcnZleQpKdW5pb3Ig ZGV2ZWxvcGVyIC8gRmx1ZW5kbyBTLkwuCmh0dHA6Ly93d3cucGl0aXZpLm9yZy8K |
From: Michal B. <mic...@it...> - 2006-02-23 13:32:19
|
Edward Hervey p=ED=B9e v =C8t 23. 02. 2006 v 13:18 +0000: > Hi, >=20 > On 2/23/06, Michal Benes <mic...@it...> wrote: > > > > > Good to hear :) Do you have an estimate of how long before you wi= ll > > > have something good enough to be commited ? A release of gst-ffmpeg= is > > > really needed, but having muxers and scaler would be even better. > > > > Hello, > > > > I think that we can post our work tomorrow morning (European = time). > > There are also quite severe memory leaks in ffmpeg encoders comming f= rom > > wrong use of gst_buffer_span instead of gst_buffer_join, I will post > > this patch too. >=20 > I'm guessing it's the ffmpegenc.c equivalent of this bug: > http://bugzilla.gnome.org/show_bug.cgi?id=3D326704 Yes, it is. The only reason I have not posted the patch sooner was that I wanted to understand the code better (and possibly find other bugs) before just changing gst_buffer_span to gst_buffer_join ;-) Anyway, the patch is attached. We have been testing it for some days now. It was a joint work of me (mic...@it...) and Martin (mar...@it...) Michal Index: ext/ffmpeg/gstffmpegenc.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/gstreamer/gst-ffmpeg/ext/ffmpeg/gstffmpegenc.c,v retrieving revision 1.83 diff -u -p -r1.83 gstffmpegenc.c --- ext/ffmpeg/gstffmpegenc.c 3 Feb 2006 18:39:38 -0000 1.83 +++ ext/ffmpeg/gstffmpegenc.c 6 Feb 2006 12:28:04 -0000 @@ -569,8 +569,7 @@ gst_ffmpegenc_chain_audio (GstPad * pad, if (in_size > size) { /* this is panic! we got a buffer, but still don't have enough * data. Merge them and retry in the next cycle... */ - ffmpegenc->cache =3D gst_buffer_span (ffmpegenc->cache, 0, inbuf= , - GST_BUFFER_SIZE (ffmpegenc->cache) + GST_BUFFER_SIZE (inbuf)); + ffmpegenc->cache =3D gst_buffer_join (ffmpegenc->cache, inbuf); } else if (in_size =3D=3D size) { /* exactly the same! how wonderful */ ffmpegenc->cache =3D inbuf; @@ -596,8 +595,7 @@ gst_ffmpegenc_chain_audio (GstPad * pad, subbuf =3D gst_buffer_create_sub (inbuf, 0, frame_size - (in_size = - size)); GST_BUFFER_DURATION (subbuf) =3D GST_BUFFER_DURATION (inbuf) * GST_BUFFER_SIZE (subbuf) / size; - subbuf =3D gst_buffer_span (ffmpegenc->cache, 0, subbuf, - GST_BUFFER_SIZE (ffmpegenc->cache) + GST_BUFFER_SIZE (subbuf)); + subbuf =3D gst_buffer_join (ffmpegenc->cache, subbuf); ffmpegenc->cache =3D NULL; } else { subbuf =3D gst_buffer_create_sub (inbuf, size - in_size, frame_size); |