| FFmpeg
    | 
Sierra VMD audio & video decoders by Vladimir "VAG" Gneushev (vagsoft at mail.ru) for more information on the Sierra VMD format, visit: http://www.pcisys.net/~melanson/codecs/. More...
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "libavutil/channel_layout.h"#include "libavutil/common.h"#include "libavutil/intreadwrite.h"#include "avcodec.h"#include "internal.h"Go to the source code of this file.
| Data Structures | |
| struct | VmdVideoContext | 
| struct | VmdAudioContext | 
| Macros | |
| #define | VMD_HEADER_SIZE 0x330 | 
| #define | PALETTE_COUNT 256 | 
| #define | QUEUE_SIZE 0x1000 | 
| #define | QUEUE_MASK 0x0FFF | 
| #define | BLOCK_TYPE_AUDIO 1 | 
| #define | BLOCK_TYPE_INITIAL 2 | 
| #define | BLOCK_TYPE_SILENCE 3 | 
| Functions | |
| static void | lz_unpack (const unsigned char *src, int src_len, unsigned char *dest, int dest_len) | 
| static int | rle_unpack (const unsigned char *src, int src_len, int src_count, unsigned char *dest, int dest_len) | 
| static void | vmd_decode (VmdVideoContext *s) | 
| static av_cold int | vmdvideo_decode_init (AVCodecContext *avctx) | 
| static int | vmdvideo_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) | 
| static av_cold int | vmdvideo_decode_end (AVCodecContext *avctx) | 
| static av_cold int | vmdaudio_decode_init (AVCodecContext *avctx) | 
| static void | decode_audio_s16 (int16_t *out, const uint8_t *buf, int buf_size, int channels) | 
| static int | vmdaudio_decode_frame (AVCodecContext *avctx, void *data, int *got_frame_ptr, AVPacket *avpkt) | 
| Variables | |
| static const uint16_t | vmdaudio_table [128] | 
| AVCodec | ff_vmdvideo_decoder | 
| AVCodec | ff_vmdaudio_decoder | 
Sierra VMD audio & video decoders by Vladimir "VAG" Gneushev (vagsoft at mail.ru) for more information on the Sierra VMD format, visit: http://www.pcisys.net/~melanson/codecs/.
The video decoder outputs PAL8 colorspace data. The decoder expects a 0x330-byte VMD file header to be transmitted via extradata during codec initialization. Each encoded frame that is sent to this decoder is expected to be prepended with the appropriate 16-byte frame information record from the VMD file.
The audio decoder, like the video decoder, expects each encoded data chunk to be prepended with the appropriate 16-byte frame information record from the VMD file. It does not require the 0x330-byte VMD file header, but it does need the audio setup parameters passed in through normal libavcodec API means.
Definition in file vmdav.c.
| #define VMD_HEADER_SIZE 0x330 | 
Definition at line 52 of file vmdav.c.
Referenced by vmdvideo_decode_init().
| #define PALETTE_COUNT 256 | 
Definition at line 53 of file vmdav.c.
Referenced by vmd_decode(), vmdvideo_decode_frame(), and vmdvideo_decode_init().
| #define QUEUE_SIZE 0x1000 | 
Definition at line 75 of file vmdav.c.
Referenced by lz_unpack().
| #define QUEUE_MASK 0x0FFF | 
Definition at line 76 of file vmdav.c.
Referenced by lz_unpack().
| #define BLOCK_TYPE_INITIAL 2 | 
Definition at line 468 of file vmdav.c.
Referenced by vmdaudio_decode_frame().
| #define BLOCK_TYPE_SILENCE 3 | 
Definition at line 469 of file vmdav.c.
Referenced by vmdaudio_decode_frame().
| 
 | static | 
Definition at line 78 of file vmdav.c.
Referenced by vmd_decode().
| 
 | static | 
Definition at line 159 of file vmdav.c.
Referenced by vmd_decode().
| 
 | static | 
Definition at line 205 of file vmdav.c.
Referenced by vmdvideo_decode_frame().
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
| 
 | static | 
Definition at line 528 of file vmdav.c.
Referenced by vmdaudio_decode_frame().
| 
 | static | 
| 
 | static | 
Definition at line 477 of file vmdav.c.
Referenced by decode_audio_s16().
| AVCodec ff_vmdvideo_decoder | 
| AVCodec ff_vmdaudio_decoder | 
 1.8.2
 1.8.2