mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
lavc/h274: correct grain DB indices
The spec specified indices in the order [x][y], but our code follows the traditional C convention of [y][x]. This was not correctly account for when calculating the base index of the grain database access.
This commit is contained in:
parent
338a5fcdbe
commit
616e9d2413
@ -259,11 +259,11 @@ int ff_h274_apply_film_grain(AVFrame *out_frame, const AVFrame *in_frame,
|
||||
// only advanced in 16x16 blocks, so use a nested loop
|
||||
for (int y = 0; y < height; y += 16) {
|
||||
for (int x = 0; x < width; x += 16) {
|
||||
uint16_t y_offset = (seed >> 16) % 52;
|
||||
uint16_t x_offset = (seed & 0xFFFF) % 56;
|
||||
uint16_t x_offset = (seed >> 16) % 52;
|
||||
uint16_t y_offset = (seed & 0xFFFF) % 56;
|
||||
const int invert = (seed & 0x1);
|
||||
y_offset &= 0xFFFC;
|
||||
x_offset &= 0xFFF8;
|
||||
x_offset &= 0xFFFC;
|
||||
y_offset &= 0xFFF8;
|
||||
prng_shift(&seed);
|
||||
|
||||
for (int yy = 0; yy < 16 && y+yy < height; yy += 8) {
|
||||
|
Loading…
Reference in New Issue
Block a user