FFmpeg
|
#include <inttypes.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/avutil.h"
#include "libavutil/bswap.h"
#include "libavutil/cpu.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/pixdesc.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale_internal.h"
#include "swscale.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_SWSCALE_BUFFERS 0 |
#define | DEBUG_BUFFERS(...) |
#define | RGB2YUV_SHIFT 15 |
#define | BY ( (int) (0.114 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | BV (-(int) (0.081 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | BU ( (int) (0.500 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | GY ( (int) (0.587 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | GV (-(int) (0.419 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | GU (-(int) (0.331 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | RY ( (int) (0.299 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | RV ( (int) (0.500 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define | RU (-(int) (0.169 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
Functions | |
static av_always_inline void | fillPlane (uint8_t *plane, int stride, int width, int height, int y, uint8_t val) |
static void | hScale16To19_c (SwsContext *c, int16_t *_dst, int dstW, const uint8_t *_src, const int16_t *filter, const int32_t *filterPos, int filterSize) |
static void | hScale16To15_c (SwsContext *c, int16_t *dst, int dstW, const uint8_t *_src, const int16_t *filter, const int32_t *filterPos, int filterSize) |
static void | hScale8To15_c (SwsContext *c, int16_t *dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize) |
static void | hScale8To19_c (SwsContext *c, int16_t *_dst, int dstW, const uint8_t *src, const int16_t *filter, const int32_t *filterPos, int filterSize) |
static void | chrRangeToJpeg_c (int16_t *dstU, int16_t *dstV, int width) |
static void | chrRangeFromJpeg_c (int16_t *dstU, int16_t *dstV, int width) |
static void | lumRangeToJpeg_c (int16_t *dst, int width) |
static void | lumRangeFromJpeg_c (int16_t *dst, int width) |
static void | chrRangeToJpeg16_c (int16_t *_dstU, int16_t *_dstV, int width) |
static void | chrRangeFromJpeg16_c (int16_t *_dstU, int16_t *_dstV, int width) |
static void | lumRangeToJpeg16_c (int16_t *_dst, int width) |
static void | lumRangeFromJpeg16_c (int16_t *_dst, int width) |
static av_always_inline void | hyscale (SwsContext *c, int16_t *dst, int dstWidth, const uint8_t *src_in[4], int srcW, int xInc, const int16_t *hLumFilter, const int32_t *hLumFilterPos, int hLumFilterSize, uint8_t *formatConvBuffer, uint32_t *pal, int isAlpha) |
static av_always_inline void | hcscale (SwsContext *c, int16_t *dst1, int16_t *dst2, int dstWidth, const uint8_t *src_in[4], int srcW, int xInc, const int16_t *hChrFilter, const int32_t *hChrFilterPos, int hChrFilterSize, uint8_t *formatConvBuffer, uint32_t *pal) |
static int | swscale (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[]) |
av_cold void | ff_sws_init_range_convert (SwsContext *c) |
static av_cold void | sws_init_swscale (SwsContext *c) |
SwsFunc | ff_getSwsFunc (SwsContext *c) |
Return function pointer to fastest main scaler path function depending on architecture and available optimizations. | |
static void | reset_ptr (const uint8_t *src[], int format) |
static int | check_image_pointers (const uint8_t *const data[4], enum AVPixelFormat pix_fmt, const int linesizes[4]) |
static void | xyz12Torgb48 (struct SwsContext *c, uint16_t *dst, const uint16_t *src, int stride, int h) |
static void | rgb48Toxyz12 (struct SwsContext *c, uint16_t *dst, const uint16_t *src, int stride, int h) |
int attribute_align_arg | sws_scale (struct SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dst[], const int dstStride[]) |
swscale wrapper, so we don't need to export the SwsContext. | |
Variables | |
const uint8_t | ff_dither_8x8_128 [9][8] |
static const uint8_t | sws_pb_64 [8] |
#define DEBUG_BUFFERS | ( | ... | ) |
Definition at line 297 of file swscale.c.
Referenced by swscale().
#define RGB2YUV_SHIFT 15 |
Referenced by bgr24ToUV_c(), bgr24ToUV_half_c(), bgr24ToY_c(), ff_rgb24toyv12_c(), gbr24pToUV_half_c(), planar_rgb16_to_uv(), planar_rgb16_to_y(), planar_rgb_to_uv(), planar_rgb_to_y(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb24ToY_c(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb64funcs(), rgb64ToUV_c_template(), rgb64ToUV_half_c_template(), rgb64ToY_c_template(), and sws_scale().
#define BY ( (int) (0.114 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define BV (-(int) (0.081 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define BU ( (int) (0.500 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define GY ( (int) (0.587 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define GV (-(int) (0.419 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define GU (-(int) (0.331 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define RY ( (int) (0.299 * 219 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define RV ( (int) (0.500 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
#define RU (-(int) (0.169 * 224 / 255 * (1 << RGB2YUV_SHIFT) + 0.5)) |
|
static |
|
static |
Definition at line 65 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 92 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 118 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 134 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 153 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 162 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 171 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 178 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 185 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 196 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 207 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 216 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
|
static |
|
static |
Definition at line 301 of file swscale.c.
Referenced by ff_getSwsFunc(), ffprobe_show_library_versions(), and print_all_libs_info().
av_cold void ff_sws_init_range_convert | ( | SwsContext * | c | ) |
Definition at line 674 of file swscale.c.
Referenced by sws_init_swscale(), and sws_setColorspaceDetails().
|
static |
Definition at line 699 of file swscale.c.
Referenced by ff_getSwsFunc().
SwsFunc ff_getSwsFunc | ( | SwsContext * | c | ) |
Return function pointer to fastest main scaler path function depending on architecture and available optimizations.
Definition at line 732 of file swscale.c.
Referenced by sws_init_context().
Definition at line 744 of file swscale.c.
Referenced by sws_scale().
|
static |
Definition at line 756 of file swscale.c.
Referenced by sws_scale().
|
static |
Definition at line 771 of file swscale.c.
Referenced by sws_scale().
|
static |
Definition at line 827 of file swscale.c.
Referenced by sws_scale().
const uint8_t ff_dither_8x8_128[9][8] |
Definition at line 38 of file swscale.c.
Referenced by swscale().