Intra macroblock refreshment is an effective approach for error-resilient video coding. In this paper, in addition to intra coding, we propose to add two macroblock coding modes to enhance the transmission robustness of the coded bitstream, which are inter coding with redundant macroblock and intra coding with redundant macroblock. The selection of coding modes and the parameters for coding the redundant version of the macroblock are determined by the rate-distortion optimization. It is worth mentioning that the end-to-end distortion is employed in the optimization procedure, which considers the channel conditions. Extensive simulation results show that the proposed approach outperforms other error-resilient approaches significantly; for some video sequences, the average PSNR can be up to 4 dB higher than that of the Optimal Intra Refreshment approach.