Unified · Split
| @@ -813,11 +813,11 @@ static int filter_slice_planar(AVFilterContext *ctx, void *arg, int jobnr, int n · 812 unmodified lines | |||
| 813 | uint16_t *dstrp = ( uint16_t *)(out->data[r] + y * out->linesize[r]); | 813 | uint16_t *dstrp = ( uint16_t *)(out->data[r] + y * out->linesize[r]); |
| 814 | uint16_t *dstgp = ( uint16_t *)(out->data[g] + y * out->linesize[g]); | 814 | uint16_t *dstgp = ( uint16_t *)(out->data[g] + y * out->linesize[g]); |
| 815 | uint16_t *dstbp = ( uint16_t *)(out->data[b] + y * out->linesize[b]); | 815 | uint16_t *dstbp = ( uint16_t *)(out->data[b] + y * out->linesize[b]); |
| 816 | uint16_t *dstap = ( uint16_t *)(out->data[a] + y * out->linesize[a]); | 816 | uint16_t *dstap = ( uint16_t *)(step == 4 ? out->data[a] + y * out->linesize[a] : NULL); |
| 817 | const uint16_t *srcrp = (const uint16_t *)(in ->data[r] + y * in->linesize[r]); | 817 | const uint16_t *srcrp = (const uint16_t *)(in ->data[r] + y * in->linesize[r]); |
| 818 | const uint16_t *srcgp = (const uint16_t *)(in ->data[g] + y * in->linesize[g]); | 818 | const uint16_t *srcgp = (const uint16_t *)(in ->data[g] + y * in->linesize[g]); |
| 819 | const uint16_t *srcbp = (const uint16_t *)(in ->data[b] + y * in->linesize[b]); | 819 | const uint16_t *srcbp = (const uint16_t *)(in ->data[b] + y * in->linesize[b]); |
| 820 | const uint16_t *srcap = (const uint16_t *)(in ->data[a] + y * in->linesize[a]); | 820 | const uint16_t *srcap = (const uint16_t *)(step == 4 ? in ->data[a] + y * in->linesize[a] : NULL); |
| 821 | 821 | ||
| 822 | for (x = 0; x < in->width; x++) { | 822 | for (x = 0; x < in->width; x++) { |
| 823 | dstrp[x] = curves->graph[R][srcrp[x]]; | 823 | dstrp[x] = curves->graph[R][srcrp[x]]; |
| @@ -831,11 +831,13 @@ static int filter_slice_planar(AVFilterContext *ctx, void *arg, int jobnr, int n · 7 unmodified lines | |||
| 831 | uint8_t *dstr = out->data[r] + slice_start * out->linesize[r]; | 831 | uint8_t *dstr = out->data[r] + slice_start * out->linesize[r]; |
| 832 | uint8_t *dstg = out->data[g] + slice_start * out->linesize[g]; | 832 | uint8_t *dstg = out->data[g] + slice_start * out->linesize[g]; |
| 833 | uint8_t *dstb = out->data[b] + slice_start * out->linesize[b]; | 833 | uint8_t *dstb = out->data[b] + slice_start * out->linesize[b]; |
| 834 | uint8_t *dsta = out->data[a] + slice_start * out->linesize[a]; | 834 | uint8_t *dsta = step == 4 ? out->data[a] |
| 835 | + slice_start * out->linesize[a] : NULL; | ||
| 835 | const uint8_t *srcr = in->data[r] + slice_start * in->linesize[r]; | 836 | const uint8_t *srcr = in->data[r] + slice_start * in->linesize[r]; |
| 836 | const uint8_t *srcg = in->data[g] + slice_start * in->linesize[g]; | 837 | const uint8_t *srcg = in->data[g] + slice_start * in->linesize[g]; |
| 837 | const uint8_t *srcb = in->data[b] + slice_start * in->linesize[b]; | 838 | const uint8_t *srcb = in->data[b] + slice_start * in->linesize[b]; |
| 838 | const uint8_t *srca = in->data[a] + slice_start * in->linesize[a]; | 839 | const uint8_t *srca = step == 4 ? in->data[a] |
| 840 | + slice_start * in->linesize[a] : NULL; | ||
| 839 | 841 | ||
| 840 | for (y = slice_start; y < slice_end; y++) { | 842 | for (y = slice_start; y < slice_end; y++) { |
| 841 | for (x = 0; x < in->width; x++) { | 843 | for (x = 0; x < in->width; x++) { |
| @@ -848,11 +850,13 @@ static int filter_slice_planar(AVFilterContext *ctx, void *arg, int jobnr, int n · 6 unmodified lines | |||
| 848 | dstr += out->linesize[r]; | 850 | dstr += out->linesize[r]; |
| 849 | dstg += out->linesize[g]; | 851 | dstg += out->linesize[g]; |
| 850 | dstb += out->linesize[b]; | 852 | dstb += out->linesize[b]; |
| 851 | dsta += out->linesize[a]; | ||
| 852 | srcr += in ->linesize[r]; | 853 | srcr += in ->linesize[r]; |
| 853 | srcg += in ->linesize[g]; | 854 | srcg += in ->linesize[g]; |
| 854 | srcb += in ->linesize[b]; | 855 | srcb += in ->linesize[b]; |
| 855 | srca += in ->linesize[a]; | 856 | if (step == 4) { |
| 857 | dsta += out->linesize[a]; | ||
| 858 | srca += in ->linesize[a]; | ||
| 859 | } | ||
| 856 | } | 860 | } |
| 857 | } | 861 | } |
| 858 | return 0; | 862 | return 0; |