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