avcodec: add emuedge_linesize_type

Currently all uses of the emu edge code as well as the code itself
assume int linesize
changing some but not changing all would introduce a security issue
once all use this typedef a simple search and replace can be
done to switch them all to ptrdiff_t

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 2ffead98dd)

Conflicts:

	libavcodec/videodsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer
2013-09-04 14:22:20 +02:00
parent de5e003369
commit 87908de715
4 changed files with 6 additions and 3 deletions

View File

@@ -215,7 +215,8 @@ void mpeg_motion_internal(MpegEncContext *s,
{ {
uint8_t *ptr_y, *ptr_cb, *ptr_cr; uint8_t *ptr_y, *ptr_cb, *ptr_cr;
int dxy, uvdxy, mx, my, src_x, src_y, int dxy, uvdxy, mx, my, src_x, src_y,
uvsrc_x, uvsrc_y, v_edge_pos, uvlinesize, linesize; uvsrc_x, uvsrc_y, v_edge_pos;
emuedge_linesize_type uvlinesize, linesize;
#if 0 #if 0
if(s->quarter_sample) if(s->quarter_sample)

View File

@@ -29,6 +29,8 @@
#include <stddef.h> #include <stddef.h>
#include <stdint.h> #include <stdint.h>
typedef int emuedge_linesize_type;
typedef struct VideoDSPContext { typedef struct VideoDSPContext {
/** /**
* Copy a rectangular area of samples to a temporary buffer and replicate * Copy a rectangular area of samples to a temporary buffer and replicate

View File

@@ -27,7 +27,7 @@ void FUNC(ff_emulated_edge_mc)(uint8_t *buf, const uint8_t *src,
{ {
int x, y; int x, y;
int start_y, start_x, end_y, end_x; int start_y, start_x, end_y, end_x;
int linesize = linesize_arg; emuedge_linesize_type linesize = linesize_arg;
if (!w || !h) if (!w || !h)
return; return;

View File

@@ -44,7 +44,7 @@ static av_always_inline void emulated_edge_mc(uint8_t *buf, const uint8_t *src,
emu_edge_core_func *core_fn) emu_edge_core_func *core_fn)
{ {
int start_y, start_x, end_y, end_x, src_y_add = 0; int start_y, start_x, end_y, end_x, src_y_add = 0;
int linesize = linesize_arg; emuedge_linesize_type linesize = linesize_arg;
if(!w || !h) if(!w || !h)
return; return;