Skip to content

Commit 286bdc9

Browse files
committed
swscale/internal: turn cascaded_tmp into an array
Slightly more convenient to access from the new wrapping code. Sponsored-by: Sovereign Tech Fund Signed-off-by: Niklas Haas <[email protected]>
1 parent 6136948 commit 286bdc9

File tree

3 files changed

+20
-22
lines changed

3 files changed

+20
-22
lines changed

libswscale/swscale.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -837,26 +837,26 @@ static int scale_gamma(SwsContext *c,
837837
{
838838
int ret = scale_internal(c->cascaded_context[0],
839839
srcSlice, srcStride, srcSliceY, srcSliceH,
840-
c->cascaded_tmp, c->cascaded_tmpStride, 0, c->srcH);
840+
c->cascaded_tmp[0], c->cascaded_tmpStride[0], 0, c->srcH);
841841

842842
if (ret < 0)
843843
return ret;
844844

845845
if (c->cascaded_context[2])
846-
ret = scale_internal(c->cascaded_context[1], (const uint8_t * const *)c->cascaded_tmp,
847-
c->cascaded_tmpStride, srcSliceY, srcSliceH,
848-
c->cascaded1_tmp, c->cascaded1_tmpStride, 0, c->dstH);
846+
ret = scale_internal(c->cascaded_context[1], (const uint8_t * const *)c->cascaded_tmp[0],
847+
c->cascaded_tmpStride[0], srcSliceY, srcSliceH,
848+
c->cascaded_tmp[1], c->cascaded_tmpStride[1], 0, c->dstH);
849849
else
850-
ret = scale_internal(c->cascaded_context[1], (const uint8_t * const *)c->cascaded_tmp,
851-
c->cascaded_tmpStride, srcSliceY, srcSliceH,
850+
ret = scale_internal(c->cascaded_context[1], (const uint8_t * const *)c->cascaded_tmp[0],
851+
c->cascaded_tmpStride[0], srcSliceY, srcSliceH,
852852
dstSlice, dstStride, dstSliceY, dstSliceH);
853853

854854
if (ret < 0)
855855
return ret;
856856

857857
if (c->cascaded_context[2]) {
858-
ret = scale_internal(c->cascaded_context[2], (const uint8_t * const *)c->cascaded1_tmp,
859-
c->cascaded1_tmpStride, c->cascaded_context[1]->dstY - ret,
858+
ret = scale_internal(c->cascaded_context[2], (const uint8_t * const *)c->cascaded_tmp[1],
859+
c->cascaded_tmpStride[1], c->cascaded_context[1]->dstY - ret,
860860
c->cascaded_context[1]->dstY,
861861
dstSlice, dstStride, dstSliceY, dstSliceH);
862862
}
@@ -871,12 +871,12 @@ static int scale_cascaded(SwsContext *c,
871871
{
872872
int ret = scale_internal(c->cascaded_context[0],
873873
srcSlice, srcStride, srcSliceY, srcSliceH,
874-
c->cascaded_tmp, c->cascaded_tmpStride,
874+
c->cascaded_tmp[0], c->cascaded_tmpStride[0],
875875
0, c->cascaded_context[0]->dstH);
876876
if (ret < 0)
877877
return ret;
878878
ret = scale_internal(c->cascaded_context[1],
879-
(const uint8_t * const * )c->cascaded_tmp, c->cascaded_tmpStride,
879+
(const uint8_t * const * )c->cascaded_tmp[0], c->cascaded_tmpStride[0],
880880
0, c->cascaded_context[0]->dstH,
881881
dstSlice, dstStride, dstSliceY, dstSliceH);
882882
return ret;

libswscale/swscale_internal.h

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,8 @@ typedef struct SwsContext {
351351
* downscaling factor that needs to be supported in one scaler.
352352
*/
353353
struct SwsContext *cascaded_context[3];
354-
int cascaded_tmpStride[4];
355-
uint8_t *cascaded_tmp[4];
356-
int cascaded1_tmpStride[4];
357-
uint8_t *cascaded1_tmp[4];
354+
int cascaded_tmpStride[2][4];
355+
uint8_t *cascaded_tmp[2][4];
358356
int cascaded_mainindex;
359357

360358
double gamma_value;

libswscale/utils.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1133,7 +1133,7 @@ int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
11331133
tmp_height = srcH;
11341134
}
11351135

1136-
ret = av_image_alloc(c->cascaded_tmp, c->cascaded_tmpStride,
1136+
ret = av_image_alloc(c->cascaded_tmp[0], c->cascaded_tmpStride[0],
11371137
tmp_width, tmp_height, tmp_format, 64);
11381138
if (ret < 0)
11391139
return ret;
@@ -1613,7 +1613,7 @@ static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter,
16131613
SwsContext *c2;
16141614
c->cascaded_context[0] = NULL;
16151615

1616-
ret = av_image_alloc(c->cascaded_tmp, c->cascaded_tmpStride,
1616+
ret = av_image_alloc(c->cascaded_tmp[0], c->cascaded_tmpStride[0],
16171617
srcW, srcH, tmpFmt, 64);
16181618
if (ret < 0)
16191619
return ret;
@@ -1651,7 +1651,7 @@ static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter,
16511651

16521652
c->cascaded_context[2] = NULL;
16531653
if (dstFormat != tmpFmt) {
1654-
ret = av_image_alloc(c->cascaded1_tmp, c->cascaded1_tmpStride,
1654+
ret = av_image_alloc(c->cascaded_tmp[1], c->cascaded_tmpStride[1],
16551655
dstW, dstH, tmpFmt, 64);
16561656
if (ret < 0)
16571657
return ret;
@@ -1671,7 +1671,7 @@ static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter,
16711671
dstFormat != AV_PIX_FMT_RGB48)) {
16721672
enum AVPixelFormat tmpFormat = isBayer16BPS(srcFormat) ? AV_PIX_FMT_RGB48 : AV_PIX_FMT_RGB24;
16731673

1674-
ret = av_image_alloc(c->cascaded_tmp, c->cascaded_tmpStride,
1674+
ret = av_image_alloc(c->cascaded_tmp[0], c->cascaded_tmpStride[0],
16751675
srcW, srcH, tmpFormat, 64);
16761676
if (ret < 0)
16771677
return ret;
@@ -1714,7 +1714,7 @@ static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter,
17141714
c->srcRange != c->dstRange
17151715
) {
17161716
c->cascaded_mainindex = 1;
1717-
ret = av_image_alloc(c->cascaded_tmp, c->cascaded_tmpStride,
1717+
ret = av_image_alloc(c->cascaded_tmp[0], c->cascaded_tmpStride[0],
17181718
srcW, srcH, tmpFormat, 64);
17191719
if (ret < 0)
17201720
return ret;
@@ -1996,7 +1996,7 @@ static av_cold int sws_init_single_context(SwsContext *c, SwsFilter *srcFilter,
19961996
if (srcW*(int64_t)srcH <= 4LL*dstW*dstH)
19971997
return AVERROR(EINVAL);
19981998

1999-
ret = av_image_alloc(c->cascaded_tmp, c->cascaded_tmpStride,
1999+
ret = av_image_alloc(c->cascaded_tmp[0], c->cascaded_tmpStride[0],
20002000
tmpW, tmpH, tmpFormat, 64);
20012001
if (ret < 0)
20022002
return ret;
@@ -2490,8 +2490,8 @@ void sws_freeContext(SwsContext *c)
24902490
sws_freeContext(c->cascaded_context[1]);
24912491
sws_freeContext(c->cascaded_context[2]);
24922492
memset(c->cascaded_context, 0, sizeof(c->cascaded_context));
2493-
av_freep(&c->cascaded_tmp[0]);
2494-
av_freep(&c->cascaded1_tmp[0]);
2493+
av_freep(&c->cascaded_tmp[0][0]);
2494+
av_freep(&c->cascaded_tmp[1][0]);
24952495

24962496
av_freep(&c->gamma);
24972497
av_freep(&c->inv_gamma);

0 commit comments

Comments
 (0)