- for (i = 0; i < s->height; i++) {
- if (strip_sizes[i / s->rps] == 0) {
- if(s->compr == TIFF_LZW){
- ff_lzw_encode_init(s->lzws, ptr, s->buf_size - (*s->buf - s->buf_start),
- 12, FF_LZW_TIFF, put_bits);
- }
- strip_offsets[i / s->rps] = ptr - pkt->data;
- }
- if (is_yuv){
- pack_yuv(s, yuv_line, i);
- ret = encode_strip(s, yuv_line, ptr, bytes_per_row, s->compr);
- i += s->subsampling[1] - 1;
- }
- else
- ret = encode_strip(s, p->data[0] + i * p->linesize[0],
- ptr, bytes_per_row, s->compr);
- if (ret < 0) {
- av_log(s->avctx, AV_LOG_ERROR, "Encode strip failed\n");
- goto fail;
- }
- strip_sizes[i / s->rps] += ret;
- ptr += ret;
- if(s->compr == TIFF_LZW && (i==s->height-1 || i%s->rps == s->rps-1)){
- ret = ff_lzw_encode_flush(s->lzws, flush_put_bits);
- strip_sizes[(i / s->rps )] += ret ;
- ptr += ret;
+ }
+ for (i = 0; i < s->height; i++) {
+ if (strip_sizes[i / s->rps] == 0) {
+ if (s->compr == TIFF_LZW) {
+ ff_lzw_encode_init(s->lzws, ptr,
+ s->buf_size - (*s->buf - s->buf_start),
+ 12, FF_LZW_TIFF, put_bits);