I took a look at the ADV7511 Transmitter Library source code, but as Dragos mentioned, there are a number of functions that must be written by the user in wrapper.c. These include not just the basic HAL_I2CRead/Write functions, but also a number of ATV_* functions (ATV_LookupValue8, ATC_I2CWriteTable, ...).
What I did was extract the object files from libHDMI_MicroBlazeLib.a (mb-ar x libHDMI_MicroBlazeLib.a) (which already has code for all the ATV_* functions in atv_common.o) and replaced platform.o with another object file containing new versions of the following functions:
HAL_I2CReadByte(), HAL_I2CReadBlock(),
HAL_I2CWriteByte(), HAL_I2CWriteBlock()
HAL_GetCurrentMSCount()
with dummy versions (empty wrappers) for the following functions:
HAL_I2C16ReadBlock8()
HAL_I2C16WriteBlock8()
I also created my own HAL_Platform_Init() function for initializing the axi_iic and axi_timer drivers (Xiic, XTmrCtr).
This way I was able to get the ADV7511 demo program running on MicroBlaze on a ZedBoard.
I had an issue with Xilinx's Xiic_DynSend() function not seeming to work for multi-byte writes, so I just made HAL_I2CWriteBlock() write one byte at a time.