Add flashsv encoder to changelog and fix the encoder so it actually works.
[ffmpeg.git] / libavcodec / flashsvenc.c
index 0abd2f4dde8608ebfc9c879572f5f8167718b011..8152f3e65771b8b6a774e29d5ac1f28f68f6a059 100644 (file)
@@ -211,11 +211,12 @@ static int encode_bitstream(FlashSVContext *s, AVFrame *p, uint8_t *buf, int buf
                 //av_log(avctx, AV_LOG_INFO, "compressed blocks: %d\n", size);
                 */
                 bytestream_put_be16(&ptr,(unsigned int)zsize);
-                buf_pos += zsize;
+                buf_pos += zsize+2;
                 //av_log(avctx, AV_LOG_ERROR, "buf_pos = %d\n", buf_pos);
             } else {
                 pred_blocks++;
                 bytestream_put_be16(&ptr,0);
+                buf_pos += 2;
             }
         }
     }
@@ -293,7 +294,7 @@ static int flashsv_encode_frame(AVCodecContext *avctx, uint8_t *buf, int buf_siz
 
     res = encode_bitstream(s, p, buf, buf_size, opt_w*16, opt_h*16, s->previous_frame, &I_frame);
 #endif
-
+    av_log(avctx, AV_LOG_ERROR, "res %d\n", res);
     //save the current frame
     memcpy(s->previous_frame, p->data[0], s->image_height*p->linesize[0]*3);