FFmpeg
Loading...
Searching...
No Matches
prores_raw.h
Go to the documentation of this file.
1/*
2 * ProRes RAW decoder
3 * Copyright (c) 2025 Lynne
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22#ifndef AVCODEC_PRORES_RAW_H
23#define AVCODEC_PRORES_RAW_H
24
25#include "libavutil/frame.h"
27#include "libavutil/pixfmt.h"
28
29#include "bytestream.h"
30#include "blockdsp.h"
31#include "proresdsp.h"
32
33typedef struct TileContext {
35 unsigned x, y;
38
39typedef struct ProResRAWContext {
42
44 unsigned int tiles_size;
46 int th;
48
52
54
55 DECLARE_ALIGNED(32, uint8_t, scan)[64];
56 DECLARE_ALIGNED(32, uint8_t, qmat)[64];
57
58 /* 8-point combined linearization curve
59 * (inv. transfer fn + encoder-defined shaping) from the frame header,
60 * applied after iDCT */
61 uint16_t lin_curve[8];
63
64extern const uint8_t ff_prores_raw_dc_cb[13];
65extern const int16_t ff_prores_raw_ac_cb[95];
66extern const int16_t ff_prores_raw_rn_cb[28];
67extern const int16_t ff_prores_raw_ln_cb[15];
68
69#endif /* AVCODEC_PRORES_RAW_H */
reference-counted frame API
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.
pixel format definitions
AVPixelFormat
Pixel format.
Definition pixfmt.h:71
const int16_t ff_prores_raw_rn_cb[RN_CB_MAX+1]
Definition prores_raw.c:122
const int16_t ff_prores_raw_ac_cb[AC_CB_MAX+1]
Definition prores_raw.c:110
const int16_t ff_prores_raw_ln_cb[LN_CB_MAX+1]
Definition prores_raw.c:128
const uint8_t ff_prores_raw_dc_cb[DC_CB_MAX+1]
Definition prores_raw.c:105
This structure describes decoded (raw) audio or video data.
Definition frame.h:472
uint16_t lin_curve[8]
Definition prores_raw.h:61
TileContext * tiles
Definition prores_raw.h:43
ProresDSPContext prodsp
Definition prores_raw.h:40
uint8_t qmat[64]
Definition prores_raw.h:56
AVFrame * frame
Definition prores_raw.h:50
enum AVPixelFormat pix_fmt
Definition prores_raw.h:49
uint8_t scan[64]
Definition prores_raw.h:55
void * hwaccel_picture_private
Definition prores_raw.h:51
BlockDSPContext bdsp
Definition prores_raw.h:41
unsigned int tiles_size
Definition prores_raw.h:44
int log2_nb_blocks
Definition prores_raw.h:36
unsigned y
Definition prores_raw.h:35
unsigned x
Definition prores_raw.h:35
GetByteContext gb
Definition prores_raw.h:34