37 for (i = 0; i < sliceH; ++i) {
41 uint16_t *
src1 = (uint16_t*)*(src+src_pos);
43 for (j = 0; j < srcW; ++j) {
44 uint16_t
r =
AV_RL16(src1 + j*4 + 0);
45 uint16_t
g =
AV_RL16(src1 + j*4 + 1);
46 uint16_t
b =
AV_RL16(src1 + j*4 + 2);
48 AV_WL16(src1 + j*4 + 0, table[r]);
49 AV_WL16(src1 + j*4 + 1, table[g]);
50 AV_WL16(src1 + j*4 + 2, table[b]);
int ff_init_gamma_convert(SwsFilterDescriptor *desc, SwsSlice *src, uint16_t *table)
initializes gamma conversion descriptor
Struct which holds all necessary data for processing a slice.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
uint8_t ** line
line buffer
SwsSlice * dst
Output slice.
int(* process)(SwsContext *c, struct SwsFilterDescriptor *desc, int sliceY, int sliceH)
Function for processing input slice sliceH lines starting from line sliceY.
static const struct endianess table[]
SwsPlane plane[MAX_SLICE_PLANES]
color planes
int width
Slice line width.
Struct which defines a slice of an image to be scaled or an output for a scaled slice.
void * instance
Filter instance data.
static int gamma_convert(SwsContext *c, SwsFilterDescriptor *desc, int sliceY, int sliceH)
SwsSlice * src
Source slice.
int sliceY
index of first line