[svn] / branches / dev-api-4 / xvidcore / src / image / image.c Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/src/image/image.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1257, Fri Dec 12 08:19:13 2003 UTC revision 1344, Fri Jan 30 18:53:50 2004 UTC
# Line 19  Line 19 
19   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: image.c,v 1.26.2.12 2003-12-12 08:19:13 chl Exp $   * $Id: image.c,v 1.26.2.14 2004-01-30 18:53:50 chl Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
# Line 599  Line 599 
599                          interlacing?rgbai_to_yv12_c:rgba_to_yv12_c, 4);                          interlacing?rgbai_to_yv12_c:rgba_to_yv12_c, 4);
600                  break;                  break;
601    
602            case XVID_CSP_ARGB:
603                    safe_packed_conv(
604                            src[0], src_stride[0], image->y, image->u, image->v,
605                            edged_width, edged_width2, width, height, (csp & XVID_CSP_VFLIP),
606                            interlacing?argbi_to_yv12  : argb_to_yv12,
607                            interlacing?argbi_to_yv12_c: argb_to_yv12_c, 4);
608                    break;
609    
610          case XVID_CSP_YUY2:          case XVID_CSP_YUY2:
611                  safe_packed_conv(                  safe_packed_conv(
612                          src[0], src_stride[0], image->y, image->u, image->v,                          src[0], src_stride[0], image->y, image->u, image->v,
# Line 623  Line 631 
631                          interlacing?uyvyi_to_yv12_c:uyvy_to_yv12_c, 2);                          interlacing?uyvyi_to_yv12_c:uyvy_to_yv12_c, 2);
632                  break;                  break;
633    
634          case XVID_CSP_I420: /* YCrCb == internal colorspace for MPEG */          case XVID_CSP_YV12:     /* YCrCb == internal colorspace for MPEG */
635                  yv12_to_yv12(image->y, image->u, image->v, edged_width, edged_width2,                  yv12_to_yv12(image->y, image->u, image->v, edged_width, edged_width2,
636                          src[0], src[0] + src_stride[0]*height, src[0] + src_stride[0]*height + (src_stride[0]/2)*height2,                          src[0], src[0] + src_stride[0]*height, src[0] + src_stride[0]*height + (src_stride[0]/2)*height2,
637                          src_stride[0], src_stride[0]/2, width, height, (csp & XVID_CSP_VFLIP));                          src_stride[0], src_stride[0]/2, width, height, (csp & XVID_CSP_VFLIP));
638                  break;                  break;
639    
640          case XVID_CSP_YV12:     /* YCbCr == U and V plane swapped */          case XVID_CSP_I420: /* YCbCr == U and V plane swapped */
641                  yv12_to_yv12(image->y, image->v, image->u, edged_width, edged_width2,                  yv12_to_yv12(image->y, image->v, image->u, edged_width, edged_width2,
642                          src[0], src[0] + src_stride[0]*height, src[0] + src_stride[0]*height + (src_stride[0]/2)*height2,                          src[0], src[0] + src_stride[0]*height, src[0] + src_stride[0]*height + (src_stride[0]/2)*height2,
643                          src_stride[0], src_stride[0]/2, width, height, (csp & XVID_CSP_VFLIP));                          src_stride[0], src_stride[0]/2, width, height, (csp & XVID_CSP_VFLIP));
644                  break;                  break;
645    
646          case XVID_CSP_USER :  /* YCrCb with arbitrary pointers and different strides for Y and UV */          case XVID_CSP_PLANAR:  /* YCbCr with arbitrary pointers and different strides for Y and UV */
647                  yv12_to_yv12(image->y, image->u, image->v, edged_width, edged_width2,                  yv12_to_yv12(image->y, image->u, image->v, edged_width, edged_width2,
648                          src[0], src[1], src[2], src_stride[0], src_stride[1],  /* v: dst_stride[2] not yet supported */                          src[0], src[1], src[2], src_stride[0], src_stride[1],  /* v: dst_stride[2] not yet supported */
649                          width, height, (csp & XVID_CSP_VFLIP));                          width, height, (csp & XVID_CSP_VFLIP));
# Line 767  Line 775 
775                          interlacing?yv12_to_rgbai_c:yv12_to_rgba_c, 4);                          interlacing?yv12_to_rgbai_c:yv12_to_rgba_c, 4);
776                  return 0;                  return 0;
777    
778            case XVID_CSP_ARGB:
779                    safe_packed_conv(
780                            dst[0], dst_stride[0], image->y, image->u, image->v,
781                            edged_width, edged_width2, width, height, (csp & XVID_CSP_VFLIP),
782                            interlacing?yv12_to_argbi  :yv12_to_argb,
783                            interlacing?yv12_to_argbi_c:yv12_to_argb_c, 4);
784                    return 0;
785    
786          case XVID_CSP_YUY2:          case XVID_CSP_YUY2:
787                  safe_packed_conv(                  safe_packed_conv(
788                          dst[0], dst_stride[0], image->y, image->u, image->v,                          dst[0], dst_stride[0], image->y, image->u, image->v,
# Line 791  Line 807 
807                          interlacing?yv12_to_uyvyi_c:yv12_to_uyvy_c, 2);                          interlacing?yv12_to_uyvyi_c:yv12_to_uyvy_c, 2);
808                  return 0;                  return 0;
809    
810          case XVID_CSP_I420: /* YCrCb == internal colorspace for MPEG */          case XVID_CSP_YV12: /* YCbCr == internal colorspace for MPEG */
811                  yv12_to_yv12(dst[0], dst[0] + dst_stride[0]*height, dst[0] + dst_stride[0]*height + (dst_stride[0]/2)*height2,                  yv12_to_yv12(dst[0], dst[0] + dst_stride[0]*height, dst[0] + dst_stride[0]*height + (dst_stride[0]/2)*height2,
812                          dst_stride[0], dst_stride[0]/2,                          dst_stride[0], dst_stride[0]/2,
813                          image->y, image->u, image->v, edged_width, edged_width2,                          image->y, image->u, image->v, edged_width, edged_width2,
814                          width, height, (csp & XVID_CSP_VFLIP));                          width, height, (csp & XVID_CSP_VFLIP));
815                  return 0;                  return 0;
816    
817          case XVID_CSP_YV12:     /* YCbCr == U and V plane swapped */          case XVID_CSP_I420:     /* YCrCb == U and V plane swapped */
818                  yv12_to_yv12(dst[0], dst[0] + dst_stride[0]*height, dst[0] + dst_stride[0]*height + (dst_stride[0]/2)*height2,                  yv12_to_yv12(dst[0], dst[0] + dst_stride[0]*height, dst[0] + dst_stride[0]*height + (dst_stride[0]/2)*height2,
819                          dst_stride[0], dst_stride[0]/2,                          dst_stride[0], dst_stride[0]/2,
820                          image->y, image->v, image->u, edged_width, edged_width2,                          image->y, image->v, image->u, edged_width, edged_width2,
821                          width, height, (csp & XVID_CSP_VFLIP));                          width, height, (csp & XVID_CSP_VFLIP));
822                  return 0;                  return 0;
823    
824          case XVID_CSP_USER :  /* YCrCb with arbitrary pointers and different strides for Y and UV */          case XVID_CSP_PLANAR:  /* YCbCr with arbitrary pointers and different strides for Y and UV */
825                  yv12_to_yv12(dst[0], dst[1], dst[2],                  yv12_to_yv12(dst[0], dst[1], dst[2],
826                          dst_stride[0], dst_stride[1],   /* v: dst_stride[2] not yet supported */                          dst_stride[0], dst_stride[1],   /* v: dst_stride[2] not yet supported */
827                          image->y, image->u, image->v, edged_width, edged_width2,                          image->y, image->u, image->v, edged_width, edged_width2,

Legend:
Removed from v.1257  
changed lines
  Added in v.1344

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4