AVS Pulldown:
AVISource("24p.avi").AssumeFrameBased().ComplementParity().SeparateFields().SelectEvery(8, 0,1, 2,3,2, 5,4, 7,6,7).Weave()
AssumeFrameBased throws away the existing information and assumes that the clip is frame-based, with the bottom (even) field dominant in each frame. (This happens to be what the source filters guess.) If you want the top field dominant, use ComplementParity afterwards.
x264:
--crf 18.0 --level 3 --keyint 300 --min-keyint 30 --ref 3 --no-fast-pskip --bframes 16 --b-rdo --bime --weightb --subme 7 --trellis 2 --partitions p8x8,b8x8,i4x4 --vbv-bufsize 5000 --vbv-maxrate 10000 --me tesa --threads auto --thread-input --aq-mode 1 --progress --no-psnr --no-ssim --interlaced --sar 32:27 --nal-hrd
In nal-hrd patched x264, --interlaced == --tff.