put_bits(pb, 8, 0); /* Ah/Al (not used) */
}
-static void escape_FF(MpegEncContext *s, int start)
+static void escape_FF(PutBitContext *pb, int start)
{
- int size= put_bits_count(&s->pb) - start*8;
+ int size = put_bits_count(pb) - start * 8;
int i, ff_count;
- uint8_t *buf= s->pb.buf + start;
+ uint8_t *buf = pb->buf + start;
int align= (-(size_t)(buf))&3;
assert((size&7) == 0);
if(ff_count==0) return;
- flush_put_bits(&s->pb);
- skip_put_bytes(&s->pb, ff_count);
+ flush_put_bits(pb);
+ skip_put_bytes(pb, ff_count);
for(i=size-1; ff_count; i--){
int v= buf[i];
if(length) put_bits(pbc, length, (1<<length)-1);
}
-void ff_mjpeg_encode_picture_trailer(MpegEncContext *s)
+void ff_mjpeg_encode_picture_trailer(PutBitContext *pb, int header_bits)
{
- ff_mjpeg_encode_stuffing(&s->pb);
- flush_put_bits(&s->pb);
+ ff_mjpeg_encode_stuffing(pb);
+ flush_put_bits(pb);
- assert((s->header_bits&7)==0);
+ assert((header_bits & 7) == 0);
- escape_FF(s, s->header_bits>>3);
+ escape_FF(pb, header_bits >> 3);
- put_marker(&s->pb, EOI);
+ put_marker(pb, EOI);
}
void ff_mjpeg_encode_dc(MpegEncContext *s, int val,
void ff_mjpeg_encode_picture_header(AVCodecContext *avctx, PutBitContext *pb,
ScanTable *intra_scantable,
uint16_t intra_matrix[64]);
-void ff_mjpeg_encode_picture_trailer(MpegEncContext *s);
+void ff_mjpeg_encode_picture_trailer(PutBitContext *pb, int header_bits);
void ff_mjpeg_encode_stuffing(PutBitContext *pbc);
void ff_mjpeg_encode_dc(MpegEncContext *s, int val,
uint8_t *huff_size, uint16_t *huff_code);
frame_end(s);
if (CONFIG_MJPEG_ENCODER && s->out_format == FMT_MJPEG)
- ff_mjpeg_encode_picture_trailer(s);
+ ff_mjpeg_encode_picture_trailer(&s->pb, s->header_bits);
if (avctx->rc_buffer_size) {
RateControlContext *rcc = &s->rc_context;