Faits: Faits: A. H._, né en 1944, a travaillé en qualité de manoeuvre dans le bâtiment. Le 20 janvier 1997, il a été victime d'un accident qui a entraîné une contusion du genou gauche. La Caisse nationale suisse d'assurance en cas d'accidents (CNA) a pris les suites de cet événement à sa charge. Par décision sur opposition du 16 septembre 1998, la CNA a mis fin au versement de ses prestations à partir du 2 mars 1998, car l'incapacité de travail qui perdurait ne se trouvait plus en relation de causalité avec l'accident, mais avait une origine maladive. Cette décision a été confirmée en procédure de recours par le Tribunal cantonal des assurances du canton de Vaud (jugement du 7 novembre 2002), puis par le Tribunal fédéral des assurances (arrêt du 8 octobre 2004, U 193/03). Le 2 février 1998, H._ s'est annoncé à l'assurance-invalidité en sollicitant un reclassement professionnel ainsi qu'une rente. L'Office de l'assurance-invalidité pour le canton de Vaud (l'office AI) a constaté que les affections de santé de l'assuré consistaient essentiellement en des problèmes dégénératifs des deux hanches, sans rapport avec l'accident du 20 janvier 1997. Il a dès lors confié un mandat d'expertise pluridisciplinaire au SMR X._. Dans leur rapport du 25 février 2002, les docteurs B._, G._ et V._ ont diagnostiqué un syndrome lombo-vertébral avec atteinte déficitaire du réflèxe S1 gauche sur spondylo-discarthrose peu évoluée avec discopathie L5-S1, modérée et déconditionnement musculaire, une coxa vara bilatérale avec ébauche de coxarthrose, une discrète gonarthrose sur genua vara et discrète dysplasie rotulienne (Wiberg 2-3), un status après section de la corne postérieure et moyenne du ménisque interne du genou gauche le 08-12-97, après section de l'aileron rotulien externe le 05-05-97 et après fracture du bord externe de la rotule gauche le 12-02-97, un trouble somatoforme douloureux avec pseudo-extinction sensitive de la jambe gauche sans traduction radiculaire ni d'un territoire neurologique anatomique défini, ainsi qu'une surdité appareillée. Selon les médecins du SMR X._, ces affections réduisent la capacité de travail de l'assuré de 70 % dans un emploi de maçon. En revanche, dans une activité adaptée, privilégiant la position assise durant les deux tiers d'une journée, debout pour le tiers restant, avec alternance des positions, sans port de charges supérieures à 25 kg et d'accroupissement plus de 10 mn d'affilée, au maximum huit par jour, la capacité de travail de l'assuré serait de 100 %. L'office AI a estimé que l'assuré serait en mesure de réaliser un gain annuel de 48'828 fr. compte tenu de son handicap. En comparant ce revenu avec le salaire annuel de 58'126 fr. 25 que l'assuré aurait pu obtenir sans l'atteinte à la santé, l'administration est parvenue à un taux d'invalidité de 16 %, si bien qu'elle a rejeté la demande de prestations, par décision du 10 avril 2002. L'office AI a estimé que l'assuré serait en mesure de réaliser un gain annuel de 48'828 fr. compte tenu de son handicap. En comparant ce revenu avec le salaire annuel de 58'126 fr. 25 que l'assuré aurait pu obtenir sans l'atteinte à la santé, l'administration est parvenue à un taux d'invalidité de 16 %, si bien qu'elle a rejeté la demande de prestations, par décision du 10 avril 2002. B. H._ a déféré cette décision au Tribunal des assurances du canton de Vaud. A titre principal, il a conclu implicitement à l'octroi d'une rente entière; subsidiairement, il a conclu au renvoi de la cause à l'administration. Il a par ailleurs requis la mise en oeuvre d'une expertise. Par jugement du 22 décembre 2003, la juridiction cantonale a rejeté le recours, après avoir porté le taux d'invalidité de l'assuré à 20 %. Par jugement du 22 décembre 2003, la juridiction cantonale a rejeté le recours, après avoir porté le taux d'invalidité de l'assuré à 20 %. C. H._ interjette recours de droit administratif contre ce jugement dont il demande l'annulation, avec suite de dépens, en reprenant ses conclusions formulées en première instance. Il sollicite le bénéfice de l'assistance judiciaire pour la procédure fédérale. L'intimé conclut au rejet du recours. L'Office fédéral des assurances sociales a renoncé à se déterminer.