libwebsockets
Lightweight C library for HTML5 websockets
Loading...
Searching...
No Matches
lws-transcode.h File Reference

Go to the source code of this file.

Data Structures

struct  lws_transcode_info
 

Enumerations

enum  lws_transcode_codec { LWS_TCC_H264 , LWS_TCC_AV1 }
 

Functions

LWS_VISIBLE LWS_EXTERN struct lws_transcode_ctx * lws_transcode_encoder_create (const struct lws_transcode_info *info)
 
LWS_VISIBLE LWS_EXTERN struct lws_transcode_ctx * lws_transcode_decoder_create (enum lws_transcode_codec codec)
 
LWS_VISIBLE LWS_EXTERN void lws_transcode_destroy (struct lws_transcode_ctx **ctx)
 
LWS_VISIBLE LWS_EXTERN void * lws_transcode_frame_alloc (uint32_t w, uint32_t h)
 
LWS_VISIBLE LWS_EXTERN void lws_transcode_frame_free (void **frame)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_decode (struct lws_transcode_ctx *ctx, const uint8_t *buf, size_t len, void *frame)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_encode (struct lws_transcode_ctx *ctx, void *frame, uint8_t **buf, size_t *len)
 
LWS_VISIBLE LWS_EXTERN void * lws_transcode_scaler_create (uint32_t src_w, uint32_t src_h, uint32_t dst_w, uint32_t dst_h)
 
LWS_VISIBLE LWS_EXTERN void lws_transcode_scaler_destroy (void **sws)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_scale (void *sws, void *src_frame, void *dst_frame)
 
LWS_VISIBLE LWS_EXTERN void lws_transcode_yuyv_to_yuv420p (const uint8_t *yuyv, uint8_t *yuv, uint32_t w, uint32_t h)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_mjpeg_to_yuv420p (void *jpeg_dec, const uint8_t *mjpeg, size_t len, uint8_t *yuv, uint32_t w, uint32_t h)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_frame_import_yuv (void *frame, uint8_t *yuv_buf)
 
LWS_VISIBLE LWS_EXTERN uint8_t ** lws_transcode_frame_get_data (void *frame)
 
LWS_VISIBLE LWS_EXTERN int * lws_transcode_frame_get_linesize (void *frame)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_frame_get_width (void *frame)
 
LWS_VISIBLE LWS_EXTERN int lws_transcode_frame_get_height (void *frame)
 

Data Structure Documentation

◆ lws_transcode_info

struct lws_transcode_info

Definition at line 35 of file lws-transcode.h.

+ Collaboration diagram for lws_transcode_info:
Data Fields
enum lws_transcode_codec codec
uint32_t width
uint32_t height
uint32_t fps
uint32_t bitrate

Enumeration Type Documentation

◆ lws_transcode_codec

Enumerator
LWS_TCC_H264 
LWS_TCC_AV1 

Definition at line 30 of file lws-transcode.h.

30 {
33};
@ LWS_TCC_H264
@ LWS_TCC_AV1

Function Documentation

◆ lws_transcode_encoder_create()

LWS_VISIBLE LWS_EXTERN struct lws_transcode_ctx * lws_transcode_encoder_create ( const struct lws_transcode_info * info)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_decoder_create()

LWS_VISIBLE LWS_EXTERN struct lws_transcode_ctx * lws_transcode_decoder_create ( enum lws_transcode_codec codec)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_destroy()

LWS_VISIBLE LWS_EXTERN void lws_transcode_destroy ( struct lws_transcode_ctx ** ctx)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_alloc()

LWS_VISIBLE LWS_EXTERN void * lws_transcode_frame_alloc ( uint32_t w,
uint32_t h )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_free()

LWS_VISIBLE LWS_EXTERN void lws_transcode_frame_free ( void ** frame)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_decode()

LWS_VISIBLE LWS_EXTERN int lws_transcode_decode ( struct lws_transcode_ctx * ctx,
const uint8_t * buf,
size_t len,
void * frame )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_encode()

LWS_VISIBLE LWS_EXTERN int lws_transcode_encode ( struct lws_transcode_ctx * ctx,
void * frame,
uint8_t ** buf,
size_t * len )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_scaler_create()

LWS_VISIBLE LWS_EXTERN void * lws_transcode_scaler_create ( uint32_t src_w,
uint32_t src_h,
uint32_t dst_w,
uint32_t dst_h )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_scaler_destroy()

LWS_VISIBLE LWS_EXTERN void lws_transcode_scaler_destroy ( void ** sws)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_scale()

LWS_VISIBLE LWS_EXTERN int lws_transcode_scale ( void * sws,
void * src_frame,
void * dst_frame )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_yuyv_to_yuv420p()

LWS_VISIBLE LWS_EXTERN void lws_transcode_yuyv_to_yuv420p ( const uint8_t * yuyv,
uint8_t * yuv,
uint32_t w,
uint32_t h )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_mjpeg_to_yuv420p()

LWS_VISIBLE LWS_EXTERN int lws_transcode_mjpeg_to_yuv420p ( void * jpeg_dec,
const uint8_t * mjpeg,
size_t len,
uint8_t * yuv,
uint32_t w,
uint32_t h )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_import_yuv()

LWS_VISIBLE LWS_EXTERN int lws_transcode_frame_import_yuv ( void * frame,
uint8_t * yuv_buf )

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_get_data()

LWS_VISIBLE LWS_EXTERN uint8_t ** lws_transcode_frame_get_data ( void * frame)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_get_linesize()

LWS_VISIBLE LWS_EXTERN int * lws_transcode_frame_get_linesize ( void * frame)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_get_width()

LWS_VISIBLE LWS_EXTERN int lws_transcode_frame_get_width ( void * frame)

References LWS_EXTERN, and LWS_VISIBLE.

◆ lws_transcode_frame_get_height()

LWS_VISIBLE LWS_EXTERN int lws_transcode_frame_get_height ( void * frame)