Mercurial > libavcodec.hg
changeset 852:c01c98206ee6 libavcodec
* useless commit - ignore
author | kabi |
---|---|
date | Mon, 11 Nov 2002 09:37:40 +0000 |
parents | a25aed263097 |
children | eacc2dd8fd9d |
files | avcodec.c |
diffstat | 1 files changed, 20 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/avcodec.c Mon Nov 11 09:31:17 2002 +0000 +++ b/avcodec.c Mon Nov 11 09:37:40 2002 +0000 @@ -8,12 +8,16 @@ // 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 +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 @@ -23,7 +27,7 @@ } lc[] = { { CODEC_ID_H263, { MKTAG('U', '2', '6', '3'), 0 } }, { CODEC_ID_H263I, { MKTAG('I', '2', '6', '3'), 0 } }, - { CODEC_ID_MSMPEG4, { MKTAG('D', 'I', 'V', '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 } }, @@ -51,10 +55,22 @@ private_handle_t* t = malloc(sizeof(private_handle_t)); if (!t) return NULL; + memset(t, 0, sizeof(*t)); // register and fill - avcodec_init(); - avcodec_register_all(); + 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; }