History

avcodec/proresenc_anatoliy: Remove support for grayscale flag

This results in the encoder producing empty scans for chroma planes, which is illegal according to the ProRes SMPTE document.

averne committed 1 year ago

Commit bf791481 parent a49108f1 file · +5 −7Browse files

Unified · Split

libavcodec/proresenc_anatoliy.c+5−7
@@ -397,14 +397,12 @@ static av_always_inline unsigned encode_slice_data(AVCodecContext *avctx, · 396 unmodified lines
397397 *y_data_size = encode_slice_plane(blocks_y, mb_count,
398398 buf, data_size, ctx->qmat_luma[qp - 1], 0, ctx->scantable);
399399
400− if (!(avctx->flags & AV_CODEC_FLAG_GRAY)) {
401− *u_data_size = encode_slice_plane(blocks_u, mb_count, buf + *y_data_size, data_size - *y_data_size,
402− ctx->qmat_chroma[qp - 1], ctx->is_422, ctx->scantable);
400+ *u_data_size = encode_slice_plane(blocks_u, mb_count, buf + *y_data_size, data_size - *y_data_size,
401+ ctx->qmat_chroma[qp - 1], ctx->is_422, ctx->scantable);
403402
404− *v_data_size = encode_slice_plane(blocks_v, mb_count, buf + *y_data_size + *u_data_size,
405− data_size - *y_data_size - *u_data_size,
406− ctx->qmat_chroma[qp - 1], ctx->is_422, ctx->scantable);
407− }
403+ *v_data_size = encode_slice_plane(blocks_v, mb_count, buf + *y_data_size + *u_data_size,
404+ data_size - *y_data_size - *u_data_size,
405+ ctx->qmat_chroma[qp - 1], ctx->is_422, ctx->scantable);
408406
409407 return *y_data_size + *u_data_size + *v_data_size;
410408 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t