[02:00] <lindenle> Hi all. I am trying to decode an mp4 and then re-encode it to basically the same format. I am getting invalid argument when i do an interleaved write. i looked in the source and it looks like it gets thrown when AVPacket->dts is NOPT unless the format does not need timestamps. How do i set the packets dts? Shouldn't it get set on the decode of the packet when i read it in? [02:27] <michaelni> dts will often be set by the demuxer but not always, also if you use an encoder, then the dts from the demuxer have no meaning [02:28] <lindenle> michaelni: ok so my demuxer is setting dts in my pkt that i decode. how do i set the dts for the video encoder? [02:29] <lindenle> michaelni: also for context im basically doing decode -> Frame -> encode [02:30] <lindenle> using the demuxing.c and muxing.c examples as my starting point [02:32] <michaelni> the AVPacket output from the encoder should have dts set, if the input to the encoder had timestamps set [02:32] <lindenle> or i guess more appropriatly read -> pkt -> decode -> frame -> encode -> pkt -> write [02:32] <lindenle> so i need to set pts in the frame i pass to the encoder? [02:33] <lindenle> im seriously not grokking this by the way [02:34] <lindenle> michaelni: I guess i am asking how i set the dts before i do an interleaved write correctly as currently there is not pts in the fram i got from the encoder. [02:37] <lindenle> michaelni: ? [02:38] <michaelni> yes you set the AVFrame pts for whats input in the encoder, should also be correctly done in muxing.c [02:39] <lindenle> ok so i take my decoded frame and set the pts on it like in: http://ffmpeg.org/doxygen/2.1/doc_2examples_2muxing_8c-example.html? [02:39] <lindenle> see im reuing the frame that i decoded as my input frame to the decode (currently) id that crazy? [02:41] <lindenle> should i be using two frames and copying data between them? [02:41] <lindenle> michaelni: ^^ [02:42] <michaelni> there should be no need to copy frames unless you write into them [02:42] <michaelni> also that isnt the latest muxing example but that shouldnt matter [02:43] <michaelni> theres more recent example code in git master [02:43] <lindenle> ok [02:54] <lindenle> michaelni: im still getting non monotonically increasing invalid dts in encode [02:54] <lindenle> michaelni: i am setting pts in the frame i use to encode just as in the example [02:54] <michaelni> make sure you input valid pts to the encoder and makre sure all rescalings are done correctly [02:55] <michaelni> also keep in mind the timestamps in the input file might be faulty [02:55] <michaelni> print things out and you will maybe spot where things go wrong [02:55] <lindenle> here is the gist: https://gist.github.com/lindenle/72fab989fc053a89c6c0 [02:56] <lindenle> michaelni: does that look crazy? [02:57] <lindenle> michaelni: I guess im not understanding why i need anything from the decoded packet at all if i just calculate it with the output strem time base and codec time base. Or do i need to do two calculations? one from encoded to decoded then from decoded to encoded? [03:15] <cone-29> ffmpeg.git 03Timothy Gu 07master:53eb4e0799b7: Add fieldmatch test [05:23] <lindenle_> So im only getting green in my output video...anyone have a thought as to what I could be doing wrong? [05:33] <lindenle_> im merely trying to decode and encode mp4 h264 aac with the same settings. [09:12] <ubitux> BBB: so you might actually be right, and the '!' might be about post increment [09:13] <ubitux> though, i understand the official documentation as exactly the opposite [09:16] <ubitux> official doc says this: http://i.imgur.com/hWfKDyv.png [09:18] <ubitux> and slide 22 from neon_tutorial.pdf says the opposite [10:09] <j-b> Morning [10:12] <plepere> morning. :) [12:03] <cone-589> ffmpeg.git 03Martin Storsjö 07master:8cafeb8bca5d: mxfdec: Validate parameters to strftime [12:03] <cone-589> ffmpeg.git 03Michael Niedermayer 07master:4c63beeefe9f: Merge commit '8cafeb8bca5d079041739dbd72ccec0ead138eaf' [12:23] <cone-589> ffmpeg.git 03Anton Khirnov 07master:e854b8f9f409: Work around broken floating point limits on some systems. [12:23] <cone-589> ffmpeg.git 03Michael Niedermayer 07master:27b4d154cad0: Merge remote-tracking branch 'qatar/master' [13:27] <cone-589> ffmpeg.git 03Timothy Gu 07release/1.2:0d819ed318de: configure: use pkg-config to detect libbluray [13:28] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/1.2:6ee47bd008ff: Merge remote-tracking branch 'TimothyGu/release/1.2' into release/1.2 [14:08] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/1.0:08f53e1b14ff: update for 1.0.9 [15:00] <cone-589> ffmpeg.git 03Michael Niedermayer 07fatal: ambiguous argument 'refs/tags/n1.0.9': unknown revision or path not in the working tree. [15:00] <cone-589> Use '--' to separate paths from revisions [15:00] <cone-589> refs/tags/n1.0.9:HEAD: Merge remote-tracking branch 'qatar/master' [15:02] <plepere> ok, I've got a working version of 8-tap filter. I've gotten under 16 seconds from a 26 seconds video without any optimizations [15:06] <ubitux> :) [15:10] <nevcairiel> you should target 13, then you can say its 100% faster [15:15] <plepere> haha [15:16] <plepere> well I still have the SAO, the iDCT, the weighting and all to do in ASM [15:19] <plepere> ubitux : IIRC you work on AVX2. Does FFmpeg really support AVX2 ? I didn't see the --disable-avx2 in the configure. only up to avx [15:20] <ubitux> configure: --disable-avx disable AVX optimizations [15:20] <ubitux> configure: --disable-avx2 disable AVX2 optimizations [15:20] <plepere> I must have an old configure then [15:20] <plepere> so there's nothing on not using AVX2 ? [15:20] <ubitux> but i didn't do any avx2 yet, i'm still waiting for the hw... which i wonder why it hasn't arrived yet btw [15:21] <ubitux> i don't think we have avx2 yet [15:21] <ubitux> but infra is available [15:21] <plepere> I might get my hands on some haswell mid april. I'll see if I can get some interesting numbers [15:23] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.11:aa1fdf1a6457: update for 0.11.5 [15:53] <plepere> hey vp9 guys, is there a performance hit on using a C wrapper for filter_8tap_2d_fn instead of having a full ASM function for the 8tap 2d ?? [15:53] <plepere> oops, second ? :/ [16:32] <cone-589> ffmpeg.git 03Michael Niedermayer 07fatal: ambiguous argument 'refs/tags/n0.11.5': unknown revision or path not in the working tree. [16:32] <cone-589> Use '--' to separate paths from revisions [16:32] <cone-589> refs/tags/n0.11.5:HEAD: Merge remote-tracking branch 'qatar/master' [18:12] <cone-589> ffmpeg.git 03Luca Barbato 07release/0.10:8b24e17d0920: twinvq: Cope with gcc-4.8.2 miscompilation [18:12] <cone-589> ffmpeg.git 03Luca Barbato 07release/0.10:a89acaa0b0db: get_bits: change the failure condition in init_get_bits [18:12] <cone-589> ffmpeg.git 03Luca Barbato 07release/0.10:976a7b72a3f5: avi: directly resync on DV in AVI read failure [18:12] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:d04194db4571: vqavideo: check chunk sizes before reading chunks [18:12] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:ef6c90e102a3: dsputil/pngdsp: fix signed/unsigned type in end comparison [18:12] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:cb5d0ea0bec1: flashsv: Check diff_start diff_height values [18:12] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:b7a750f67f68: Merge commit 'cb5d0ea0bec119ecbe327bd7d3834987ab42ec1a' into release/0.10 [18:24] <cone-589> ffmpeg.git 03Justin Ruggles 07release/0.10:b68e5b119588: avutil: use align == 0 for default alignment in audio sample buffer functions [18:24] <cone-589> ffmpeg.git 03Luca Barbato 07release/0.10:2c0bfce4cb2d: avi: DV in AVI must be considered single stream [18:24] <cone-589> ffmpeg.git 03Luca Barbato 07release/0.10:e964207e6c17: cavs: Check for negative cbp [18:24] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:23144c5f060d: h264_cavlc: check the size of the intra PCM data. [18:24] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:6a56d16dc136: segafilm: fix leaks if reading the header fails [18:24] <cone-589> ffmpeg.git 03Martin Storsjö 07release/0.10:2f4e066d66b3: mov: Free an earlier allocated array if allocating a new one [18:24] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:979f77b0dc40: h264: check that an IDR NAL only contains I slices [18:24] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:0d82c3a0ca6c: Merge commit '979f77b0dc40571761999633a38d97be9a1670c8' into release/0.10 [18:36] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:716ee73c991c: h264: reset num_reorder_frames if it is invalid [18:36] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:30c8a5e4f6c0: vc1: Always reset numref when parsing a new frame header. [18:36] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:e03b875c0b57: mathematics: remove asserts from av_rescale_rnd() [18:36] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:b0db7a523df5: oggparseogm: check timing variables [18:36] <cone-589> ffmpeg.git 03Reinhard Tartler 07release/0.10:5522c564d48e: Updated Changelog for 0.8.10 [18:36] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:8cade1352bde: lavf: make av_probe_input_buffer more robust [18:36] <cone-589> ffmpeg.git 03Reinhard Tartler 07release/0.10:36017d49e2f7: Prepare for 0.8.11 Release [18:37] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:15efd9a7c0a6: Merge commit '36017d49e2f797f7371dc24848a2285ca63e39ab' into release/0.10 [18:47] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:cf676c159b81: rpza: limit the number of blocks to the total remaining blocks in the frame [18:47] <cone-589> ffmpeg.git 03Vittorio Giovara 07release/0.10:a6003760bd07: h264: Lower bound check for slice offsets [18:47] <cone-589> ffmpeg.git 03Luca Barbato 07release/0.10:4279e0e8d09a: h264: Fix a typo from the previous commit [18:47] <cone-589> ffmpeg.git 03Justin Ruggles 07release/0.10:9786c24bb756: samplefmt: avoid integer overflow in av_samples_get_buffer_size() [18:47] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:43aa7eb38efc: shorten: pad the internal bitstream buffer [18:47] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:de0e442e9d67: truemotion1: check the header size [18:47] <cone-589> ffmpeg.git 03Ronald S. Bultje 07release/0.10:2c1d84499bfe: lagarith: pad RGB buffer by 1 byte. [18:47] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:5640ea43d720: Merge commit '2c1d84499bfe06d75e9160b824eeffd9f5587337' into release/0.10 [18:52] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:2fb0a52e70fa: lagarith: avoid infinite loop in lag_rac_refill() [18:52] <cone-589> ffmpeg.git 03Anton Khirnov 07release/0.10:3da4fdd5acdd: lagarith: reallocate rgb_planes when needed [18:52] <cone-589> ffmpeg.git 03Janne Grunau 07release/0.10:fd2fc130b24c: arm: hpeldsp: prevent overreads in armv6 asm [18:52] <cone-589> ffmpeg.git 03Janne Grunau 07release/0.10:0120e480bf0a: arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6 [18:52] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:ad4963a94464: Merge remote-tracking branch 'qatar/release/0.8' into release/0.10 [19:00] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:98f44b24b56b: dnxhdenc: fix mb_rc size [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:5cab56dc9e40: avcodec/vmnc: Check that rectangles are within the picture [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:4e47ae4e7162: avcodec/vc1: reset fcm/field_mode in non advanced header parsing [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:ca8c3ec11b8c: wmalosslessdec: make mclms arrays big enough for whats written into them. [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:ae51d9398353: avcodec/wmalosslessdec: fix mclms_coeffs* array size [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:68b14c044a4a: avformat/mpegtsenc: Check data array size in mpegts_write_pmt() [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:f157f18b3473: avcodec/msrle: use av_image_get_linesize() to calculate the linesize [19:01] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:43b1762ab869: avcodec/snow: split block clipping checks [20:10] <cone-589> ffmpeg.git 03Michael Niedermayer 07release/0.10:6f9e6ac6aa3c: update for 0.10.12 [20:28] <cone-589> ffmpeg.git 03Michael Niedermayer 07fatal: ambiguous argument 'refs/tags/n0.10.12': unknown revision or path not in the working tree. [20:28] <cone-589> Use '--' to separate paths from revisions [20:28] <cone-589> refs/tags/n0.10.12:HEAD: Merge remote-tracking branch 'qatar/master' [21:06] <lindenle> Requested output format 'mp4' is not a suitable output format <- does that mean i dont have the muxer enabled? [21:12] <Mavrik> mhm [21:19] <J_Darnley> lindenle: yes it does sound like that [21:19] <lindenle> J_Darnley: yeah, i had to look up mhm... ha ha. I had disable-demuxers...duh [21:21] <J_Darnley> :) [22:12] <ubitux> BBB: the fpel put functions are just memcpys? [22:51] <cone-589> ffmpeg.git 03Luca Barbato 07master:5eacbb532895: golomb: Add a get_se_golomb_long [22:51] <cone-589> ffmpeg.git 03Michael Niedermayer 07master:d79d5aed6d43: Merge commit '5eacbb53289570834f9a1acb15fd406ea224eef6' [23:00] <cone-589> ffmpeg.git 03Luca Barbato 07master:ee17be3fdd37: hevc: Use get_se_golomb_long [23:00] <cone-589> ffmpeg.git 03Michael Niedermayer 07master:b73cf4eb1561: Merge commit 'ee17be3fdd37f63f4b77676820e387858908b0f4' [23:20] <lindenle> hi all. using avcodec and it tells me that aac is experimental. do i need to change something in my configure flags? [23:21] <lindenle> https://gist.github.com/lindenle/61febecff20d9777e7c1 [23:21] <lindenle> --enable-libfaac for instance? [23:22] <JEEB> you can use the ffaac encoder (internal aac) with -strict experimental, or you can build ffmpeg with a third party AAC encoder, of which fdk-aac is currently the best [23:23] <JEEB> do note that all of the usable level external AAC encoders for one reason or another create a nondistributable binary [23:23] <lindenle> JEEB: im not using ffmpeg i wrote my own demuxing and muxing code. Can i somehow set th strict programatically? [23:23] <JEEB> yes [23:23] <lindenle> JEEB: How? [23:23] <JEEB> you'll have to read the doxy/headers for that :P [23:23] <lindenle> avcodec i assume [23:24] <JEEB> yup [23:24] <JEEB> strict_std_compliance should have a macro that sets it to experimental [23:24] <lindenle> ok thanks [23:24] <JEEB> -2 is the internal value, but there should be a named macro which is better than a magic number :P [23:25] <lindenle> yeah i see the macro but not the function [23:25] <JEEB> in the context you set the variable I would think [23:25] <lindenle> ah ok [23:26] <lindenle> yep i see it!thanks! [23:27] <lindenle> https://gist.github.com/lindenle/4957abd9671c485626b7 [23:27] <lindenle> so something like that JEEB ? [23:28] <JEEB> something like that I would guess, yes [23:28] <lindenle> :P [23:36] <cone-589> ffmpeg.git 03Luca Barbato 07master:4a8562394b68: configure: Use the right pkgconf file for openjpeg [23:36] <cone-589> ffmpeg.git 03Michael Niedermayer 07master:182c674f6813: Merge commit '4a8562394b685e83ae4a38a93eef43625755a231' [23:44] <lindenle> How do I know what sample formats are available for the internal aac codec? [23:48] <JEEB> one way would be to look at the definition of the encoder in the encoder's c file [23:48] <JEEB> I have no idea if you can enumerate the stuff that an encoder supports [23:48] <JEEB> you probably can [23:54] <cone-589> ffmpeg.git 03Tim Walker 07master:34bbc81de8a4: lavf: simplify ff_hevc_annexb2mp4_buf [23:54] <cone-589> ffmpeg.git 03Michael Niedermayer 07master:7f9005547060: Merge commit '34bbc81de8a49fbddb92b76dc733f40890480b2b' [00:00] --- Tue Mar 11 2014
participants (1)
-
burek