30 #ifndef AVUTIL_RPI_SAND_FNS
31 #define AVUTIL_RPI_SAND_FNS
41 unsigned int stride1,
unsigned int stride2,
42 unsigned int _x,
unsigned int y,
43 unsigned int _w,
unsigned int h);
46 unsigned int stride1,
unsigned int stride2,
47 unsigned int _x,
unsigned int y,
48 unsigned int _w,
unsigned int h);
51 uint8_t * dst_v,
const unsigned int dst_stride_v,
53 unsigned int stride1,
unsigned int stride2,
54 unsigned int _x,
unsigned int y,
55 unsigned int _w,
unsigned int h);
57 uint8_t * dst_v,
const unsigned int dst_stride_v,
59 unsigned int stride1,
unsigned int stride2,
60 unsigned int _x,
unsigned int y,
61 unsigned int _w,
unsigned int h);
64 unsigned int stride1,
unsigned int stride2,
65 const uint8_t * src_u,
const unsigned int src_stride_u,
66 const uint8_t * src_v,
const unsigned int src_stride_v,
67 unsigned int _x,
unsigned int y,
68 unsigned int _w,
unsigned int h);
70 unsigned int stride1,
unsigned int stride2,
71 const uint8_t * src_u,
const unsigned int src_stride_u,
72 const uint8_t * src_v,
const unsigned int src_stride_v,
73 unsigned int _x,
unsigned int y,
74 unsigned int _w,
unsigned int h);
78 unsigned int stride1,
unsigned int stride2,
79 unsigned int _x,
unsigned int y,
80 unsigned int _w,
unsigned int h);
82 uint8_t * dst_v,
const unsigned int dst_stride_v,
84 unsigned int stride1,
unsigned int stride2,
85 unsigned int _x,
unsigned int y,
86 unsigned int _w,
unsigned int h);
91 const uint8_t * src,
const unsigned int src_stride1,
const unsigned int src_stride2,
92 unsigned int w,
unsigned int h,
const unsigned int shr);
102 #ifdef RPI_ZC_SAND128_ONLY
155 const unsigned int x1 = x & (stride1 - 1);
156 const unsigned int x2 = x ^ x1;
158 return x1 + stride1 * y + stride2 * x2;
166 const unsigned int x1 = x & (stride1 - 1);
167 const unsigned int x2 = x ^ x1;
169 return x1 + stride1 * y_c + stride2 * x2;
reference-counted frame API
@ AV_PIX_FMT_SAND128
4:2:0 8-bit 128x*Y stripe, 64x*UV stripe, then next x stripe, mysterious padding
@ AV_PIX_FMT_SAND64_10
4:2:0 10-bit 64x*Y stripe, 32x*UV stripe, then next x stripe, mysterious padding
@ AV_PIX_FMT_SAND64_16
4:2:0 16-bit 64x*Y stripe, 32x*UV stripe, then next x stripe, mysterious padding
static int av_rpi_is_sand16_frame(const AVFrame *const frame)
static unsigned int av_rpi_sand_frame_stride2(const AVFrame *const frame)
void av_rpi_sand_to_planar_y8(uint8_t *dst, const unsigned int dst_stride, const uint8_t *src, unsigned int stride1, unsigned int stride2, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
static unsigned int av_rpi_sand_frame_off_y(const AVFrame *const frame, const unsigned int x_y, const unsigned int y)
static uint8_t * av_rpi_sand_frame_pos_c(const AVFrame *const frame, const unsigned int x, const unsigned int y)
void av_rpi_sand_to_planar_y16(uint8_t *dst, const unsigned int dst_stride, const uint8_t *src, unsigned int stride1, unsigned int stride2, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
static int av_rpi_is_sand8_frame(const AVFrame *const frame)
void av_rpi_planar_to_sand_c8(uint8_t *dst_c, unsigned int stride1, unsigned int stride2, const uint8_t *src_u, const unsigned int src_stride_u, const uint8_t *src_v, const unsigned int src_stride_v, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
void av_rpi_sand_to_planar_c8(uint8_t *dst_u, const unsigned int dst_stride_u, uint8_t *dst_v, const unsigned int dst_stride_v, const uint8_t *src, unsigned int stride1, unsigned int stride2, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
int av_rpi_sand_to_planar_frame(AVFrame *const dst, const AVFrame *const src)
static uint8_t * av_rpi_sand_frame_pos_y(const AVFrame *const frame, const unsigned int x, const unsigned int y)
void av_rpi_sand_to_planar_c16(uint8_t *dst_u, const unsigned int dst_stride_u, uint8_t *dst_v, const unsigned int dst_stride_v, const uint8_t *src, unsigned int stride1, unsigned int stride2, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
static unsigned int av_rpi_sand_frame_off_c(const AVFrame *const frame, const unsigned int x_c, const unsigned int y_c)
static int av_rpi_is_sand30_frame(const AVFrame *const frame)
static int av_rpi_is_sand_frame(const AVFrame *const frame)
static int av_rpi_is_sand_format(const int format)
void av_rpi_sand30_to_planar_c16(uint8_t *dst_u, const unsigned int dst_stride_u, uint8_t *dst_v, const unsigned int dst_stride_v, const uint8_t *src, unsigned int stride1, unsigned int stride2, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
void av_rpi_planar_to_sand_c16(uint8_t *dst_c, unsigned int stride1, unsigned int stride2, const uint8_t *src_u, const unsigned int src_stride_u, const uint8_t *src_v, const unsigned int src_stride_v, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
void av_rpi_sand16_to_sand8(uint8_t *dst, const unsigned int dst_stride1, const unsigned int dst_stride2, const uint8_t *src, const unsigned int src_stride1, const unsigned int src_stride2, unsigned int w, unsigned int h, const unsigned int shr)
static int av_rpi_sand_frame_xshl(const AVFrame *const frame)
void av_rpi_sand30_to_planar_y16(uint8_t *dst, const unsigned int dst_stride, const uint8_t *src, unsigned int stride1, unsigned int stride2, unsigned int _x, unsigned int y, unsigned int _w, unsigned int h)
static unsigned int av_rpi_sand_frame_stride1(const AVFrame *const frame)
This structure describes decoded (raw) audio or video data.
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
int linesize[AV_NUM_DATA_POINTERS]
For video, size in bytes of each picture line.
int format
format of the frame, -1 if unknown or unset Values correspond to enum AVPixelFormat for video frames,...