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

burek burek021 at gmail.com
Fri Nov 9 03:05:03 EET 2018

[01:33:10 CET] <atomnuker> BBB: so you accepted the ridiculous pr to not adapt but didn't even check its coding style
[01:33:44 CET] <atomnuker> honestly, predicted branch or not its utterly ridiculous in case of cdf size one, as in the bool decode function
[01:40:38 CET] <BBB> ?
[02:49:27 CET] <JC_Yang> questions: should the rtsp client handle/workaround buggy rtsp server implementations? if there're known buggy server implementations, should we add workaround in the client codes? or we should report the bugs to the devices vendor and urge them to fix their own shits? how about if the latter path does not work?
[03:39:27 CET] <Compn> JC_Yang : yes
[03:39:38 CET] <Compn> as long as you document the buggy ness in the code with some good docs
[03:43:35 CET] <Compn> both i mean
[03:47:50 CET] <Compn> tlol
[04:28:37 CET] <JC_Yang> ok, get it
[06:01:39 CET] <Lord_Nightmare> Compn: I saw you put a notice about asking you about codecs on the https://wiki.multimedia.cx/index.php/TwoCC page
[06:01:54 CET] <Lord_Nightmare> The "Yamaha ADPCM" codec is not listed on that page
[06:02:12 CET] <Lord_Nightmare> but it can be found at https://web.archive.org/web/20160323215457/http://smaf-yamaha.com/jp/tools/dl/Yamaha-ADPCM-ACM-Driver-100-j.zip
[06:04:45 CET] <Lord_Nightmare> its a plain old Jayant ADPCM codec, almost identical to jayant's 1973 paper at https://ia902601.us.archive.org/13/items/bstj52-7-1105/bstj52-7-1105.pdf and his 1974 paper at https://ia902600.us.archive.org/31/items/bstj52-7-1119/bstj52-7-1119.pdf (see page 23)
[06:04:57 CET] <Lord_Nightmare> its also used on a bunch of yamaha ADPCM playback chips
[06:05:15 CET] <Lord_Nightmare> like the ym2608 and ym2610
[06:06:14 CET] <Compn> I mean you edit the wiki , you can add it :D
[06:06:25 CET] <Compn> do we already have yamaha decoder? 
[06:08:16 CET] <Lord_Nightmare> not sure, i think ffmpeg does have one. if not, how to make one is pretty easy
[06:08:38 CET] <Lord_Nightmare> it uses the same coefficients as jayant's 1974 paper does, just multiplied by 256 (iirc)
[06:09:27 CET] <Lord_Nightmare> i.e. 0.8 0.8 0.8 0.8 1.2 1.6 2.0 2.4
[06:09:47 CET] <Lord_Nightmare> but twice, since the sign bit doesn't affect the magnitude of the step size multiplier
[06:09:57 CET] <Lord_Nightmare> for each 4 bit sample
[06:10:21 CET] <Lord_Nightmare> (MSADPCM is weird and has the table laid out differently, plus adds the value '3.0' for the -8 case)
[06:10:52 CET] <Lord_Nightmare> (and BSMT2000 adpcm is sort of like MSADPCM i think except they don't add the 3.0 value?)
[06:11:14 CET] <Lord_Nightmare> (and they don't have the 2-previous-samples IIR filter either, which MSADPCM has)
[06:12:42 CET] <Lord_Nightmare> i'm still trying to figure out how the 'ADPCM2' mode of the oki MSM6295 works
[06:14:10 CET] <Lord_Nightmare> afaik dialogic oki adpcm is 100% identical to the MSM5205 except differences with the preset value for the first sample(?)
[06:14:27 CET] <Lord_Nightmare> i'm not sure the difference between 0x0010 OKI ADPCM and 0x0017 Dialogic OKI ADPCM
[06:14:47 CET] <Lord_Nightmare> oki adpcm is a subset if IMA ADPCM afaik
[06:14:51 CET] <Lord_Nightmare> *of
[06:15:02 CET] <Compn> yeah i havent a clue
[06:15:06 CET] <Compn> i just collect the twocc :D
[06:15:18 CET] <Compn> try to find acm files when people ask
[06:15:40 CET] <Lord_Nightmare> I was trying to hack together a codec for 0x0005 IBM CVSD IBM Corporation which was later bought by Digispeech
[06:15:47 CET] <Compn> and yes ffmpeg has adpcm_yamaha decoder
[06:16:24 CET] <Lord_Nightmare> i don't think there was ever a 'real' acm codec for IBM CVSD (4-bit cvsd), i think the real codec was just a driver that passed the speech data along to an isa card and the PS/2 speech adaptor
[06:16:44 CET] <Compn> btw yamaha is on there
[06:16:44 CET] <Compn> 0x0020 Yamaha ADPCM
[06:16:49 CET] <Compn> on the twocc page
[06:17:19 CET] <Lord_Nightmare> yes, and theres a Yamaha_ADPCM page as well
[06:17:31 CET] <Lord_Nightmare> i didn't even KNOW about the twoCC page until i checked recent edits
[06:18:01 CET] <Compn> yeah i wanted to put it in the main nav box
[06:18:15 CET] <Compn> but i think mike gave me the runaround when i asked him howto get it there
[06:18:58 CET] <Lord_Nightmare> afaik the PS/2 Speech adapter isa card has an MC3418 4-bit cvsd codec chip on it, and an adjustable clock generator for it for 8 fixed samplerates http://arcarc.xmission.com/Tech/Datasheets/MC3418.pdf
[06:19:15 CET] <Compn> Lord_Nightmare : theres also this page I maintain https://wiki.multimedia.cx/index.php/Category_talk:Video_FourCCs
[06:19:42 CET] <Compn> both used to get a lot of hits from google. but i cant track the hits anymore since the wiki upgrade took out the "popular pages" and hit counts out :(
[06:19:52 CET] <Lord_Nightmare> the CVSD typically used on arcade games and pinballs though is the MC3417 3-bit cvsd codec chip, and its harris clones the HC55516, HC55532 and HC55564, and the decode-only HC55536
[06:20:08 CET] <Compn> i just sold my pinball games :(
[06:20:09 CET] <Compn> ehe
[06:20:39 CET] <Lord_Nightmare> motorola made a later chip called MC34115 which i believe is an updated MC3417 with multiple filters and a bandpass to select which one is active, like the HC55564 has
[06:20:59 CET] <Lord_Nightmare> the hc55516 filters are tuned for 16khz, and hc55532 is tuned for 32khz
[06:21:19 CET] <Lord_Nightmare> hc55564 uses some cute internal circuit with an analog bandpass to select one of two sets of filters, or so i believe
[06:21:28 CET] <Lord_Nightmare> depending on how fast the clock in is
[06:21:44 CET] <Lord_Nightmare> sorry for info dump
[06:22:40 CET] <Lord_Nightmare> jeri ellisworth made an fpga reimplementation of the 3-bit cvsd chip to fix one of her pinballs, but i believe she forgot one of the analog filters when doing so. it still seems to sound ok, though, surprisingly...
[06:23:33 CET] <Lord_Nightmare> https://www.youtube.com/watch?v=2FRGwuxFDE4
[06:23:42 CET] <Compn> have the pinmame people done some of these codecs ?
[06:24:05 CET] <Lord_Nightmare> MAME has an hc55536 implementation used on exidy's mouse trap arcade game
[06:24:19 CET] <Lord_Nightmare> but again i'm not sure how accurate it is
[06:24:34 CET] <Lord_Nightmare> its also used on some williams games i believe
[06:25:19 CET] <Compn> hah i just sold my getaway 
[06:25:32 CET] <Compn> williams game
[06:25:35 CET] <Compn> and my taxi
[06:25:43 CET] <Compn> nother williams
[06:26:24 CET] <Lord_Nightmare> a real cvsd chip has two analog filters: one controls the rise and fall of the slope magnitude value if it received 3 or 4 bits of the same value for the most recent 3 or 4 bits
[06:26:58 CET] <Lord_Nightmare> and another filters this magnitude value as a lowpass when it is applied to the comparator op-amp vs the input
[06:27:21 CET] <Compn> dont think i'd wire in an fpga though
[06:27:21 CET] <Lord_Nightmare> jeri emulated the first of these as if it is perfectly symmetrical gain and loss, and didnt' emulate the second one at all
[06:27:35 CET] <Compn> easier to fix the boards , get the roms on new chips and put it back together
[06:27:55 CET] <Lord_Nightmare> yeah, i don't think obtaining a NOS or used but working CVSD chip is as hard as jeri made it out to be
[06:27:58 CET] <Compn> unless the entire sound board was toast. then...
[06:28:01 CET] <Compn> ah
[06:28:12 CET] <Lord_Nightmare> I'm going to email her and see if she still has the blown out chip, since i'd love to get a micrograph done of it
[06:28:26 CET] <Compn> the chip or the board ?
[06:28:34 CET] <Compn> you can just straight out buy new chips
[06:29:25 CET] <Compn> probably you mean board :D
[06:30:16 CET] <Compn> and when you cannot get boards anymore, just toss in the emulator on an rpi
[06:30:27 CET] <Lord_Nightmare> nah she had a working board with just that one chip blown
[06:30:51 CET] <Lord_Nightmare> sound worked except the speech was just noise
[06:30:56 CET] <Compn> ah
[06:31:05 CET] <Compn> then yeah its as easy as getting a new chip
[06:33:19 CET] <Compn> or re-programming the old one if its just corrupt
[06:33:40 CET] <Lord_Nightmare> you can't reprogram a CVSD chip, its a fixed function mixed-analog-digital ASIC of sorts
[06:33:48 CET] <Compn> oh i'm thinking of the sound samples
[06:33:49 CET] <Compn> my bad
[06:33:52 CET] <Compn> not the chip
[06:33:57 CET] <Compn> my brain is off right now
[06:34:06 CET] <Lord_Nightmare> in theory you MIGHT be able to replace it with a very fast PIC emulating a CVSD chip
[06:34:15 CET] <Lord_Nightmare> and emulating the analog filters digitally
[06:35:43 CET] <Compn> sorry 
[06:35:44 CET] <Compn> ehe
[06:37:23 CET] <Compn> proc thats what its called
[06:38:00 CET] <Compn> https://www.multimorphic.com/store/circuit-boards/p-roc/
[06:38:44 CET] <Compn> oh that uses the existing boards, i'm completely incorrect about it haha
[06:39:13 CET] <Compn> thats pretty neat replacing a sound decoder chip with a fpga though
[07:05:43 CET] <JC_Yang> do we internally have any indicator whether AVStream.avg_frame_rate is valid? or any guidelines about when it is usable as a reference?
[10:49:52 CET] <BtbN> Scientific build systems sure are fun.
[10:50:30 CET] <BtbN> This one expects to be cloned to .../src/github.com/syslabs/singularity. Otherwise it will fail to build.
[10:51:00 CET] <BtbN> The only place I learned about that was in a github issue about it.
[11:03:14 CET] <nevcairiel> some people just care about working on their code, not making it easy on other people
[11:06:23 CET] <BtbN> This is aparently how go is supposed to work.
[11:07:01 CET] <BtbN> Even though you don't even see it's Go, cause their self-built mconfig script downloads it in the background
[11:07:14 CET] <nevcairiel> thats at least something
[13:07:45 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:fcbde5e6a4a5: avfilter/af_afir: remove redundant code
[13:07:46 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:8dc5eb43b070: avfilter/af_afir: return early when giving video frame
[13:07:47 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:1d9fe1fdf65b: avfilter/af_afir: implement rate option
[13:07:48 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:0f0f84071659: avfilter/af_aiir: implement rate option
[13:39:05 CET] <cone-132> ffmpeg 03Carl Eugen Hoyos 07master:5ff080fdfa25: lavf/apngdec: Return EOF for incomplete files.
[15:21:51 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:09fdfc11b796: avfilter/avf_showspectrum: add cividis colormap
[18:00:35 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:70463b702697: avfilter/avf_showspectrum: add terrain color map
[18:38:08 CET] <BtbN> philipl, 415 is out
[18:44:25 CET] <philipl> BtbN: yes. I'll be trying it out tonight/tomorrow
[20:40:28 CET] <durandal_1707> FFmpeg - officially  dead
[20:43:00 CET] <atomnuker> wouldn't be so dead if companies didn't stop making their own custom codeccs
[20:44:56 CET] <durandal_1707> it is dead, no new commits in latest days except mine
[20:47:55 CET] <kepstin> is everyone busy on dav1d instead? :)
[20:48:13 CET] <atomnuker> yeah
[20:48:42 CET] <atomnuker> wish there were some 4k samples to test its speed, I'm getting 220+ fps on 1080p and its so fast its boring
[20:49:36 CET] <mmu_man> plop
[20:49:37 CET] <mmu_man> anyone seen my metadata patch?
[20:50:48 CET] <durandal_1707> this one: 
[20:50:51 CET] <durandal_1707> [FFmpeg-devel] [PATCH] Optimize libavformat/metadata.c?
[20:51:35 CET] <durandal_1707> ah, michael replied to another metadata patch
[20:51:56 CET] <mmu_man> ah yes, just saw
[20:52:17 CET] <jamrial> atomnuker: elecard has some 4k sampes
[20:59:36 CET] <BBB> netflix also, no?
[21:00:06 CET] <atomnuker> netflix had chimera, which can curiously fully load my cpu, but a similar resolution and bitrate from youtube can only half load it
[21:00:36 CET] <atomnuker> maybe the gop length is different
[21:02:09 CET] <BBB> how weird
[21:02:14 CET] <BBB> maybe bitrate?
[21:02:30 CET] <BBB> with most things simded, bitrate significantly affects cpu load
[21:02:35 CET] <BBB> so netflix may be better for your purposes
[21:02:41 CET] <BBB> since bitrate/ec-ratio is higher
[21:03:14 CET] <BBB> bitrate (= entropy coding-ratio) is higher
[21:03:19 CET] <BBB> you know what I mea
[21:03:25 CET] <atomnuker> I'm getting the same performance over 300 frames too, 1.4 seconds to decode from both
[21:03:36 CET] <atomnuker> its just the load is higher on one than the other
[21:03:47 CET] <kurosu__> there also may be some tool that both is more consuming and increase the delay for frame multithreading ?
[21:03:51 CET] <atomnuker> yeah, on netflix the ec overhead is higher
[21:05:06 CET] <kurosu__> atomnuker, btw, for msac_decode_symbol, pmulhuw exists
[21:06:51 CET] <atomnuker> yeah, I know
[21:07:12 CET] <atomnuker> the elecard 4k sample kills performance though, barely 44fps or so here
[21:10:44 CET] <BBB> oh no, only 44 fps"
[21:10:59 CET] <BBB> I used pmulhuw in some of my tests instead of psraw, it did seem to help, yes
[21:11:02 CET] <BBB> and prevents stack use
[21:11:23 CET] <atomnuker> its the attitude you need to optimize further :)
[21:11:33 CET] <BBB> true
[21:11:47 CET] <BBB> I think after having spent several months writign the decoder, I want to do encoding work again
[21:12:10 CET] <BBB> it does what it needs to do, Im happy to do more work on it but Id also like to sort of sit back and see if people want to use it etc.
[21:12:11 CET] <atomnuker> your opening quote mark was converted to some non-ascii one but your closing quote mark is ascii I think
[21:12:29 CET] <BBB> "now it's ok"?
[21:12:38 CET] <BBB> my irc client is shit
[21:13:29 CET] <atomnuker> yeah, its okay now
[21:14:02 CET] <atomnuker> could be eviler, it could detect dates and convert them to messed up formats or worse, detect fractions and change the dot to a comma
[21:14:38 CET] <atomnuker> and remove spaces/thin spaces for thousands separations and replace them with dots and or commas
[21:15:30 CET] <BBB> mine also changed dashes
[21:15:38 CET] <BBB> dav1d's CLI doesn't scan for unused arguments
[21:15:52 CET] <BBB> so if you copypaste my non-standard dashes on the CLI, it doesn'tknow it's a dash and it ignores the argument
[21:15:54 CET] <BBB> remember? :)
[21:16:27 CET] <atomnuker> yeah, that took some head scratching to figure out, maybe with a different font they'd be more visible
[21:28:48 CET] <atomnuker> elecard's 1080p version is about 115fps here, so its slightly more than 2x slower
[21:29:07 CET] <atomnuker> they must be using some bottlenecking bitstream features then
[22:10:06 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:698e67bef2ee: avfilter/af_afir: do not leak frame and clear pointer to freed frame
[22:10:07 CET] <cone-132> ffmpeg 03Paul B Mahol 07master:36348d77b86a: avfilter/af_afir: add minp/maxp options to control latency and speed
[22:19:46 CET] <cone-132> ffmpeg 03Andreas Rheinhardt 07master:8d1cf2d89481: cbs_h264: Fix handling of auxiliary pictures
[22:22:20 CET] <cone-132> ffmpeg 03Martin Vignali 07master:105891cd580b: avcodec/prores_aw : change src pix_fmt and alpha description
[22:22:21 CET] <cone-132> ffmpeg 03Martin Vignali 07master:4d32c2b4e0df: avcodec/prores_aw : cosmetic indent and add comment to describe frame header value
[22:22:22 CET] <cone-132> ffmpeg 03Martin Vignali 07master:ff3b4f91cd56: avcodec/prores_aw : add support for prores 444 with alpha
[22:41:31 CET] <cone-132> ffmpeg 03Michael Niedermayer 07master:07bc603757ca: avcodec/qpeg: Optimize full width runs in qpeg_decode_intra()
[00:00:00 CET] --- Fri Nov  9 2018

More information about the Ffmpeg-devel-irc mailing list