|
FFmpeg
|
Caculate the PSNR between two input videos. More...
#include "libavutil/avstring.h"#include "libavutil/opt.h"#include "libavutil/pixdesc.h"#include "avfilter.h"#include "dualinput.h"#include "drawutils.h"#include "formats.h"#include "internal.h"#include "psnr.h"#include "video.h"Go to the source code of this file.
Data Structures | |
| struct | PSNRContext |
Macros | |
| #define | OFFSET(x) offsetof(PSNRContext, x) |
| #define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define | PF_NOALPHA(suf) AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf |
| #define | PF_ALPHA(suf) AV_PIX_FMT_YUVA420##suf, AV_PIX_FMT_YUVA422##suf, AV_PIX_FMT_YUVA444##suf |
| #define | PF(suf) PF_NOALPHA(suf), PF_ALPHA(suf) |
Functions | |
| AVFILTER_DEFINE_CLASS (psnr) | |
| static unsigned | pow2 (unsigned base) |
| static double | get_psnr (double mse, uint64_t nb_frames, int max) |
| static uint64_t | sse_line_8bit (const uint8_t *main_line, const uint8_t *ref_line, int outw) |
| static uint64_t | sse_line_16bit (const uint8_t *_main_line, const uint8_t *_ref_line, int outw) |
| static void | compute_images_mse (PSNRContext *s, const uint8_t *main_data[4], const int main_linesizes[4], const uint8_t *ref_data[4], const int ref_linesizes[4], int w, int h, double mse[4]) |
| static void | set_meta (AVDictionary **metadata, const char *key, char comp, float d) |
| static AVFrame * | do_psnr (AVFilterContext *ctx, AVFrame *main, const AVFrame *ref) |
| static av_cold int | init (AVFilterContext *ctx) |
| static int | query_formats (AVFilterContext *ctx) |
| static int | config_input_ref (AVFilterLink *inlink) |
| static int | config_output (AVFilterLink *outlink) |
| static int | filter_frame (AVFilterLink *inlink, AVFrame *inpicref) |
| static int | request_frame (AVFilterLink *outlink) |
| static av_cold void | uninit (AVFilterContext *ctx) |
Variables | |
| static const AVOption | psnr_options [] |
| static const AVFilterPad | psnr_inputs [] |
| static const AVFilterPad | psnr_outputs [] |
| AVFilter | ff_vf_psnr |
Caculate the PSNR between two input videos.
Definition in file vf_psnr.c.
| #define OFFSET | ( | x | ) | offsetof(PSNRContext, x) |
| #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
| #define PF_NOALPHA | ( | suf | ) | AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf |
Referenced by query_formats().
| #define PF_ALPHA | ( | suf | ) | AV_PIX_FMT_YUVA420##suf, AV_PIX_FMT_YUVA422##suf, AV_PIX_FMT_YUVA444##suf |
| #define PF | ( | suf | ) | PF_NOALPHA(suf), PF_ALPHA(suf) |
Referenced by query_formats().
| AVFILTER_DEFINE_CLASS | ( | psnr | ) |
|
inlinestatic |
Definition at line 68 of file vf_psnr.c.
Referenced by get_psnr(), sse_line_16bit(), and sse_line_8bit().
|
inlinestatic |
|
static |
Definition at line 78 of file vf_psnr.c.
Referenced by config_input_ref().
|
static |
Definition at line 89 of file vf_psnr.c.
Referenced by config_input_ref().
|
inlinestatic |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| AVFilter ff_vf_psnr |
1.8.6