]> granicus.if.org Git - handbrake/commitdiff
Bad Copy...
authorprigaux <pri@nopapers.org>
Thu, 18 Jan 2007 10:33:18 +0000 (10:33 +0000)
committerprigaux <pri@nopapers.org>
Thu, 18 Jan 2007 10:33:18 +0000 (10:33 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/branches/PixelRatioWorking@159 b64f7644-9d1e-0410-96f1-a4d463321fa5

decavcodec.c [deleted file]

diff --git a/decavcodec.c b/decavcodec.c
deleted file mode 100644 (file)
index 4d74fc6..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/* $Id: decavcodec.c,v 1.6 2005/03/06 04:08:54 titer Exp $
-
-   This file is part of the HandBrake source code.
-   Homepage: <http://handbrake.m0k.org/>.
-   It may be used under the terms of the GNU General Public License. */
-
-#include "hb.h"
-
-#include "ffmpeg/avcodec.h"
-
-int  decavcodecInit( hb_work_object_t *, hb_job_t * );
-int  decavcodecWork( hb_work_object_t *, hb_buffer_t **, hb_buffer_t ** );
-void decavcodecClose( hb_work_object_t * );
-
-hb_work_object_t hb_decavcodec =
-{
-    WORK_DECAVCODEC,
-    "MPGA decoder (libavcodec)",
-    decavcodecInit,
-    decavcodecWork,
-    decavcodecClose
-};
-
-struct hb_work_private_s
-{
-    hb_job_t       * job;
-
-    AVCodecContext * context;
-    int64_t          pts_last;
-};
-
-
-/***********************************************************************
- * hb_work_decavcodec_init
- ***********************************************************************
- *
- **********************************************************************/
-int decavcodecInit( hb_work_object_t * w, hb_job_t * job )
-{
-    AVCodec * codec;
-    hb_work_private_t * pv = calloc( 1, sizeof( hb_work_private_t ) );
-    w->private_data = pv;
-
-    pv->job   = job;
-
-    codec = avcodec_find_decoder( CODEC_ID_MP2 );
-    pv->context = avcodec_alloc_context();
-    avcodec_open( pv->context, codec );
-    pv->pts_last = -1;
-
-    return 0;
-}
-
-/***********************************************************************
- * Close
- ***********************************************************************
- *
- **********************************************************************/
-void decavcodecClose( hb_work_object_t * w )
-{
-    hb_work_private_t * pv = w->private_data;
-    avcodec_close( pv->context );
-}
-
-/***********************************************************************
- * Work
- ***********************************************************************
- *
- **********************************************************************/
-int decavcodecWork( hb_work_object_t * w, hb_buffer_t ** buf_in,
-                    hb_buffer_t ** buf_out )
-{
-    hb_work_private_t * pv = w->private_data;
-    hb_buffer_t * in = *buf_in, * buf, * last = NULL;
-    int   pos, len, out_size, i;
-    short buffer[AVCODEC_MAX_AUDIO_FRAME_SIZE];
-    uint64_t cur;
-
-    *buf_out = NULL;
-
-    if( in->start < 0 ||
-        ( pv->pts_last > 0 &&
-          in->start > pv->pts_last &&
-          in->start - pv->pts_last < 5000 ) ) /* Hacky */
-    {
-        cur = pv->pts_last;
-    }
-    else
-    {
-        cur = in->start;
-    }
-
-    pos = 0;
-    while( pos < in->size )
-    {
-        len = avcodec_decode_audio( pv->context, buffer, &out_size,
-                                    in->data + pos, in->size - pos );
-        if( out_size )
-        {
-            short * s16;
-            float * fl32;
-
-            buf = hb_buffer_init( 2 * out_size );
-
-            buf->start = cur;
-            buf->stop  = cur + 90000 * ( out_size / 4 ) /
-                         pv->context->sample_rate;
-            cur = buf->stop;
-
-            s16  = buffer;
-            fl32 = (float *) buf->data;
-            for( i = 0; i < out_size / 2; i++ )
-            {
-                fl32[i] = s16[i];
-            }
-
-            if( last )
-            {
-                last = last->next = buf;
-            }
-            else
-            {
-                *buf_out = last = buf;
-            }
-        }
-
-        pos += len;
-    }
-
-    pv->pts_last = cur;
-
-    return HB_WORK_OK;
-}
-