MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / ff_fill_pointer

Function ff_fill_pointer

libavcodec/imgconvert.c:528–630  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

526}
527
528int 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:

Callers 3

avpicture_fillFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected