changeset 2279:cadd9e82b362 libavcodec

broken mess removial
author michael
date Wed, 29 Sep 2004 23:12:16 +0000
parents 870597ca3e7a
children 785b6b4682b5
files avcodec.c avcodec.h
diffstat 2 files changed, 0 insertions(+), 249 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.c	Tue Sep 28 23:31:59 2004 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/**
- * @file avcodec.c
- * avcodec.
- */
-
-#include "errno.h"
-#include "avcodec.h"
-
-#ifndef MKTAG
-#define MKTAG(a,b,c,d) (a | (b << 8) | (c << 16) | (d << 24))
-#endif
-
-// private structure used to hide all internal memory allocations
-// and structures used for de/encoding - end user should
-// never see any complicated structure
-typedef struct private_handle
-{
-    AVCodec* avcodec;
-    AVCodecContext avcontext;
-    struct private_handle* next;
-    struct private_handle* prev;
-} private_handle_t;
-
-static private_handle_t* handle_first = 0;
-
-static AVCodec* avcodec_find_by_fcc(uint32_t fcc)
-{
-    // translation table
-    static const struct fcc_to_avcodecid {
-	enum CodecID codec;
-	uint32_t list[4]; // maybe we could map more fcc to same codec
-    } lc[] = {
-	{ CODEC_ID_H263, { MKTAG('U', '2', '6', '3'), 0 } },
-	{ CODEC_ID_H263I, { MKTAG('I', '2', '6', '3'), 0 } },
-	{ CODEC_ID_MSMPEG4V3, { MKTAG('D', 'I', 'V', '3'), 0 } },
-	{ CODEC_ID_MPEG4, { MKTAG('D', 'I', 'V', 'X'),  MKTAG('D', 'X', '5', '0'), 0 } },
-	{ CODEC_ID_MSMPEG4V2, { MKTAG('M', 'P', '4', '2'), 0 } },
-	{ CODEC_ID_MJPEG, { MKTAG('M', 'J', 'P', 'G'), 0 } },
-	{ CODEC_ID_MPEG1VIDEO, { MKTAG('P', 'I', 'M', '1'), 0 } },
-	{ CODEC_ID_AC3, { 0x2000, 0 } },
-	{ CODEC_ID_DTS, { 0x10, 0 } },
-	{ CODEC_ID_MP2, { 0x50, 0x55, 0 } },
-	{ CODEC_ID_FLV1, { MKTAG('F', 'L', 'V', '1'), 0 } },
-
-	{ CODEC_ID_NONE, {0}}
-    };
-    const struct fcc_to_avcodecid* c;
-
-    for (c = lc; c->codec != CODEC_ID_NONE; c++)
-    {
-	int i = 0;
-	while (c->list[i] != 0)
-	    if (c->list[i++] == fcc)
-		return avcodec_find_decoder(c->codec);
-    }
-
-    return NULL;
-}
-
-static private_handle_t* create_handle(void)
-{
-    private_handle_t* t = av_malloc(sizeof(private_handle_t));
-    if (!t)
-	return NULL;
-    memset(t, 0, sizeof(*t));
-
-    // register and fill
-    if (!handle_first)
-    {
-	avcodec_init();
-	avcodec_register_all();
-        handle_first = t;
-    }
-    else
-    {
-        t->prev = handle_first->next;
-	handle_first->next = t;
-	t->next = handle_first;
-    }
-
-    return t;
-}
-
-static void destroy_handle(private_handle_t* handle)
-{
-    if (handle)
-    {
-	if (handle->avcodec)
-	{
-	    avcodec_close(&handle->avcontext);
-	}
-	av_free(handle);
-
-        // count referencies
-    }
-}
-
-int avcodec(void* handle, avc_cmd_t cmd, void* pin, void* pout)
-{
-    AVCodecContext* ctx = handle;
-    switch (cmd)
-    {
-    case AVC_OPEN_BY_NAME:
-	{
-            // pin  char* codec name
-	    private_handle_t* h = create_handle();
-	    (private_handle_t**)pout = h;
-	    if (!h)
-		return -ENOMEM;
-	    if (!h->avcodec)
-	    {
-		destroy_handle(h);
-		(private_handle_t**)pout = NULL;
-		return -1;// better error
-	    }
-            return 0;
-	}
-    case AVC_OPEN_BY_CODEC_ID:
-	{
-            // pin  uint32_t codec fourcc
-	    private_handle_t* h = create_handle();
-	    (private_handle_t**)pout = h;
-	    if (!h)
-		return -ENOMEM;
-
-	    if (!h->avcodec)
-	    {
-		destroy_handle(h);
-		(private_handle_t**)pout = NULL;
-		return -1;// better error
-	    }
-            return 0;
-	}
-    case AVC_OPEN_BY_FOURCC:
-	{
-            // pin  uint32_t codec fourcc
-	    private_handle_t* h = create_handle();
-	    (private_handle_t**)pout = h;
-	    if (!h)
-		return -ENOMEM;
-	    h->avcodec = avcodec_find_by_fcc((uint32_t) pin);
-	    if (!h->avcodec)
-	    {
-		destroy_handle(h);
-		(private_handle_t**)pout = NULL;
-		return -1;// better error
-	    }
-            return 0;
-	}
-    case AVC_CLOSE:
-	// uninit part
-	// eventually close all allocated space if this was last
-	// instance
-	destroy_handle(handle);
-	break;
-
-    case AVC_FLUSH:
-	break;
-
-    case AVC_DECODE:
-	break;
-
-    case AVC_ENCODE:
-	break;
-
-    case AVC_GET_VERSION:
-        (int*) pout = 500;
-    default:
-	return -1;
-
-    }
-    return 0;
-}
--- a/avcodec.h	Tue Sep 28 23:31:59 2004 +0000
+++ b/avcodec.h	Wed Sep 29 23:12:16 2004 +0000
@@ -2103,82 +2103,6 @@
  */
 int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding);
 
