29 if (avctx->
width & 1) {
42 const uint32_t *
src = (
const uint32_t *)avpkt->
data;
46 uint16_t *ydst, *udst, *vdst, *yend;
61 ydst = (uint16_t *)pic->data[0];
62 udst = (uint16_t *)pic->data[1];
63 vdst = (uint16_t *)pic->data[2];
70 *udst++ = (v >> 16) & 0xFFC0;
71 *ydst++ = (v >> 6 ) & 0xFFC0;
72 *vdst++ = (v << 4 ) & 0xFFC0;
75 *ydst++ = (v >> 16) & 0xFFC0;
78 ydst += pic->linesize[0] / 2 -
width;
79 udst += pic->linesize[1] / 2 -
width / 2;
80 vdst += pic->linesize[2] / 2 -
width / 2;
86 *udst++ = (v >> 6 ) & 0xFFC0;
87 *ydst++ = (v << 4 ) & 0xFFC0;
90 *vdst++ = (v >> 16) & 0xFFC0;
91 *ydst++ = (v >> 6 ) & 0xFFC0;
94 ydst += pic->linesize[0] / 2 -
width;
95 udst += pic->linesize[1] / 2 -
width / 2;
96 vdst += pic->linesize[2] / 2 -
width / 2;
102 *udst++ = (v << 4 ) & 0xFFC0;
105 *ydst++ = (v >> 16) & 0xFFC0;
106 *vdst++ = (v >> 6 ) & 0xFFC0;
107 *ydst++ = (v << 4 ) & 0xFFC0;
109 ydst += pic->linesize[0] / 2 -
width;
110 udst += pic->linesize[1] / 2 -
width / 2;
111 vdst += pic->linesize[2] / 2 -
width / 2;
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
This structure describes decoded (raw) audio or video data.
ptrdiff_t const GLvoid * data
Memory handling functions.
enum AVPixelFormat pix_fmt
Pixel format, see AV_PIX_FMT_xxx.
int bits_per_raw_sample
Bits per sample/pixel of internal libavcodec pixel/sample format.
void void avpriv_request_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
const char * name
Name of the codec implementation.
common internal API header
int width
picture width / height.
static av_cold int decode_init(AVCodecContext *avctx)
Libavcodec external API header.
main external API structure.
int ff_get_buffer(AVCodecContext *avctx, AVFrame *frame, int flags)
Get a buffer for a frame.
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
common internal api header.
This structure stores compressed data.
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
#define AV_PIX_FMT_YUV422P16