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;