Mercurial > libavcodec.hg
comparison utils.c @ 992:b9ca09e5c9ad libavcodec
moved avpicture_xxx to imgconvert
author | bellard |
---|---|
date | Sat, 11 Jan 2003 04:52:39 +0000 |
parents | 001b7d3045e5 |
children | 6129c88a6393 |
comparison
equal
deleted
inserted
replaced
991:2fabb7d709e7 | 992:b9ca09e5c9ad |
---|---|
381 p = p->next; | 381 p = p->next; |
382 } | 382 } |
383 return NULL; | 383 return NULL; |
384 } | 384 } |
385 | 385 |
386 const char *pix_fmt_str[] = { | |
387 "yuv420p", | |
388 "yuv422", | |
389 "rgb24", | |
390 "bgr24", | |
391 "yuv422p", | |
392 "yuv444p", | |
393 "rgba32", | |
394 "bgra32", | |
395 "yuv410p", | |
396 "yuv411p", | |
397 }; | |
398 | |
399 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) | 386 void avcodec_string(char *buf, int buf_size, AVCodecContext *enc, int encode) |
400 { | 387 { |
401 const char *codec_name; | 388 const char *codec_name; |
402 AVCodec *p; | 389 AVCodec *p; |
403 char buf1[32]; | 390 char buf1[32]; |
506 } | 493 } |
507 if (bitrate != 0) { | 494 if (bitrate != 0) { |
508 snprintf(buf + strlen(buf), buf_size - strlen(buf), | 495 snprintf(buf + strlen(buf), buf_size - strlen(buf), |
509 ", %d kb/s", bitrate / 1000); | 496 ", %d kb/s", bitrate / 1000); |
510 } | 497 } |
511 } | |
512 | |
513 /* Picture field are filled with 'ptr' addresses */ | |
514 void avpicture_fill(AVPicture *picture, UINT8 *ptr, | |
515 int pix_fmt, int width, int height) | |
516 { | |
517 int size; | |
518 | |
519 size = width * height; | |
520 switch(pix_fmt) { | |
521 case PIX_FMT_YUV420P: | |
522 picture->data[0] = ptr; | |
523 picture->data[1] = picture->data[0] + size; | |
524 picture->data[2] = picture->data[1] + size / 4; | |
525 picture->linesize[0] = width; | |
526 picture->linesize[1] = width / 2; | |
527 picture->linesize[2] = width / 2; | |
528 break; | |
529 case PIX_FMT_YUV422P: | |
530 picture->data[0] = ptr; | |
531 picture->data[1] = picture->data[0] + size; | |
532 picture->data[2] = picture->data[1] + size / 2; | |
533 picture->linesize[0] = width; | |
534 picture->linesize[1] = width / 2; | |
535 picture->linesize[2] = width / 2; | |
536 break; | |
537 case PIX_FMT_YUV444P: | |
538 picture->data[0] = ptr; | |
539 picture->data[1] = picture->data[0] + size; | |
540 picture->data[2] = picture->data[1] + size; | |
541 picture->linesize[0] = width; | |
542 picture->linesize[1] = width; | |
543 picture->linesize[2] = width; | |
544 break; | |
545 case PIX_FMT_RGB24: | |
546 case PIX_FMT_BGR24: | |
547 picture->data[0] = ptr; | |
548 picture->data[1] = NULL; | |
549 picture->data[2] = NULL; | |
550 picture->linesize[0] = width * 3; | |
551 break; | |
552 case PIX_FMT_RGBA32: | |
553 picture->data[0] = ptr; | |
554 picture->data[1] = NULL; | |
555 picture->data[2] = NULL; | |
556 picture->linesize[0] = width * 4; | |
557 break; | |
558 case PIX_FMT_YUV422: | |
559 picture->data[0] = ptr; | |
560 picture->data[1] = NULL; | |
561 picture->data[2] = NULL; | |
562 picture->linesize[0] = width * 2; | |
563 break; | |
564 default: | |
565 picture->data[0] = NULL; | |
566 picture->data[1] = NULL; | |
567 picture->data[2] = NULL; | |
568 break; | |
569 } | |
570 } | |
571 | |
572 int avpicture_get_size(int pix_fmt, int width, int height) | |
573 { | |
574 int size; | |
575 | |
576 size = width * height; | |
577 switch(pix_fmt) { | |
578 case PIX_FMT_YUV420P: | |
579 size = (size * 3) / 2; | |
580 break; | |
581 case PIX_FMT_YUV422P: | |
582 size = (size * 2); | |
583 break; | |
584 case PIX_FMT_YUV444P: | |
585 size = (size * 3); | |
586 break; | |
587 case PIX_FMT_RGB24: | |
588 case PIX_FMT_BGR24: | |
589 size = (size * 3); | |
590 break; | |
591 case PIX_FMT_RGBA32: | |
592 size = (size * 4); | |
593 break; | |
594 case PIX_FMT_YUV422: | |
595 size = (size * 2); | |
596 break; | |
597 default: | |
598 size = -1; | |
599 break; | |
600 } | |
601 return size; | |
602 } | 498 } |
603 | 499 |
604 unsigned avcodec_version( void ) | 500 unsigned avcodec_version( void ) |
605 { | 501 { |
606 return LIBAVCODEC_VERSION_INT; | 502 return LIBAVCODEC_VERSION_INT; |