mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
swscale/utils: fix changing src/dst range after initializing the context
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
fa98885be4
commit
4959a4fcf7
@ -983,6 +983,7 @@ int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
|
||||
{
|
||||
const AVPixFmtDescriptor *desc_dst;
|
||||
const AVPixFmtDescriptor *desc_src;
|
||||
int need_reinit = 0;
|
||||
memmove(c->srcColorspaceTable, inv_table, sizeof(int) * 4);
|
||||
memmove(c->dstColorspaceTable, table, sizeof(int) * 4);
|
||||
|
||||
@ -998,9 +999,14 @@ int sws_setColorspaceDetails(struct SwsContext *c, const int inv_table[4],
|
||||
c->brightness = brightness;
|
||||
c->contrast = contrast;
|
||||
c->saturation = saturation;
|
||||
if (c->srcRange != srcRange || c->dstRange != dstRange)
|
||||
need_reinit = 1;
|
||||
c->srcRange = srcRange;
|
||||
c->dstRange = dstRange;
|
||||
|
||||
if (need_reinit && c->srcBpc == 8)
|
||||
ff_sws_init_range_convert(c);
|
||||
|
||||
if ((isYUV(c->dstFormat) || isGray(c->dstFormat)) && (isYUV(c->srcFormat) || isGray(c->srcFormat)))
|
||||
return -1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user