comparison imgconvert.c @ 11366:3f231ba93f80 libavcodec

Add initial support for 12-bit color mode. Patch by Janusz Krzysztofik jkrzyszt tis icnet pl Original thread: Subject: [FFmpeg-devel] [PATCH v2] Add initial support for 12-bit color mode. Date: Mon, 1 Mar 2010 02:05:07 +0100
author benoit
date Fri, 05 Mar 2010 08:26:23 +0000
parents eb03ee2f7781
children fec27e2a7570
comparison
equal deleted inserted replaced
11365:eb03ee2f7781 11366:3f231ba93f80
238 .nb_channels = 3, 238 .nb_channels = 3,
239 .color_type = FF_COLOR_RGB, 239 .color_type = FF_COLOR_RGB,
240 .pixel_type = FF_PIXEL_PACKED, 240 .pixel_type = FF_PIXEL_PACKED,
241 .depth = 5, 241 .depth = 5,
242 }, 242 },
243 [PIX_FMT_RGB444BE] = {
244 .nb_channels = 3,
245 .color_type = FF_COLOR_RGB,
246 .pixel_type = FF_PIXEL_PACKED,
247 .depth = 4,
248 },
249 [PIX_FMT_RGB444LE] = {
250 .nb_channels = 3,
251 .color_type = FF_COLOR_RGB,
252 .pixel_type = FF_PIXEL_PACKED,
253 .depth = 4,
254 },
243 255
244 /* gray / mono formats */ 256 /* gray / mono formats */
245 [PIX_FMT_GRAY16BE] = { 257 [PIX_FMT_GRAY16BE] = {
246 .nb_channels = 1, 258 .nb_channels = 1,
247 .color_type = FF_COLOR_GRAY, 259 .color_type = FF_COLOR_GRAY,
313 [PIX_FMT_BGR555LE] = { 325 [PIX_FMT_BGR555LE] = {
314 .nb_channels = 3, 326 .nb_channels = 3,
315 .color_type = FF_COLOR_RGB, 327 .color_type = FF_COLOR_RGB,
316 .pixel_type = FF_PIXEL_PACKED, 328 .pixel_type = FF_PIXEL_PACKED,
317 .depth = 5, 329 .depth = 5,
330 },
331 [PIX_FMT_BGR444BE] = {
332 .nb_channels = 3,
333 .color_type = FF_COLOR_RGB,
334 .pixel_type = FF_PIXEL_PACKED,
335 .depth = 4,
336 },
337 [PIX_FMT_BGR444LE] = {
338 .nb_channels = 3,
339 .color_type = FF_COLOR_RGB,
340 .pixel_type = FF_PIXEL_PACKED,
341 .depth = 4,
318 }, 342 },
319 [PIX_FMT_RGB8] = { 343 [PIX_FMT_RGB8] = {
320 .nb_channels = 1, 344 .nb_channels = 1,
321 .color_type = FF_COLOR_RGB, 345 .color_type = FF_COLOR_RGB,
322 .pixel_type = FF_PIXEL_PACKED, 346 .pixel_type = FF_PIXEL_PACKED,
527 case PIX_FMT_RGB48LE: 551 case PIX_FMT_RGB48LE:
528 picture->linesize[0] = width * 6; 552 picture->linesize[0] = width * 6;
529 break; 553 break;
530 case PIX_FMT_GRAY16BE: 554 case PIX_FMT_GRAY16BE:
531 case PIX_FMT_GRAY16LE: 555 case PIX_FMT_GRAY16LE:
556 case PIX_FMT_BGR444BE:
557 case PIX_FMT_BGR444LE:
532 case PIX_FMT_BGR555BE: 558 case PIX_FMT_BGR555BE:
533 case PIX_FMT_BGR555LE: 559 case PIX_FMT_BGR555LE:
534 case PIX_FMT_BGR565BE: 560 case PIX_FMT_BGR565BE:
535 case PIX_FMT_BGR565LE: 561 case PIX_FMT_BGR565LE:
562 case PIX_FMT_RGB444BE:
563 case PIX_FMT_RGB444LE:
536 case PIX_FMT_RGB555BE: 564 case PIX_FMT_RGB555BE:
537 case PIX_FMT_RGB555LE: 565 case PIX_FMT_RGB555LE:
538 case PIX_FMT_RGB565BE: 566 case PIX_FMT_RGB565BE:
539 case PIX_FMT_RGB565LE: 567 case PIX_FMT_RGB565LE:
540 case PIX_FMT_YUYV422: 568 case PIX_FMT_YUYV422:
624 case PIX_FMT_BGRA: 652 case PIX_FMT_BGRA:
625 case PIX_FMT_RGB48BE: 653 case PIX_FMT_RGB48BE:
626 case PIX_FMT_RGB48LE: 654 case PIX_FMT_RGB48LE:
627 case PIX_FMT_GRAY16BE: 655 case PIX_FMT_GRAY16BE:
628 case PIX_FMT_GRAY16LE: 656 case PIX_FMT_GRAY16LE:
657 case PIX_FMT_BGR444BE:
658 case PIX_FMT_BGR444LE:
629 case PIX_FMT_BGR555BE: 659 case PIX_FMT_BGR555BE:
630 case PIX_FMT_BGR555LE: 660 case PIX_FMT_BGR555LE:
631 case PIX_FMT_BGR565BE: 661 case PIX_FMT_BGR565BE:
632 case PIX_FMT_BGR565LE: 662 case PIX_FMT_BGR565LE:
663 case PIX_FMT_RGB444BE:
664 case PIX_FMT_RGB444LE:
633 case PIX_FMT_RGB555BE: 665 case PIX_FMT_RGB555BE:
634 case PIX_FMT_RGB555LE: 666 case PIX_FMT_RGB555LE:
635 case PIX_FMT_RGB565BE: 667 case PIX_FMT_RGB565BE:
636 case PIX_FMT_RGB565LE: 668 case PIX_FMT_RGB565LE:
637 case PIX_FMT_YUYV422: 669 case PIX_FMT_YUYV422:
697 pix_fmt == PIX_FMT_UYVY422 || 729 pix_fmt == PIX_FMT_UYVY422 ||
698 pix_fmt == PIX_FMT_BGR565BE || 730 pix_fmt == PIX_FMT_BGR565BE ||
699 pix_fmt == PIX_FMT_BGR565LE || 731 pix_fmt == PIX_FMT_BGR565LE ||
700 pix_fmt == PIX_FMT_BGR555BE || 732 pix_fmt == PIX_FMT_BGR555BE ||
701 pix_fmt == PIX_FMT_BGR555LE || 733 pix_fmt == PIX_FMT_BGR555LE ||
734 pix_fmt == PIX_FMT_BGR444BE ||
735 pix_fmt == PIX_FMT_BGR444LE ||
702 pix_fmt == PIX_FMT_RGB565BE || 736 pix_fmt == PIX_FMT_RGB565BE ||
703 pix_fmt == PIX_FMT_RGB565LE || 737 pix_fmt == PIX_FMT_RGB565LE ||
704 pix_fmt == PIX_FMT_RGB555BE || 738 pix_fmt == PIX_FMT_RGB555BE ||
705 pix_fmt == PIX_FMT_RGB555LE) 739 pix_fmt == PIX_FMT_RGB555LE ||
740 pix_fmt == PIX_FMT_RGB444BE ||
741 pix_fmt == PIX_FMT_RGB444LE)
706 w = width * 2; 742 w = width * 2;
707 else if (pix_fmt == PIX_FMT_UYYVYY411) 743 else if (pix_fmt == PIX_FMT_UYYVYY411)
708 w = width + width/2; 744 w = width + width/2;
709 else if (pix_fmt == PIX_FMT_PAL8) 745 else if (pix_fmt == PIX_FMT_PAL8)
710 w = width; 746 w = width;
836 case PIX_FMT_UYVY422: 872 case PIX_FMT_UYVY422:
837 case PIX_FMT_RGB565BE: 873 case PIX_FMT_RGB565BE:
838 case PIX_FMT_RGB565LE: 874 case PIX_FMT_RGB565LE:
839 case PIX_FMT_RGB555BE: 875 case PIX_FMT_RGB555BE:
840 case PIX_FMT_RGB555LE: 876 case PIX_FMT_RGB555LE:
877 case PIX_FMT_RGB444BE:
878 case PIX_FMT_RGB444LE:
841 case PIX_FMT_BGR565BE: 879 case PIX_FMT_BGR565BE:
842 case PIX_FMT_BGR565LE: 880 case PIX_FMT_BGR565LE:
843 case PIX_FMT_BGR555BE: 881 case PIX_FMT_BGR555BE:
844 case PIX_FMT_BGR555LE: 882 case PIX_FMT_BGR555LE:
883 case PIX_FMT_BGR444BE:
884 case PIX_FMT_BGR444LE:
845 bits = 16; 885 bits = 16;
846 break; 886 break;
847 case PIX_FMT_UYYVYY411: 887 case PIX_FMT_UYYVYY411:
848 bits = 12; 888 bits = 12;
849 break; 889 break;
956 case PIX_FMT_UYVY422: 996 case PIX_FMT_UYVY422:
957 case PIX_FMT_RGB565BE: 997 case PIX_FMT_RGB565BE:
958 case PIX_FMT_RGB565LE: 998 case PIX_FMT_RGB565LE:
959 case PIX_FMT_RGB555BE: 999 case PIX_FMT_RGB555BE:
960 case PIX_FMT_RGB555LE: 1000 case PIX_FMT_RGB555LE:
1001 case PIX_FMT_RGB444BE:
1002 case PIX_FMT_RGB444LE:
961 case PIX_FMT_BGR565BE: 1003 case PIX_FMT_BGR565BE:
962 case PIX_FMT_BGR565LE: 1004 case PIX_FMT_BGR565LE:
963 case PIX_FMT_BGR555BE: 1005 case PIX_FMT_BGR555BE:
964 case PIX_FMT_BGR555LE: 1006 case PIX_FMT_BGR555LE:
1007 case PIX_FMT_BGR444BE:
1008 case PIX_FMT_BGR444LE:
965 bits = 16; 1009 bits = 16;
966 break; 1010 break;
967 case PIX_FMT_UYYVYY411: 1011 case PIX_FMT_UYYVYY411:
968 bits = 12; 1012 bits = 12;
969 break; 1013 break;