TODOs
Jan 21 21:32:25 <Dark_Shikari> 1) get into the habit of using x264 code style
Jan 21 21:32:39 <Dark_Shikari> 2) You'll find this much easier if you just do it in x264 itself
Jan 21 21:32:51 <Dark_Shikari> make a function in encoder.c that does it, and call it before slice_write's main loop
Jan 21 21:33:04 <cancan101> i think i did that
Jan 21 21:33:07 <cancan101> not here
Jan 21 21:33:11 <cancan101> but when i was testing before
Jan 21 21:33:16 <cancan101> but ok
Jan 21 21:33:20 <Dark_Shikari> also, I don't see the reason to make tons of functions like that
Jan 21 21:33:25 <Dark_Shikari> you don't need a pyramidsearch16 pyramidsearch8 etc
Jan 21 21:33:31 <cancan101> lol
Jan 21 21:33:34 <Dark_Shikari> ideally the function should be generic and work at any level of the search
Jan 21 21:33:34 <cancan101> unit tests.....
Jan 21 21:33:43 <cancan101> or you mean same functionality
Jan 21 21:33:47 <cancan101> without that?
Jan 21 21:34:18 <Setsuna-Xero> cancan101: meaning once you test it all and it works, merge them into one over function
Jan 21 21:34:19 <Dark_Shikari> for( downscale = 16; downscale >= 1; downscale >>= 1 )
Jan 21 21:34:20 <Dark_Shikari> {
Jan 21 21:34:28 <Dark_Shikari> PyramidSearch(downscale);
Jan 21 21:34:28 <Dark_Shikari> }
Jan 21 21:34:30 <Dark_Shikari> (simplified)
Jan 21 21:36:18 <Dark_Shikari> needless code duplication is dumb
Jan 21 21:36:29 <cancan101> i mean
Jan 21 21:36:31 <cancan101> in this case
Jan 21 21:36:35 <cancan101> this is for testing
Jan 21 21:36:36 <Dark_Shikari> Literally, if this is done right, changing the number of levels in pyramidsearch should require changing one number
Jan 21 21:36:37 <cancan101> agaisnt CUDA
Jan 21 21:36:48 <Dark_Shikari> well, you should start by making a WORKING c implementation
Jan 21 21:36:49 <Dark_Shikari> in x264
Jan 21 21:37:00 <Dark_Shikari> so we can see how well it works and get it working algorithmically well
Jan 21 21:37:03 <Dark_Shikari> BEFORE we do the hard work of CUDA
Jan 21 21:37:11 <Dark_Shikari> we should *know* that it works well before we put it on CUDA
Jan 21 21:41:53 <Dark_Shikari> You can use x264's existing lowres average function
Jan 21 21:43:02 <Dark_Shikari> hmm, that actually makes it simpler
Jan 21 21:43:05 <Dark_Shikari> you can reuse a LOT of x264 code
Jan 21 21:43:12 <Dark_Shikari> for example, the code that duplicates the end lines