Files
BuildTools
Qt
Src
Agave
Components
Elevator
Mastering
Plugins
ReplayGainAnalysis
WAT
Wasabi
Wasabi2
Winamp
aacPlus
aacdec
aacdec-mft
adpcm
alac
albumart
apev2
auth
bmp
BMPLoader.cpp
BMPLoader.h
BMPWriter.cpp
BMPWriter.h
MyFactory.h
api__bmp.h
avi_decoder.cpp
avi_decoder.h
avi_rgb_decoder.cpp
avi_rgb_decoder.h
avi_rle_decoder.cpp
avi_rle_decoder.h
avi_tscc_decoder.cpp
avi_tscc_decoder.h
avi_yuv_decoder.cpp
avi_yuv_decoder.h
bmp.rc
bmp.sln
bmp.vcxproj
bmp.vcxproj.filters
resource.h
rle.cpp
rle.h
version.rc2
wa5_bmp.cpp
wa5_bmp.h
burnlib
codesign
config
devices
external_dependencies
f263
filereader
freetypewac
gif
gracenote
h264
h264dec
id3v2
ie_plugin
installer
jpeg
libvp6
libvpShared
mp3-mpg123
mp4v
mpeg4dec
nde
nprt_plugin
ns-eel
ns-eel2
nsavi
nsmkv
nsutil
nsv
nsvdec_vp3
nsvdec_vp5
nsvdec_vp6
nswasabi
nu
omBrowser
pcm
pfc
playlist
plist
png
replicant
resources
tagz
tataki
theora
timer
vlb
vp32
vp6
vp8x
wbm
winampAll
winampa
xml
xspf
vcpkg-ports
.gitignore
LICENSE.md
README.md
automate-git.py
cef_x86.bat
install-packages.cmd
vcpkg_version_finder.py
winampAll_2019.sln
winamp/Src/bmp/avi_rle_decoder.h
2024-09-24 14:54:57 +02:00

25 lines
802 B
C++

#pragma once
#include "../Plugins/Input/in_avi/ifc_avivideodecoder.h"
#include "../nsavi/avi_header.h"
class AVIRLE : public ifc_avivideodecoder
{
public:
AVIRLE(void *video_frame, nsavi::video_format *stream_format, size_t video_frame_size);
static AVIRLE *CreateDecoder(nsavi::video_format *stream_format);
int GetOutputProperties(int *x, int *y, int *color_format, double *aspect_ratio, int *flip);
int DecodeChunk(uint16_t type, const void *inputBuffer, size_t inputBufferBytes);
void Flush();
void Close();
int GetPicture(void **data, void **decoder_data);
int GetPalette(RGB32 **palette);
private:
nsavi::video_format *stream_format;
size_t video_frame_size;
uint8_t *video_frame;
bool video_outputted;
RGBQUAD palette[256];
bool palette_retrieved;
protected:
RECVS_DISPATCH;
};