Commit 5a8df6b0 authored by Laurent Aimar's avatar Laurent Aimar

* all: removed old encoding way.

parent ecc97852
......@@ -71,7 +71,6 @@ HEADERS_include = \
include/darwin_specific.h \
include/charset.h \
include/codecs.h \
include/encoder.h \
include/ninput.h \
include/input_ext-dec.h \
include/input_ext-intf.h \
......
dnl Autoconf settings for vlc
dnl $Id: configure.ac,v 1.69 2003/08/27 08:27:52 gbazin Exp $
dnl $Id: configure.ac,v 1.70 2003/08/29 19:50:12 fenrir Exp $
AC_INIT(vlc,0.6.3-cvs)
......@@ -1621,11 +1621,6 @@ then
fi
fi
dnl Duplicate the ffmpeg CPPFLAGS and LDFLAGS for the encoder
AX_ADD_CPPFLAGS([encoder_ffmpeg],[${CPPFLAGS_ffmpeg}])
dnl XXX: we don't link with -lavcodec blah blah blah
dnl AX_ADD_LDFLAGS([encoder_ffmpeg],[${LDFLAGS_ffmpeg}])
ac_have_vorbis_headers=yes
AC_CHECK_HEADERS(vorbis/vorbisenc.h vorbis/codec.h,,
ac_have_vorbis_headers=no)
......@@ -1743,10 +1738,6 @@ then
LDFLAGS="${LDFLAGS_save}"
CPPFLAGS="${CPPFLAGS_save}"
fi
dnl Duplicate the xvid CPPFLAGS and LDFLAGS for the encoder
AX_ADD_LDFLAGS([encoder_xvid],[${LDFLAGS_xvid}])
AX_ADD_CPPFLAGS([encoder_xvid],[${CPPFLAGS_xvid}])
fi
dnl
......@@ -3318,8 +3309,6 @@ AC_OUTPUT([
modules/demux/mp4/Makefile
modules/demux/mpeg/Makefile
modules/demux/util/Makefile
modules/encoder/Makefile
modules/encoder/ffmpeg/Makefile
modules/gui/Makefile
modules/gui/beos/Makefile
modules/gui/pda/Makefile
......
/*****************************************************************************
* encoder.h :
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: encoder.h,v 1.1 2003/01/22 10:41:57 fenrir Exp $
*
* Authors: Laurent Aimar <fenrir@via.ecp.fr>
*
* This program 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.
*
* This program 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, USA.
*****************************************************************************/
#ifndef _ENCODER_H
#define _ENCODER_H
typedef struct encoder_sys_t encoder_sys_t;
typedef struct video_encoder_s
{
VLC_COMMON_MEMBERS
module_t * p_module;
vlc_fourcc_t i_codec; /* in */
vlc_fourcc_t i_chroma; /* in/out */
int i_width; /* in/out */
int i_height; /* in/out */
int i_aspect; /* in/out */
size_t i_buffer_size; /* in/out */
encoder_sys_t *p_sys;
int (*pf_init) ( struct video_encoder_s *p_enc );
int (*pf_encode) ( struct video_encoder_s *p_enc, picture_t *p_pic, void *p_data, size_t *pi_data );
void (*pf_end) ( struct video_encoder_s *p_enc );
} video_encoder_t;
/*
* Video decoder:
*
* = at loading a video decoder must
* * see if i_codec is supporte, if not => failling
* * modify i_width/i_height/i_chroma/i_aspect if required (for example,
* if a video codec required %8 size)
* * init/check the library
* * set pf_init, pf_encode and pf_end
* * set i_buffer_size to the max buffer size required to output a single frame
*
* = pf_init must
* * start encoding processing
* * doesn't change any parameters (i_chroma/i_width/i_height/i_aspect)
* * check for passed parameters (no one for the moment)
*
* = pf_encode must
* * encode a single frame
* * doesn't change any parameters (...)
* * doesn't look for passed paramters
*
* = pf_end must
* * end the encoding process
* * revert all that pf_init (and pf_encode) has done (memory...)
*
* = at unloading, a video decoder must revert all that was done while loading
*
* XXX: pf_init/pf_end could be called multiple time without the plugin unloaded.
* XXX: all memory allocated by video encoder MUST be unallocated by video encoder
*
*/
#endif
.deps
.dirstamp
*.lo
*.la
*.dll
*.dylib
*.sl
*.so
Makefile.am
Makefile.in
Makefile
SOURCES_encoder_xvid = xvid.c
.deps
.dirstamp
*.lo
*.la
*.dll
*.dylib
*.sl
*.so
Makefile.am
Makefile.in
Makefile
SOURCES_encoder_ffmpeg = \
encoder.c \
video.c \
audio.c \
$(NULL)
/*****************************************************************************
* audio.c : audio encoder using ffmpeg library
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: audio.c,v 1.2 2003/04/20 11:57:13 gbazin Exp $
*
* Authors: Laurent Aimar
*
* This program 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.
*
* This program 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, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/vout.h>
#include <vlc/input.h>
#include <vlc/decoder.h>
#include <stdlib.h>
#include "codecs.h"
/* ffmpeg header */
#ifdef HAVE_FFMPEG_AVCODEC_H
# include <ffmpeg/avcodec.h>
#else
# include <avcodec.h>
#endif
/*****************************************************************************
* Local prototypes
*****************************************************************************/
int E_( OpenEncoderAudio ) ( vlc_object_t * );
void E_( CloseEncoderAudio )( vlc_object_t * );
struct encoder_sys_t
{
void *audio_handle;
};
int E_( OpenEncoderAudio ) ( vlc_object_t *p_this )
{
return VLC_EGENERIC;
}
void E_( CloseEncoderAudio )( vlc_object_t *p_this )
{
;
}
/*****************************************************************************
* encoder.c : audio/video encoder using ffmpeg library
*****************************************************************************
* Copyright (C) 2002 VideoLAN
* $Id: encoder.c,v 1.4 2003/04/27 23:16:35 gbazin Exp $
*
* Authors: Laurent Aimar
*
* This program 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.
*
* This program 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, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
#include <vlc/vlc.h>
#include <vlc/vout.h>
#include <vlc/input.h>
#include <vlc/decoder.h>
#include <stdlib.h>
#include "codecs.h"
#include "encoder.h"
/*****************************************************************************
* Local prototypes
*****************************************************************************/
int E_( OpenEncoderVideo )( vlc_object_t * );
void E_( CloseEncoderVideo )( vlc_object_t * );
int E_( OpenEncoderAudio ) ( vlc_object_t * );
void E_( CloseEncoderAudio )( vlc_object_t * );
/*****************************************************************************
* Module descriptor
*****************************************************************************/
vlc_module_begin();
set_description( _("ffmpeg video encoder") );
add_shortcut( "ffmpeg" );
set_capability( "video encoder", 100 );
set_callbacks( E_( OpenEncoderVideo ), E_( CloseEncoderVideo ) );
add_category_hint( "video setting", NULL, VLC_TRUE );
add_integer( "encoder-ffmpeg-video-bitrate", 1000, NULL, "bitrate (kb/s)", "bitrate (kb/s)", VLC_TRUE );
add_integer( "encoder-ffmpeg-video-max-key-interval", 10, NULL, "max key interval", "maximum value of frames between two keyframes", VLC_TRUE );
add_integer( "encoder-ffmpeg-video-min-quant", 2, NULL, "min quantizer", "range 1-31", VLC_TRUE );
add_integer( "encoder-ffmpeg-video-max-quant", 31, NULL, "max quantizer", "range 1-31", VLC_TRUE );
add_submodule();
set_description( _("ffmpeg audio encoder") );
set_capability( "audio encoder", 50 );
set_callbacks( E_( OpenEncoderAudio ), E_( CloseEncoderAudio ) );
add_category_hint( "audio setting", NULL, VLC_TRUE );
add_integer( "encoder-ffmpeg-audio-bitrate", 64, NULL, "bitrate (kb/s)", "bitrate (kb/s)", VLC_TRUE );
vlc_module_end();
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment