diff --git a/libavcodec/simple_idct_template.c b/libavcodec/simple_idct_template.c
index be49cb95705dcadda15b9a5b4c8de042a2113588..1b6115d41f4f8745d925e53c8685e0ff2cd7e541 100644
--- a/libavcodec/simple_idct_template.c
+++ b/libavcodec/simple_idct_template.c
@@ -372,6 +372,9 @@ void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, DCTELEM *block)
 {
     pixel *dest = (pixel *)dest_;
     int i;
+
+    line_size /= sizeof(pixel);
+
     for(i=0; i<8; i++)
         FUNC(idctRowCondDC)(block + i*8);
 
@@ -383,6 +386,9 @@ void FUNC(ff_simple_idct_add)(uint8_t *dest_, int line_size, DCTELEM *block)
 {
     pixel *dest = (pixel *)dest_;
     int i;
+
+    line_size /= sizeof(pixel);
+
     for(i=0; i<8; i++)
         FUNC(idctRowCondDC)(block + i*8);