FFmpeg
|
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "libavutil/avassert.h"
#include "libavutil/bswap.h"
#include "libavutil/common.h"
#include "libavutil/cpu.h"
#include "libavutil/emms.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
#include "libavutil/pixdesc.h"
#include "config.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 int | swscale (SwsContext *c, const uint8_t *src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t *dst[], int dstStride[], int dstSliceY, int dstSliceH) |
av_cold void | ff_sws_init_range_convert (SwsContext *c) |
static av_cold void | sws_init_swscale (SwsContext *c) |
void | ff_sws_init_scale (SwsContext *c) |
static void | reset_ptr (const uint8_t *src[], enum AVPixelFormat 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) |
static void | update_palette (SwsContext *c, const uint32_t *pal) |
static int | scale_internal (SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dstSlice[], const int dstStride[], int dstSliceY, int dstSliceH) |
static int | scale_gamma (SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dstSlice[], const int dstStride[], int dstSliceY, int dstSliceH) |
static int | scale_cascaded (SwsContext *c, const uint8_t *const srcSlice[], const int srcStride[], int srcSliceY, int srcSliceH, uint8_t *const dstSlice[], const int dstStride[], int dstSliceY, int dstSliceH) |
void | sws_frame_end (struct SwsContext *c) |
Finish the scaling process for a pair of source/destination frames previously submitted with sws_frame_start(). More... | |
int | sws_frame_start (struct SwsContext *c, AVFrame *dst, const AVFrame *src) |
Initialize the scaling process for a given pair of source/destination frames. More... | |
int | sws_send_slice (struct SwsContext *c, unsigned int slice_start, unsigned int slice_height) |
Indicate that a horizontal slice of input data is available in the source frame previously provided to sws_frame_start(). More... | |
unsigned int | sws_receive_slice_alignment (const struct SwsContext *c) |
Get the alignment required for slices. More... | |
int | sws_receive_slice (struct SwsContext *c, unsigned int slice_start, unsigned int slice_height) |
Request a horizontal slice of the output data to be written into the frame previously provided to sws_frame_start(). More... | |
int | sws_scale_frame (struct SwsContext *c, AVFrame *dst, const AVFrame *src) |
Scale source data from src and write the output to dst. More... | |
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. More... | |
void | ff_sws_slice_worker (void *priv, int jobnr, int threadnr, int nb_jobs, int nb_threads) |
Variables | |
const uint8_t | ff_dither_8x8_128 [9][8] |
static const uint8_t | sws_pb_64 [8] |
#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)) |
|
static |
|
static |
Definition at line 64 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 94 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 123 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 139 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 158 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 167 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 176 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 183 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 190 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 201 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 212 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 221 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 235 of file swscale.c.
Referenced by ffprobe_show_library_versions(), print_all_libs_info(), and scale_internal().
av_cold void ff_sws_init_range_convert | ( | SwsContext * | c | ) |
Definition at line 533 of file swscale.c.
Referenced by sws_init_swscale(), and sws_setColorspaceDetails().
|
static |
Definition at line 558 of file swscale.c.
Referenced by ff_sws_init_scale().
void ff_sws_init_scale | ( | SwsContext * | c | ) |
Definition at line 590 of file swscale.c.
Referenced by check_hscale(), check_input_planar_rgb_to_a(), check_input_planar_rgb_to_uv(), check_input_planar_rgb_to_y(), check_output_yuv2gbrp(), check_yuv2yuv1(), check_yuv2yuvX(), and sws_init_single_context().
|
static |
Definition at line 607 of file swscale.c.
Referenced by scale_internal().
|
static |
Definition at line 619 of file swscale.c.
Referenced by scale_internal().
|
static |
Definition at line 636 of file swscale.c.
Referenced by scale_internal().
|
static |
Definition at line 692 of file swscale.c.
Referenced by scale_internal().
|
static |
Definition at line 748 of file swscale.c.
Referenced by reconfigure_at_keyframe(), and scale_internal().
|
static |
Definition at line 882 of file swscale.c.
Referenced by ff_sws_slice_worker(), scale_cascaded(), scale_gamma(), sws_receive_slice(), and sws_scale().
|
static |
Definition at line 829 of file swscale.c.
Referenced by scale_internal().
|
static |
Definition at line 863 of file swscale.c.
Referenced by scale_internal().
Definition at line 1218 of file swscale.c.
Referenced by context_init_threaded().
const uint8_t ff_dither_8x8_128[9][8] |
Definition at line 37 of file swscale.c.
Referenced by swscale().