J´ai pas tout compris, mais un petit recapitulatif pour eviter les confusions s´impose:
Il n´y a pas de codec dans directX, ni dans les drivers de carte graphique.
Les codecs sont des petits prog independant de tout ca qui ont la facheuse tendance a se marcher dessus les uns les autres et a se planter mutuellement.
Il traduisent le fichier video, et donne le resultat a la carte graphique via les drivers CG.
DirectX n´a rien a voir dans tout ca, c´est pas ses oignions
Si vraiment, ca n´est que les videos qui bloquent BF2, vire-les, renomme le repertoire
:\Program Files\EA GAMES\Battlefield 2\mods\bf2\Movies\
en autre chose comme "Moviesold" et c´est bon 
plus de video, plus de problemes