-/**
- * Interface for 0.5.0 version
- *
- * do not even think about it's usage for this moment
- */
-
-typedef struct {
-    /// compressed size used from given memory buffer
-    int size;
-    /// I/P/B frame type
-    int frame_type;
-} avc_enc_result_t;
-
-/**
- * Commands
- * order can't be changed - once it was defined
- */
-typedef enum {
-    // general commands
-    AVC_OPEN_BY_NAME = 0xACA000,
-    AVC_OPEN_BY_CODEC_ID,
-    AVC_OPEN_BY_FOURCC,
-    AVC_CLOSE,
-
-    AVC_FLUSH,
-    // pin - struct { uint8_t* src, uint_t src_size }
-    // pout - struct { AVPicture* img, consumed_bytes,
-    AVC_DECODE,
-    // pin - struct { AVPicture* img, uint8_t* dest, uint_t dest_size }
-    // pout - uint_t used_from_dest_size
-    AVC_ENCODE, 
-
-    // query/get video commands
-    AVC_GET_VERSION = 0xACB000,
-    AVC_GET_WIDTH,
-    AVC_GET_HEIGHT,
-    AVC_GET_DELAY,
-    AVC_GET_QUANT_TABLE,
-    // ...
-
-    // query/get audio commands
-    AVC_GET_FRAME_SIZE = 0xABC000,
-
-    // maybe define some simple structure which
-    // might be passed to the user - but they can't
-    // contain any codec specific parts and these
-    // calls are usualy necessary only few times
-
-    // set video commands
-    AVC_SET_WIDTH = 0xACD000,
-    AVC_SET_HEIGHT,
-
-    // set video encoding commands
-    AVC_SET_FRAME_RATE = 0xACD800,
-    AVC_SET_QUALITY,
-    AVC_SET_HURRY_UP,
-
-    // set audio commands
-    AVC_SET_SAMPLE_RATE = 0xACE000,
-    AVC_SET_CHANNELS,
-
-} avc_cmd_t;
-
-/**
- * \param handle  allocated private structure by libavcodec
- *                for initialization pass NULL - will be returned pout
- *                user is supposed to know nothing about its structure
- * \param cmd     type of operation to be performed
- * \param pint    input parameter
- * \param pout    output parameter
- *
- * \returns  command status - eventually for query command it might return
- * integer resulting value
- */
-int avcodec(void* handle, avc_cmd_t cmd, void* pin, void* pout);
-
 /* frame parsing */
 typedef struct AVCodecParserContext {
     void *priv_data;