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

burek burek at teamnet.rs
Thu Sep 5 03:05:09 EEST 2019


[00:02:04 CEST] <nevcairiel> why is it that av_fast_realloc uses size_t for the min_size but unsigned int for the pointer, thats just like inconsistent
[00:09:33 CEST] <nevcairiel> historical nonsense i guess
[00:23:39 CEST] <Lynne> philipl: I did notice that usage flags affect performance a lot for some reason, like 50 fps
[00:25:13 CEST] <BtbN> The Interop might not be well too well tested and optimized on their end yet
[00:25:20 CEST] <BtbN> and internally doing copies or something
[00:25:30 CEST] <Lynne> https://0x0.st/zJi7.patch https://0x0.st/zJih.patch are the new patches if you want to test it again
[00:25:54 CEST] <BtbN> I'd need to get a working Vulkan build env going first
[00:53:07 CEST] <philipl> Lynne: looking at your changes, you're still re-importing on every transfer. You need to import and retain the array for the lifetime of the frame in the pool to overcome the performance issues.
[00:53:27 CEST] <philipl> The import operations are expensive and not designed to work this way (I asked)
[00:54:20 CEST] <philipl> and then very quickly you'll need to implement the semaphores to sync the writes and reads on re-used frames.
[00:54:33 CEST] <Lynne> oic
[00:55:02 CEST] <philipl> (actually semaphores can probably wait a bit. With a 4 frame pool, you'll probably not see any issues under normal conditions)
[01:18:14 CEST] <Lynne> philipl: okay, its faster now, but still 50fps slower than a software decoding + hwupload
[03:46:13 CEST] <philipl> Lynne: well, that's unfortunate.
[04:54:29 CEST] <philipl> Lynne: although not a rigourous comparison, the mpv interop is not a clear fps win with 1080p content, but it is for 4k. ~660fps vs ~400fps
[04:54:56 CEST] <philipl> It is a distinct cpu saving even at 1080p though.
[04:56:09 CEST] <philipl> so I think you may not have any low hanging fruit left to speed it up
[08:15:44 CEST] <soub> Hi 
[08:17:47 CEST] <soub> I want to start contribution to ffmpeg org any Junior level bug
[08:18:40 CEST] <soub> I build ffmpeg from source in my ubuntu
[08:26:44 CEST] <JEEB> not sure if we have any lists of such bugs; people usually fix what is broken for themselves
[08:28:37 CEST] <BradleyS> soub: you might be able to find something interesting to you on https://trac.ffmpeg.org/
[08:34:01 CEST] <Compn> soub, what experience in C do you have ?
[08:39:55 CEST] <soub> I don't know how much deep is C. Currently I know Basics of C, Pointers, Stuctures, Memory Management, Strings, File input output, functions, All flow controls, Bit Operations, and I can also write data structure in c. 
[15:27:25 CEST] <cone-242> ffmpeg 03James Almer 07master:9ea6d2149e25: avcodec/decode: add a flags parameter to ff_reget_buffer()
[15:27:26 CEST] <cone-242> ffmpeg 03James Almer 07master:c14a12ac84a8: avcodec/wcmv: use ff_reget_buffer()
[15:27:27 CEST] <cone-242> ffmpeg 03James Almer 07master:5102999223f2: Revert "avcodec/wcmv: Avoid copying frames if they are unchanged"
[15:27:27 CEST] <cone-242> ffmpeg 03James Almer 07master:343f8d514e52: avcodec/wcmv: prevent frame copying when outputting duplicate frames
[15:27:29 CEST] <cone-242> ffmpeg 03James Almer 07master:a0739e8a16ac: avcodec/nuv: prevent frame copying when outputting duplicate frames
[15:27:30 CEST] <cone-242> ffmpeg 03James Almer 07master:f34aabfbaeae: avformat/matroskadec: use proper types for some EbmlSyntax fields
[15:27:31 CEST] <cone-242> ffmpeg 03James Almer 07master:3b3150c45f1e: avformat/matroskadec: use av_fast_realloc to reallocate ebml list arrays
[16:28:22 CEST] <cone-242> ffmpeg 03Guo, Yejun 07master:022f50d3febe: libavfilter/dnn: add header into native model file
[16:47:56 CEST] <durandal_1707> anybody can please look at my github branch: github.com/richardpl/FFmpeg/tree/360 ?
[16:49:00 CEST] <durandal_1707> am lost why i do not get interpolated pixels instead i get 4x1 blocks of same pixels
[16:50:19 CEST] <kierank> durandal_1707: can you link me to the c
[16:50:23 CEST] <kierank> your code is weird
[16:50:31 CEST] <kierank> loading the strides into simd registers
[16:50:47 CEST] <durandal_1707> that works
[16:51:13 CEST] <kierank> ah you're using vgather
[16:51:15 CEST] <kierank> that might be why
[16:51:26 CEST] <durandal_1707> vgather works fine
[16:56:14 CEST] <Lynne> durandal_1707: vgather is usually slower than individual loads, but very rarely if caching works out its faster
[16:56:37 CEST] <Lynne> here's a macro to benchmark either vgather or N loads -> https://paste.debian.net/1098773/
[16:58:42 CEST] <Lynne> wait, you're doing 8 uncorrelated lookups, nevermind, vgather is usually faster than 8 loads
[17:00:54 CEST] <Lynne> you can remove all adds at the end except for add   xq, 4
[17:01:57 CEST] <Lynne> then you get vpmovsxwd  m1, [kerq + xq*32], movd  [dstq + xq*4], xm5, etc
[17:05:16 CEST] <Lynne> you already load pb_255 in m6, so instead of loading it again in m3 for the vgather just use m6 again
[17:06:49 CEST] <BBB> pb_255 is just pcmpeqw, no need for a constant there
[17:07:35 CEST] <Lynne> cglobal remap2_8bit_line, 9, 9, 9, isn't correct since you use 7 arguments and 2 extra gprs, so it should be cglobal remap2_8bit_line, 7, 9, 9, ...
[18:32:14 CEST] <durandal_1707> how to effectively extract every 4th byte from 256bit register?
[18:33:08 CEST] <kierank> pshufb
[18:35:49 CEST] <durandal_1707> doesnt work
[18:36:21 CEST] <durandal_1707> it only extract first 128bits
[18:36:56 CEST] <jamrial> it's not crosslane, no
[18:37:29 CEST] <jamrial> use it, then vextracti128
[18:37:46 CEST] <jamrial> or vpermq
[19:13:23 CEST] <cone-242> ffmpeg 03Limin Wang 07master:787c56b9e9e5: avformat/mxfenc: fix warning: unused function 'klv_ber_length' [-Wunused-function]
[19:18:49 CEST] <durandal_1707> jamrial: see new code, force refresh, i cant get second 128 bits for nearest interpolation
[19:19:04 CEST] <durandal_1707> remap1 function
[19:24:32 CEST] <jamrial> durandal_1707: unrelated, but the constants are not aligned
[19:24:56 CEST] <durandal_1707> yes i know
[19:25:05 CEST] <jamrial> and you should make pb_mask 16 bytes long
[19:28:26 CEST] <durandal_1707> but thats all unrelated
[19:28:59 CEST] <durandal_1707> i get no updates from pixels for some reason
[19:29:40 CEST] <durandal_1707> every 4th to 7th are solid color
[19:34:49 CEST] <jamrial> durandal_1707: the pshufd, the higher bits are zero
[19:35:28 CEST] <durandal_1707> look at read1 not read2
[19:35:48 CEST] <jamrial> i am
[19:35:52 CEST] <durandal_1707> ah got it
[19:35:54 CEST] <jamrial> use vpbroadcastd
[19:36:03 CEST] <jamrial> pshufd isn't crosslane
[19:39:01 CEST] <durandal_1707> but its avx512
[19:40:36 CEST] <jamrial> no, vpbroadcastd m0, xm0 is avx2
[19:41:59 CEST] <jamrial> https://www.felixcloutier.com/x86/vpbroadcast
[19:46:13 CEST] <durandal_1707> get invalid code if i use it with linesizem
[19:49:26 CEST] <durandal_1707> got it working
[19:51:53 CEST] <jamrial> that's because in_linesizem is in_linesized in x86_64, and gpr version of vpbroadcastd is avx512
[19:51:59 CEST] <cone-242> ffmpeg 03Akemi 07master:2a9d461abcc8: avcodec/videotoolbox: add support for full range pixel formats
[19:56:35 CEST] <kierank> durandal_1707: make twit
[19:57:27 CEST] <durandal_1707> why
[20:03:32 CEST] <kierank> durandal_1707: ffmpeg work
[20:03:34 CEST] <kierank> users like it
[20:17:47 CEST] <durandal_1707> i still not finished
[20:18:30 CEST] <durandal_1707> neet to get bilinear working
[20:18:45 CEST] <kierank> ok
[20:22:02 CEST] <durandal_1707> jamrial: bilinear, remap2 looks blocky, i forced pushed so take a look if you can
[20:27:49 CEST] <Lynne> make pd_255 times 8 dd 255? saves you an instruction by just having a mova m6, [pd_255]
[20:29:59 CEST] <Lynne> also like I said you can remove all but 1 of the adds at the end, multiplies and offsets in addressing are free
[20:30:18 CEST] <jamrial> or vbroadcasti128 instead of mova
[20:31:08 CEST] <jamrial> BBB also mentioned pcmpeqw instead of loading pb_255
[20:52:34 CEST] <durandal_1707> is there nice way to write word/byte to output ptr?
[20:54:51 CEST] <Lynne> I think cmov can write a single byte
[20:55:00 CEST] <Lynne> *a word, not a byte
[20:56:11 CEST] <jamrial> pextrw, pextrb, or just mov from a gpr
[21:19:34 CEST] <durandal_1707> yay,  got it bitexact and faster than C
[21:25:12 CEST] <JEEB> 'grats
[21:26:27 CEST] <Lynne> if you want all that enjoyment removed just do an aarch64 version
[21:27:22 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:c99cb72d279c: avcodec/aacdec_template: fix integer overflow in imdct_and_windowing()
[21:27:23 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:6449c086f155: avcodec/vc1_block: fix invalid shift in vc1_decode_p_mb()
[21:27:24 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:b205d5a6d283: avcodec/vc1_block: Fix invalid shifts in vc1_decode_i_blocks()
[21:27:25 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:ee20e3ff2d1b: avcodec/pngdec: consider chunk size in minimal size check
[21:27:26 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:eda64cda63a6: avcodec/alsdec: fix mantisse shift
[21:27:27 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:7e9bb72dd6ee: avcodec/alsdec: Fix integer overflow of raw_samples in decode_blocks()
[21:27:28 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:ebc43bef1fc6: avcodec/alsdec: Fix integer overflows of raw_samples in decode_var_block_data()
[21:27:29 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:4eef201e151b: avcodec/mpc8: Fix 32bit mask/enum
[21:27:30 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:f5c6f8157692: avformat/vividas: Fix infinite loop in header parser
[21:27:31 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:4d7bbeb16405: avformat/vividas: Fix another infinite loop
[21:27:32 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:3520590810f7: avcodec/dds: Use ff_set_dimensions()
[21:27:33 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:3223f4229a2b: avcodec/tiff: Enforce increasing offsets
[21:27:34 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:3bff0de66b4b: avcodec/scpr: Use av_memcpy_backptr() in type 17 and 33
[21:27:35 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:be36e13e66ab: avcodec/hevc_refs: Optimize 16bit generate_missing_ref()
[21:27:36 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:2a59101eb193: avcodec/hnm4video: Optimize postprocess_current_frame()
[21:27:37 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:2547f9241025: avcodec/hevcdec: Check delta_luma_weight_l0/1
[21:27:38 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:6d5377c622e0: avcodec/4xm: Check for end of input in decode_p_block()
[21:27:39 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:fc902dd37475: avcodec/vp56: Consider the alpha start as end of the prior header
[21:27:40 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:eba31bf9442e: avcodec/diracdec: Check that slices are fewer than pixels
[21:27:41 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:634f590061b5: avcodec/indeo2: Check remaining input more often
[21:27:42 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:bcc1fe5165b2: avcodec/ffwavesynth: Fix integer overflow for some corner case values
[21:27:43 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:80ecb421febe: avcodec/ffwavesynth: Fixes invalid shift with pink noise seeking
[21:27:44 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:3349be5745c3: avcodec/loco: Check left column value
[21:27:45 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:36019fc088cc: avcodec/flicvideo: Optimize and Simplify FLI_COPY in flic_decode_frame_24BPP() by using bytestream2_get_buffer()
[21:27:46 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:9f61f2f1ea6d: avcodec/anm: Check input size for a frame with just a stop code
[21:27:47 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:d34b5c938bbb: avcodec/alsdec: Limit maximum channels to 512
[21:27:48 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:61268f24540a: avcodec/alsdec: Fix integer overflow in decode_var_block_data()
[21:27:49 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:da3e2efad6dc: avformat/vividas: Check av_xiphlacing() return value before use
[21:27:50 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:b881ea0f9e24: avcodec/vp5/6/8: use vpX_rac_is_end()
[21:27:51 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:818a3fd27c62: avformat/realtextdec: free queue on error
[21:27:52 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:53ed19f3746f: avcodec/idcinvideo: Add 320x240 default maximum resolution
[21:27:53 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:209a28bb74b0: avcodec/aacdec: Add FF_CODEC_CAP_INIT_CLEANUP
[21:27:54 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:cf65da16f895: avcodec/rl2: set dimensions
[21:27:55 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:fc2bb55605e3: avcodec/alac: Fix multiple integer overflows in lpc_prediction()
[21:27:56 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:7823b70004de: avcodec/alac: Check for bps of 0
[21:27:57 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:ada9293402ea: avcodec/atrac9dec: Check block_align
[21:27:58 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:7a9b43671a3c: avcodec/cavsdec: Limit the number of access units per packet to 2
[21:27:59 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:b34033dec24a: avcodec/vb: Check input packet size to be large enough to contain flags
[21:28:00 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:92e021ff951f: avcodec/tta: Fix integer overflow in prediction
[21:28:01 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:948e655d133a: avcodec/vorbisdec: Check get_vlc2() failure
[21:28:02 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:7edcd88a3f74: avcodec/vc1_block: Check for double escapes
[21:28:03 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:fd235d74282e: avcodec/vc1dec: Require res_sprite for wmv3images
[21:28:04 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:ba7ba6db7461: avcodec/vc1_block: Check the return code from vc1_decode_p_block()
[21:28:05 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:372c91b199ce: avcodec/truemotion2: Fix multiple integer overflows in tm2_null_res_block()
[21:28:06 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:69db79074fef: avcodec/vp3: Check for end of input in 2 places of vp4_unpack_macroblocks()
[21:28:07 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:517fd68acd7e: avcodec/bgmc: Check input space in ff_bgmc_decode_init()
[21:28:08 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:a7f6b27e3c3a: avcodec/ralf: fix undefined shift
[21:28:09 CEST] <cone-242> ffmpeg 03Michael Niedermayer 07release/4.2:457ed86478e9: avcodec/ralf: fix undefined shift in extend_code()
[21:28:13 CEST] <BradleyS> it's like christmas
[21:31:50 CEST] <cone-242> ffmpeg 03James Almer 07release/4.2:6a19167a6f03: avformat/matroskadec: use proper types for some EbmlSyntax fields
[21:31:51 CEST] <cone-242> ffmpeg 03James Almer 07release/4.2:3de33c6e76d5: avformat/matroskadec: use av_fast_realloc to reallocate ebml list arrays
[21:35:46 CEST] <jamrial> tmm1: that videotoolbox api addition needs a version bump and APIChanges entry
[21:36:15 CEST] <jamrial> also, is bool portable?
[21:36:49 CEST] <jamrial> although this is mac only, so guess it doesn't matter
[21:41:06 CEST] <thardin> that's a lot of commits
[21:51:07 CEST] <tmm1> jamrial: thanks will fix
[21:58:23 CEST] <cone-242> ffmpeg 03Aman Gupta 07master:f30fb5ef6261: avutil/version: bump for hwcontext_videotoolbox api change
[22:10:53 CEST] <durandal_1707> why people  use minterpolate filter?
[00:00:00 CEST] --- Thu Sep  5 2019


More information about the Ffmpeg-devel-irc mailing list