Mercurial > libavcodec.hg
comparison rv10.c @ 903:22ee74da2cd3 libavcodec
cleanup
adding AVVideoFrame
moving quality, pict_type, key_frame, qscale_table, ... to AVVideoFrame
removing obsolete variables in AVCodecContext
skiping of MBs in b frames
correctly initalizing AVCodecContext
picture buffer cleanup
author | michaelni |
---|---|
date | Wed, 04 Dec 2002 10:04:03 +0000 |
parents | eacc2dd8fd9d |
children | 7fccaa0d699d |
comparison
equal
deleted
inserted
replaced
902:6acc8394960d | 903:22ee74da2cd3 |
---|---|
470 void *data, int *data_size, | 470 void *data, int *data_size, |
471 UINT8 *buf, int buf_size) | 471 UINT8 *buf, int buf_size) |
472 { | 472 { |
473 MpegEncContext *s = avctx->priv_data; | 473 MpegEncContext *s = avctx->priv_data; |
474 int i; | 474 int i; |
475 AVPicture *pict = data; | 475 AVVideoFrame *pict = data; |
476 | 476 |
477 #ifdef DEBUG | 477 #ifdef DEBUG |
478 printf("*****frame %d size=%d\n", avctx->frame_number, buf_size); | 478 printf("*****frame %d size=%d\n", avctx->frame_number, buf_size); |
479 #endif | 479 #endif |
480 | 480 |
503 } | 503 } |
504 | 504 |
505 if(s->mb_y>=s->mb_height){ | 505 if(s->mb_y>=s->mb_height){ |
506 MPV_frame_end(s); | 506 MPV_frame_end(s); |
507 | 507 |
508 pict->data[0] = s->current_picture[0]; | 508 *pict= *(AVVideoFrame*)&s->current_picture; |
509 pict->data[1] = s->current_picture[1]; | 509 |
510 pict->data[2] = s->current_picture[2]; | 510 *data_size = sizeof(AVVideoFrame); |
511 pict->linesize[0] = s->linesize; | |
512 pict->linesize[1] = s->uvlinesize; | |
513 pict->linesize[2] = s->uvlinesize; | |
514 | |
515 avctx->quality = s->qscale; | |
516 *data_size = sizeof(AVPicture); | |
517 }else{ | 511 }else{ |
518 *data_size = 0; | 512 *data_size = 0; |
519 } | 513 } |
520 | 514 |
521 return buf_size; | 515 return buf_size; |