| 526 | } |
| 527 | |
| 528 | int ff_fill_pointer(AVPicture *picture, uint8_t *ptr, enum PixelFormat pix_fmt, |
| 529 | int height) |
| 530 | { |
| 531 | int size, h2, size2; |
| 532 | const AVPixFmtDescriptor *desc = &av_pix_fmt_descriptors[pix_fmt]; |
| 533 | |
| 534 | size = picture->linesize[0] * height; |
| 535 | switch(pix_fmt) { |
| 536 | case PIX_FMT_YUV420P: |
| 537 | case PIX_FMT_YUV422P: |
| 538 | case PIX_FMT_YUV444P: |
| 539 | case PIX_FMT_YUV410P: |
| 540 | case PIX_FMT_YUV411P: |
| 541 | case PIX_FMT_YUV440P: |
| 542 | case PIX_FMT_YUVJ420P: |
| 543 | case PIX_FMT_YUVJ422P: |
| 544 | case PIX_FMT_YUVJ444P: |
| 545 | case PIX_FMT_YUVJ440P: |
| 546 | case PIX_FMT_YUV420P16LE: |
| 547 | case PIX_FMT_YUV422P16LE: |
| 548 | case PIX_FMT_YUV444P16LE: |
| 549 | case PIX_FMT_YUV420P16BE: |
| 550 | case PIX_FMT_YUV422P16BE: |
| 551 | case PIX_FMT_YUV444P16BE: |
| 552 | h2 = (height + (1 << desc->log2_chroma_h) - 1) >> desc->log2_chroma_h; |
| 553 | size2 = picture->linesize[1] * h2; |
| 554 | picture->data[0] = ptr; |
| 555 | picture->data[1] = picture->data[0] + size; |
| 556 | picture->data[2] = picture->data[1] + size2; |
| 557 | picture->data[3] = NULL; |
| 558 | return size + 2 * size2; |
| 559 | case PIX_FMT_YUVA420P: |
| 560 | h2 = (height + (1 << desc->log2_chroma_h) - 1) >> desc->log2_chroma_h; |
| 561 | size2 = picture->linesize[1] * h2; |
| 562 | picture->data[0] = ptr; |
| 563 | picture->data[1] = picture->data[0] + size; |
| 564 | picture->data[2] = picture->data[1] + size2; |
| 565 | picture->data[3] = picture->data[1] + size2 + size2; |
| 566 | return 2 * size + 2 * size2; |
| 567 | case PIX_FMT_NV12: |
| 568 | case PIX_FMT_NV21: |
| 569 | h2 = (height + (1 << desc->log2_chroma_h) - 1) >> desc->log2_chroma_h; |
| 570 | size2 = picture->linesize[1] * h2; |
| 571 | picture->data[0] = ptr; |
| 572 | picture->data[1] = picture->data[0] + size; |
| 573 | picture->data[2] = NULL; |
| 574 | picture->data[3] = NULL; |
| 575 | return size + size2; |
| 576 | case PIX_FMT_RGB24: |
| 577 | case PIX_FMT_BGR24: |
| 578 | case PIX_FMT_ARGB: |
| 579 | case PIX_FMT_ABGR: |
| 580 | case PIX_FMT_RGBA: |
| 581 | case PIX_FMT_BGRA: |
| 582 | case PIX_FMT_RGB48BE: |
| 583 | case PIX_FMT_RGB48LE: |
| 584 | case PIX_FMT_GRAY16BE: |
| 585 | case PIX_FMT_GRAY16LE: |
no outgoing calls
no test coverage detected