|
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/imgutils.h"#include "libavutil/intreadwrite.h"#include "libavutil/mathematics.h"#include "libavutil/mem_internal.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 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) |
| 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 67 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 97 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 126 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 142 of file swscale.c.
Referenced by sws_init_swscale().
|
static |
Definition at line 161 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 170 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 179 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 186 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 193 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 204 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 215 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 224 of file swscale.c.
Referenced by ff_sws_init_range_convert().
|
static |
Definition at line 238 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 536 of file swscale.c.
Referenced by sws_init_swscale(), and sws_setColorspaceDetails().
|
static |
Definition at line 561 of file swscale.c.
Referenced by ff_sws_init_scale().
| void ff_sws_init_scale | ( | SwsContext * | c | ) |
Definition at line 593 of file swscale.c.
Referenced by check_hscale(), check_yuv2yuvX(), and sws_init_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 1217 of file swscale.c.
Referenced by context_init_threaded().
| const uint8_t ff_dither_8x8_128[9][8] |
Definition at line 40 of file swscale.c.
Referenced by swscale().
1.8.17