Mercurial > libavcodec.hg
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; |