Go to the documentation of this file.
34 0, 1, 2, 3, 4, 5, 6, 7,
35 8, 9, 12, 15, 20, 25, 34, 46,
36 64, 82, 94, 103, 108, 113, 116, 119,
37 120, 121, 122, 123, 124, 125, 126, 127
43 const uint8_t *buf = avpkt->
data;
44 int buf_size = avpkt->
size;
49 int y0, y1, y2, y3 = 0, c0 = 0,
c1 = 0;
51 if (avctx->
width % 4) {
73 for (j = 0; j < avctx->
width; j += 4) {
77 val = ((
val >> 16) & 0xFFFF) | ((
val & 0xFFFF) << 16);
80 y0 = (
val & 0x1F) << 2;
91 c0 = (
val & 0x1F) << 2;
96 c1 = (
val & 0x1F) << 2;
109 buf += avctx->
width + 4;
static av_cold int decode_init(AVCodecContext *avctx)
This structure describes decoded (raw) audio or video data.
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
const FFCodec ff_xl_decoder
AVCodec p
The public AVCodec.
static double val(void *priv, double ch)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define FF_CODEC_DECODE_CB(func)
#define CODEC_LONG_NAME(str)
int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags)
Get a buffer for a frame.
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators.
static int decode_frame(AVCodecContext *avctx, AVFrame *p, int *got_frame, AVPacket *avpkt)
static const int xl_table[32]
#define i(width, name, range_min, range_max)
const char * name
Name of the codec implementation.
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32
main external API structure.
This structure stores compressed data.
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
int width
picture width / height.
int linesize[AV_NUM_DATA_POINTERS]
For video, a positive or negative value, which is typically indicating the size in bytes of each pict...
#define AVERROR_INVALIDDATA
Invalid data found when processing input.