mirror of
https://gitee.com/Vancouver2017/luban-lite-t3e-pro.git
synced 2025-12-17 03:48:55 +00:00
V1.0.5
This commit is contained in:
136
packages/artinchip/mpp/middle_media/base/stream/aic_stream.c
Executable file → Normal file
136
packages/artinchip/mpp/middle_media/base/stream/aic_stream.c
Executable file → Normal file
@@ -4,7 +4,8 @@
|
||||
* author: <jun.ma@artinchip.com>
|
||||
* Desc: aic_stream
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include "aic_stream.h"
|
||||
#include "aic_file_stream.h"
|
||||
|
||||
@@ -15,3 +16,136 @@ s32 aic_stream_open(char *uri, struct aic_stream **stream)
|
||||
ret = file_stream_open(uri, stream);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int aic_stream_skip(struct aic_stream *s, int len)
|
||||
{
|
||||
return aic_stream_seek(s, len, SEEK_CUR);
|
||||
}
|
||||
|
||||
|
||||
void aic_stream_w8(struct aic_stream *s, int b)
|
||||
{
|
||||
/* aic_stream_write(s, &val, 1);*/
|
||||
}
|
||||
|
||||
void aic_stream_wl32(struct aic_stream *s, unsigned int val)
|
||||
{
|
||||
aic_stream_w8(s, (uint8_t)val);
|
||||
aic_stream_w8(s, (uint8_t)(val >> 8));
|
||||
aic_stream_w8(s, (uint8_t)(val >> 16));
|
||||
aic_stream_w8(s, val >> 24);
|
||||
}
|
||||
|
||||
void aic_stream_wb32(struct aic_stream *s, unsigned int val)
|
||||
{
|
||||
aic_stream_w8(s, val >> 24);
|
||||
aic_stream_w8(s, (uint8_t)(val >> 16));
|
||||
aic_stream_w8(s, (uint8_t)(val >> 8));
|
||||
aic_stream_w8(s, (uint8_t)val);
|
||||
}
|
||||
|
||||
void aic_stream_wl64(struct aic_stream *s, uint64_t val)
|
||||
{
|
||||
aic_stream_wl32(s, (uint32_t)(val & 0xffffffff));
|
||||
aic_stream_wl32(s, (uint32_t)(val >> 32));
|
||||
}
|
||||
|
||||
void aic_stream_wb64(struct aic_stream *s, uint64_t val)
|
||||
{
|
||||
aic_stream_wb32(s, (uint32_t)(val >> 32));
|
||||
aic_stream_wb32(s, (uint32_t)(val & 0xffffffff));
|
||||
}
|
||||
|
||||
void aic_stream_wl16(struct aic_stream *s, unsigned int val)
|
||||
{
|
||||
aic_stream_w8(s, (uint8_t)val);
|
||||
aic_stream_w8(s, (int)val >> 8);
|
||||
}
|
||||
|
||||
void aic_stream_wb16(struct aic_stream *s, unsigned int val)
|
||||
{
|
||||
aic_stream_w8(s, (int)val >> 8);
|
||||
aic_stream_w8(s, (uint8_t)val);
|
||||
}
|
||||
|
||||
void aic_stream_wl24(struct aic_stream *s, unsigned int val)
|
||||
{
|
||||
aic_stream_wl16(s, val & 0xffff);
|
||||
aic_stream_w8(s, (int)val >> 16);
|
||||
}
|
||||
|
||||
void aic_stream_wb24(struct aic_stream *s, unsigned int val)
|
||||
{
|
||||
aic_stream_wb16(s, (int)val >> 8);
|
||||
aic_stream_w8(s, (uint8_t)val);
|
||||
}
|
||||
|
||||
int aic_stream_r8(struct aic_stream *s)
|
||||
{
|
||||
unsigned char val;
|
||||
aic_stream_read(s, &val, 1);
|
||||
return val;
|
||||
}
|
||||
|
||||
unsigned int aic_stream_rl16(struct aic_stream *s)
|
||||
{
|
||||
unsigned int val;
|
||||
val = aic_stream_r8(s);
|
||||
val |= aic_stream_r8(s) << 8;
|
||||
return val;
|
||||
}
|
||||
|
||||
unsigned int aic_stream_rl24(struct aic_stream *s)
|
||||
{
|
||||
unsigned int val;
|
||||
val = aic_stream_rl16(s);
|
||||
val |= aic_stream_r8(s) << 16;
|
||||
return val;
|
||||
}
|
||||
|
||||
unsigned int aic_stream_rl32(struct aic_stream *s)
|
||||
{
|
||||
unsigned int val;
|
||||
val = aic_stream_rl16(s);
|
||||
val |= aic_stream_rl16(s) << 16;
|
||||
return val;
|
||||
}
|
||||
|
||||
uint64_t aic_stream_rl64(struct aic_stream *s)
|
||||
{
|
||||
uint64_t val;
|
||||
val = (uint64_t)aic_stream_rl32(s);
|
||||
val |= (uint64_t)aic_stream_rl32(s) << 32;
|
||||
return val;
|
||||
}
|
||||
|
||||
unsigned int aic_stream_rb16(struct aic_stream *s)
|
||||
{
|
||||
unsigned int val;
|
||||
val = aic_stream_r8(s) << 8;
|
||||
val |= aic_stream_r8(s);
|
||||
return val;
|
||||
}
|
||||
|
||||
unsigned int aic_stream_rb24(struct aic_stream *s)
|
||||
{
|
||||
unsigned int val;
|
||||
val = aic_stream_rb16(s) << 8;
|
||||
val |= aic_stream_r8(s);
|
||||
return val;
|
||||
}
|
||||
unsigned int aic_stream_rb32(struct aic_stream *s)
|
||||
{
|
||||
unsigned int val;
|
||||
val = aic_stream_rb16(s) << 16;
|
||||
val |= aic_stream_rb16(s);
|
||||
return val;
|
||||
}
|
||||
|
||||
uint64_t aic_stream_rb64(struct aic_stream *s)
|
||||
{
|
||||
uint64_t val;
|
||||
val = (uint64_t)aic_stream_rb32(s) << 32;
|
||||
val |= (uint64_t)aic_stream_rb32(s);
|
||||
return val;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user