Mercurial > libavcodec.hg
comparison huffyuv.c @ 2501:236562127b89 libavcodec
seperate bitstream encoding skip from PASS1 flag
author | michael |
---|---|
date | Sun, 06 Feb 2005 10:36:07 +0000 |
parents | f67b63ed036d |
children | 366e8a09eb6e |
comparison
equal
deleted
inserted
replaced
2500:99b1de0018bb | 2501:236562127b89 |
---|---|
642 s->stats[0][ s->temp[0][2*i ] ]++; | 642 s->stats[0][ s->temp[0][2*i ] ]++; |
643 s->stats[1][ s->temp[1][ i ] ]++; | 643 s->stats[1][ s->temp[1][ i ] ]++; |
644 s->stats[0][ s->temp[0][2*i+1] ]++; | 644 s->stats[0][ s->temp[0][2*i+1] ]++; |
645 s->stats[2][ s->temp[2][ i ] ]++; | 645 s->stats[2][ s->temp[2][ i ] ]++; |
646 } | 646 } |
647 }else if(s->context){ | 647 } |
648 if(s->avctx->flags2&CODEC_FLAG2_NO_OUTPUT) | |
649 return 0; | |
650 if(s->context){ | |
648 for(i=0; i<count; i++){ | 651 for(i=0; i<count; i++){ |
649 s->stats[0][ s->temp[0][2*i ] ]++; | 652 s->stats[0][ s->temp[0][2*i ] ]++; |
650 put_bits(&s->pb, s->len[0][ s->temp[0][2*i ] ], s->bits[0][ s->temp[0][2*i ] ]); | 653 put_bits(&s->pb, s->len[0][ s->temp[0][2*i ] ], s->bits[0][ s->temp[0][2*i ] ]); |
651 s->stats[1][ s->temp[1][ i ] ]++; | 654 s->stats[1][ s->temp[1][ i ] ]++; |
652 put_bits(&s->pb, s->len[1][ s->temp[1][ i ] ], s->bits[1][ s->temp[1][ i ] ]); | 655 put_bits(&s->pb, s->len[1][ s->temp[1][ i ] ], s->bits[1][ s->temp[1][ i ] ]); |
678 if(s->flags&CODEC_FLAG_PASS1){ | 681 if(s->flags&CODEC_FLAG_PASS1){ |
679 for(i=0; i<count; i++){ | 682 for(i=0; i<count; i++){ |
680 s->stats[0][ s->temp[0][2*i ] ]++; | 683 s->stats[0][ s->temp[0][2*i ] ]++; |
681 s->stats[0][ s->temp[0][2*i+1] ]++; | 684 s->stats[0][ s->temp[0][2*i+1] ]++; |
682 } | 685 } |
683 }else if(s->context){ | 686 } |
687 if(s->avctx->flags2&CODEC_FLAG2_NO_OUTPUT) | |
688 return 0; | |
689 | |
690 if(s->context){ | |
684 for(i=0; i<count; i++){ | 691 for(i=0; i<count; i++){ |
685 s->stats[0][ s->temp[0][2*i ] ]++; | 692 s->stats[0][ s->temp[0][2*i ] ]++; |
686 put_bits(&s->pb, s->len[0][ s->temp[0][2*i ] ], s->bits[0][ s->temp[0][2*i ] ]); | 693 put_bits(&s->pb, s->len[0][ s->temp[0][2*i ] ], s->bits[0][ s->temp[0][2*i ] ]); |
687 s->stats[0][ s->temp[0][2*i+1] ]++; | 694 s->stats[0][ s->temp[0][2*i+1] ]++; |
688 put_bits(&s->pb, s->len[0][ s->temp[0][2*i+1] ], s->bits[0][ s->temp[0][2*i+1] ]); | 695 put_bits(&s->pb, s->len[0][ s->temp[0][2*i+1] ], s->bits[0][ s->temp[0][2*i+1] ]); |
1174 s->stats[i][j]= 0; | 1181 s->stats[i][j]= 0; |
1175 } | 1182 } |
1176 snprintf(p, end-p, "\n"); | 1183 snprintf(p, end-p, "\n"); |
1177 p++; | 1184 p++; |
1178 } | 1185 } |
1179 }else{ | 1186 } |
1187 if(!(s->avctx->flags2 & CODEC_FLAG2_NO_OUTPUT)){ | |
1180 flush_put_bits(&s->pb); | 1188 flush_put_bits(&s->pb); |
1181 s->dsp.bswap_buf((uint32_t*)buf, (uint32_t*)buf, size); | 1189 s->dsp.bswap_buf((uint32_t*)buf, (uint32_t*)buf, size); |
1182 avctx->stats_out[0] = '\0'; | 1190 avctx->stats_out[0] = '\0'; |
1183 } | 1191 } |
1184 | 1192 |