diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-22 23:24:00 +0100 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-22 23:24:00 +0100 |
commit | b7a18f2d1b7afe26d1816621178a52c527d773f4 (patch) | |
tree | dfdbacdb9c0ffcb3bec42d99ceea509417dc8047 /src/libmpeg2/xine_mpeg2_decoder.c | |
parent | 0ff96f3986d9c31edd14182e22b498a674571f9c (diff) | |
download | xine-lib-b7a18f2d1b7afe26d1816621178a52c527d773f4.tar.gz xine-lib-b7a18f2d1b7afe26d1816621178a52c527d773f4.tar.bz2 |
Move libmpeg2 inside video_dec/libmpeg2.
--HG--
rename : src/libmpeg2/Makefile.am => src/video_dec/libmpeg2/Makefile.am
rename : src/libmpeg2/cpu_state.c => src/video_dec/libmpeg2/cpu_state.c
rename : src/libmpeg2/decode.c => src/video_dec/libmpeg2/decode.c
rename : src/libmpeg2/header.c => src/video_dec/libmpeg2/header.c
rename : src/libmpeg2/idct.c => src/video_dec/libmpeg2/idct.c
rename : src/libmpeg2/idct_altivec.c => src/video_dec/libmpeg2/idct_altivec.c
rename : src/libmpeg2/idct_mlib.c => src/video_dec/libmpeg2/idct_mlib.c
rename : src/libmpeg2/idct_mlib.h => src/video_dec/libmpeg2/idct_mlib.h
rename : src/libmpeg2/idct_mmx.c => src/video_dec/libmpeg2/idct_mmx.c
rename : src/libmpeg2/libmpeg2_accel.c => src/video_dec/libmpeg2/libmpeg2_accel.c
rename : src/libmpeg2/libmpeg2_accel.h => src/video_dec/libmpeg2/libmpeg2_accel.h
rename : src/libmpeg2/motion_comp.c => src/video_dec/libmpeg2/motion_comp.c
rename : src/libmpeg2/motion_comp_altivec.c => src/video_dec/libmpeg2/motion_comp_altivec.c
rename : src/libmpeg2/motion_comp_mlib.c => src/video_dec/libmpeg2/motion_comp_mlib.c
rename : src/libmpeg2/motion_comp_mmx.c => src/video_dec/libmpeg2/motion_comp_mmx.c
rename : src/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2/motion_comp_vis.c
rename : src/libmpeg2/mpeg2.h => src/video_dec/libmpeg2/mpeg2.h
rename : src/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2/mpeg2_internal.h
rename : src/libmpeg2/slice.c => src/video_dec/libmpeg2/slice.c
rename : src/libmpeg2/slice_xvmc.c => src/video_dec/libmpeg2/slice_xvmc.c
rename : src/libmpeg2/slice_xvmc_vld.c => src/video_dec/libmpeg2/slice_xvmc_vld.c
rename : src/libmpeg2/stats.c => src/video_dec/libmpeg2/stats.c
rename : src/libmpeg2/vis.h => src/video_dec/libmpeg2/vis.h
rename : src/libmpeg2/vlc.h => src/video_dec/libmpeg2/vlc.h
rename : src/libmpeg2/xine_mpeg2_decoder.c => src/video_dec/libmpeg2/xine_mpeg2_decoder.c
rename : src/libmpeg2/xvmc.h => src/video_dec/libmpeg2/xvmc.h
rename : src/libmpeg2/xvmc_vld.h => src/video_dec/libmpeg2/xvmc_vld.h
Diffstat (limited to 'src/libmpeg2/xine_mpeg2_decoder.c')
-rw-r--r-- | src/libmpeg2/xine_mpeg2_decoder.c | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/src/libmpeg2/xine_mpeg2_decoder.c b/src/libmpeg2/xine_mpeg2_decoder.c deleted file mode 100644 index 3a3e28452..000000000 --- a/src/libmpeg2/xine_mpeg2_decoder.c +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (C) 2000-2003 the xine project - * - * This file is part of xine, a free video player. - * - * xine 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. - * - * xine 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - * - * stuff needed to turn libmpeg2 into a xine decoder plugin - */ - - -#include <stdlib.h> -#include <string.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> - -#define LOG_MODULE "mpeg2_decoder" -#define LOG_VERBOSE -/* -#define LOG -*/ - -#include <xine/xine_internal.h> -#include <xine/video_out.h> -#include "mpeg2.h" -#include "mpeg2_internal.h" -#include <xine/buffer.h> - -typedef struct { - video_decoder_class_t decoder_class; -} mpeg2_class_t; - - -typedef struct mpeg2dec_decoder_s { - video_decoder_t video_decoder; - mpeg2dec_t mpeg2; - mpeg2_class_t *class; - xine_stream_t *stream; -} mpeg2dec_decoder_t; - -static void mpeg2dec_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { - mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; - - lprintf ("decode_data, flags=0x%08x ...\n", buf->decoder_flags); - - /* handle aspect hints from xine-dvdnav */ - if (buf->decoder_flags & BUF_FLAG_SPECIAL) { - if (buf->decoder_info[1] == BUF_SPECIAL_ASPECT) { - this->mpeg2.force_aspect = buf->decoder_info[2]; - if (buf->decoder_info[3] == 0x1 && buf->decoder_info[2] == 3) - /* letterboxing is denied, we have to do pan&scan */ - this->mpeg2.force_pan_scan = 1; - else - this->mpeg2.force_pan_scan = 0; - } - return; - } - - if (buf->decoder_flags & BUF_FLAG_PREVIEW) { - mpeg2_find_sequence_header (&this->mpeg2, buf->content, buf->content + buf->size); - } else { - - mpeg2_decode_data (&this->mpeg2, buf->content, buf->content + buf->size, - buf->pts); - } - - lprintf ("decode_data...done\n"); -} - -static void mpeg2dec_flush (video_decoder_t *this_gen) { - mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; - - lprintf ("flush\n"); - - mpeg2_flush (&this->mpeg2); -} - -static void mpeg2dec_reset (video_decoder_t *this_gen) { - mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; - - mpeg2_reset (&this->mpeg2); -} - -static void mpeg2dec_discontinuity (video_decoder_t *this_gen) { - mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; - - mpeg2_discontinuity (&this->mpeg2); -} - -static void mpeg2dec_dispose (video_decoder_t *this_gen) { - - mpeg2dec_decoder_t *this = (mpeg2dec_decoder_t *) this_gen; - - lprintf ("close\n"); - - mpeg2_close (&this->mpeg2); - - this->stream->video_out->close(this->stream->video_out, this->stream); - - free (this); -} - -static video_decoder_t *open_plugin (video_decoder_class_t *class_gen, xine_stream_t *stream) { - mpeg2dec_decoder_t *this ; - - this = (mpeg2dec_decoder_t *) xine_xmalloc (sizeof (mpeg2dec_decoder_t)); - - this->video_decoder.decode_data = mpeg2dec_decode_data; - this->video_decoder.flush = mpeg2dec_flush; - this->video_decoder.reset = mpeg2dec_reset; - this->video_decoder.discontinuity = mpeg2dec_discontinuity; - this->video_decoder.dispose = mpeg2dec_dispose; - this->stream = stream; - this->class = (mpeg2_class_t *) class_gen; - this->mpeg2.stream = stream; - - mpeg2_init (&this->mpeg2, stream->video_out); - (stream->video_out->open) (stream->video_out, stream); - this->mpeg2.force_aspect = this->mpeg2.force_pan_scan = 0; - - return &this->video_decoder; -} - -/* - * mpeg2 plugin class - */ -static void *init_plugin (xine_t *xine, void *data) { - - mpeg2_class_t *this; - - this = (mpeg2_class_t *) xine_xmalloc (sizeof (mpeg2_class_t)); - - this->decoder_class.open_plugin = open_plugin; - this->decoder_class.identifier = "mpeg2dec"; - this->decoder_class.description = N_("mpeg2 based video decoder plugin"); - this->decoder_class.dispose = default_video_decoder_class_dispose; - - return this; -} -/* - * exported plugin catalog entry - */ - -static uint32_t supported_types[] = { BUF_VIDEO_MPEG, 0 }; - -static const decoder_info_t dec_info_mpeg2 = { - supported_types, /* supported types */ - 7 /* priority */ -}; - -const plugin_info_t xine_plugin_info[] EXPORTED = { - /* type, API, "name", version, special_info, init_function */ - { PLUGIN_VIDEO_DECODER, 19, "mpeg2", XINE_VERSION_CODE, &dec_info_mpeg2, init_plugin }, - { PLUGIN_NONE, 0, "", 0, NULL, NULL } -}; |