summaryrefslogtreecommitdiff
path: root/src/libmpeg2new/libmpeg2/uyvy.c
diff options
context:
space:
mode:
authorDarren Salt <linux@youmustbejoking.demon.co.uk>2009-01-12 20:23:42 +0000
committerDarren Salt <linux@youmustbejoking.demon.co.uk>2009-01-12 20:23:42 +0000
commit5574ccbb47739ee876dcd49bf8d9f0cfc2528d2a (patch)
treec527f49a7670a0b72c489f79f2b42128944fde3a /src/libmpeg2new/libmpeg2/uyvy.c
parent116675a95386a5f905e30bb1b87fa7302edd1c06 (diff)
downloadxine-lib-5574ccbb47739ee876dcd49bf8d9f0cfc2528d2a.tar.gz
xine-lib-5574ccbb47739ee876dcd49bf8d9f0cfc2528d2a.tar.bz2
Move libmpeg2new into src/video_dec.
--HG-- rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am rename : src/libmpeg2new/include/Makefile.am => src/video_dec/libmpeg2new/include/Makefile.am rename : src/libmpeg2new/include/alpha_asm.h => src/video_dec/libmpeg2new/include/alpha_asm.h rename : src/libmpeg2new/include/attributes.h => src/video_dec/libmpeg2new/include/attributes.h rename : src/libmpeg2new/include/mmx.h => src/video_dec/libmpeg2new/include/mmx.h rename : src/libmpeg2new/include/mpeg2.h => src/video_dec/libmpeg2new/include/mpeg2.h rename : src/libmpeg2new/include/mpeg2convert.h => src/video_dec/libmpeg2new/include/mpeg2convert.h rename : src/libmpeg2new/include/sse.h => src/video_dec/libmpeg2new/include/sse.h rename : src/libmpeg2new/include/tendra.h => src/video_dec/libmpeg2new/include/tendra.h rename : src/libmpeg2new/include/video_out.h => src/video_dec/libmpeg2new/include/video_out.h rename : src/libmpeg2new/include/vis.h => src/video_dec/libmpeg2new/include/vis.h rename : src/libmpeg2new/libmpeg2/Makefile.am => src/video_dec/libmpeg2new/libmpeg2/Makefile.am rename : src/libmpeg2new/libmpeg2/alloc.c => src/video_dec/libmpeg2new/libmpeg2/alloc.c rename : src/libmpeg2new/libmpeg2/configure.incl => src/video_dec/libmpeg2new/libmpeg2/configure.incl rename : src/libmpeg2new/libmpeg2/convert_internal.h => src/video_dec/libmpeg2new/libmpeg2/convert_internal.h rename : src/libmpeg2new/libmpeg2/cpu_accel.c => src/video_dec/libmpeg2new/libmpeg2/cpu_accel.c rename : src/libmpeg2new/libmpeg2/cpu_state.c => src/video_dec/libmpeg2new/libmpeg2/cpu_state.c rename : src/libmpeg2new/libmpeg2/decode.c => src/video_dec/libmpeg2new/libmpeg2/decode.c rename : src/libmpeg2new/libmpeg2/header.c => src/video_dec/libmpeg2new/libmpeg2/header.c rename : src/libmpeg2new/libmpeg2/idct.c => src/video_dec/libmpeg2new/libmpeg2/idct.c rename : src/libmpeg2new/libmpeg2/idct_alpha.c => src/video_dec/libmpeg2new/libmpeg2/idct_alpha.c rename : src/libmpeg2new/libmpeg2/idct_altivec.c => src/video_dec/libmpeg2new/libmpeg2/idct_altivec.c rename : src/libmpeg2new/libmpeg2/idct_mlib.c => src/video_dec/libmpeg2new/libmpeg2/idct_mlib.c rename : src/libmpeg2new/libmpeg2/idct_mmx.c => src/video_dec/libmpeg2new/libmpeg2/idct_mmx.c rename : src/libmpeg2new/libmpeg2/libmpeg2.pc.in => src/video_dec/libmpeg2new/libmpeg2/libmpeg2.pc.in rename : src/libmpeg2new/libmpeg2/libmpeg2convert.pc.in => src/video_dec/libmpeg2new/libmpeg2/libmpeg2convert.pc.in rename : src/libmpeg2new/libmpeg2/motion_comp.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp.c rename : src/libmpeg2new/libmpeg2/motion_comp_alpha.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_alpha.c rename : src/libmpeg2new/libmpeg2/motion_comp_altivec.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_altivec.c rename : src/libmpeg2new/libmpeg2/motion_comp_mlib.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_mlib.c rename : src/libmpeg2new/libmpeg2/motion_comp_mmx.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_mmx.c rename : src/libmpeg2new/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_vis.c rename : src/libmpeg2new/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2new/libmpeg2/mpeg2_internal.h rename : src/libmpeg2new/libmpeg2/rgb.c => src/video_dec/libmpeg2new/libmpeg2/rgb.c rename : src/libmpeg2new/libmpeg2/rgb_mmx.c => src/video_dec/libmpeg2new/libmpeg2/rgb_mmx.c rename : src/libmpeg2new/libmpeg2/rgb_vis.c => src/video_dec/libmpeg2new/libmpeg2/rgb_vis.c rename : src/libmpeg2new/libmpeg2/slice.c => src/video_dec/libmpeg2new/libmpeg2/slice.c rename : src/libmpeg2new/libmpeg2/uyvy.c => src/video_dec/libmpeg2new/libmpeg2/uyvy.c rename : src/libmpeg2new/libmpeg2/vlc.h => src/video_dec/libmpeg2new/libmpeg2/vlc.h rename : src/libmpeg2new/xine_mpeg2new_decoder.c => src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
Diffstat (limited to 'src/libmpeg2new/libmpeg2/uyvy.c')
-rw-r--r--src/libmpeg2new/libmpeg2/uyvy.c123
1 files changed, 0 insertions, 123 deletions
diff --git a/src/libmpeg2new/libmpeg2/uyvy.c b/src/libmpeg2new/libmpeg2/uyvy.c
deleted file mode 100644
index 7f107ffad..000000000
--- a/src/libmpeg2new/libmpeg2/uyvy.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * uyvy.c
- * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org>
- * Copyright (C) 2003 Regis Duchesne <hpreg@zoy.org>
- * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca>
- *
- * This file is part of mpeg2dec, a free MPEG-2 video stream decoder.
- * See http://libmpeg2.sourceforge.net/ for updates.
- *
- * mpeg2dec is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * mpeg2dec is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "config.h"
-
-#include <inttypes.h>
-
-#include "mpeg2.h"
-#include "mpeg2convert.h"
-
-typedef struct {
- int width;
- int stride;
- int chroma420;
- uint8_t * out;
-} convert_uyvy_t;
-
-static void uyvy_start (void * _id, const mpeg2_fbuf_t * fbuf,
- const mpeg2_picture_t * picture,
- const mpeg2_gop_t * gop)
-{
- convert_uyvy_t * instance = (convert_uyvy_t *) _id;
-
- instance->out = fbuf->buf[0];
- instance->stride = instance->width;
- if (picture->nb_fields == 1) {
- if (! (picture->flags & PIC_FLAG_TOP_FIELD_FIRST))
- instance->out += 2 * instance->stride;
- instance->stride <<= 1;
- }
-}
-
-#ifdef WORDS_BIGENDIAN
-#define PACK(a,b,c,d) (((a) << 24) | ((b) << 16) | ((c) << 8) | (d))
-#else
-#define PACK(a,b,c,d) (((d) << 24) | ((c) << 16) | ((b) << 8) | (a))
-#endif
-
-static void uyvy_copy (void * const _id, uint8_t * const * src,
- const unsigned int v_offset)
-{
- const convert_uyvy_t * const id = (convert_uyvy_t *) _id;
- uint8_t * _dst;
- uint8_t * py, * pu, * pv;
- int i, j;
-
- _dst = id->out + 2 * id->stride * v_offset;
- py = src[0]; pu = src[1]; pv = src[2];
-
- i = 16;
- do {
- uint32_t * dst = (uint32_t *) _dst;
-
- j = id->width >> 4;
- do {
- dst[0] = PACK (pu[0], py[0], pv[0], py[1]);
- dst[1] = PACK (pu[1], py[2], pv[1], py[3]);
- dst[2] = PACK (pu[2], py[4], pv[2], py[5]);
- dst[3] = PACK (pu[3], py[6], pv[3], py[7]);
- dst[4] = PACK (pu[4], py[8], pv[4], py[9]);
- dst[5] = PACK (pu[5], py[10], pv[5], py[11]);
- dst[6] = PACK (pu[6], py[12], pv[6], py[13]);
- dst[7] = PACK (pu[7], py[14], pv[7], py[15]);
- py += 16;
- pu += 8;
- pv += 8;
- dst += 8;
- } while (--j);
- py -= id->width;
- pu -= id->width >> 1;
- pv -= id->width >> 1;
- _dst += 2 * id->stride;
- py += id->stride;
- if (! (--i & id->chroma420)) {
- pu += id->stride >> 1;
- pv += id->stride >> 1;
- }
- } while (i);
-}
-
-int mpeg2convert_uyvy (int stage, void * _id, const mpeg2_sequence_t * seq,
- int stride, uint32_t accel, void * arg,
- mpeg2_convert_init_t * result)
-{
- convert_uyvy_t * instance = (convert_uyvy_t *) _id;
-
- if (seq->chroma_width == seq->width)
- return 1;
-
- if (instance) {
- instance->width = seq->width;
- instance->chroma420 = (seq->chroma_height < seq->height);
- result->buf_size[0] = seq->width * seq->height * 2;
- result->buf_size[1] = result->buf_size[2] = 0;
- result->start = uyvy_start;
- result->copy = uyvy_copy;
- } else {
- result->id_size = sizeof (convert_uyvy_t);
- }
-
- return 0;
-}