Commit 035bc647 authored by Baptiste Coudurier's avatar Baptiste Coudurier

add coding unit size for interlaced decoding

Originally committed as revision 9897 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 36ebf912
...@@ -33,6 +33,7 @@ typedef struct { ...@@ -33,6 +33,7 @@ typedef struct {
unsigned int width, height; unsigned int width, height;
int interlaced; int interlaced;
unsigned int frame_size; unsigned int frame_size;
unsigned int coding_unit_size;
int index_bits; int index_bits;
int bit_depth; int bit_depth;
const uint8_t *luma_weigth, *chroma_weigth; const uint8_t *luma_weigth, *chroma_weigth;
...@@ -66,13 +67,13 @@ typedef struct { ...@@ -66,13 +67,13 @@ typedef struct {
} DNXHDContext; } DNXHDContext;
static const CIDEntry cid_table[] = { static const CIDEntry cid_table[] = {
{ 1238, 1920, 1080, 0, 917504, 4, 8, { 1238, 1920, 1080, 0, 917504, 917504, 4, 8,
dnxhd_1238_luma_weigth, dnxhd_1238_chroma_weigth, dnxhd_1238_luma_weigth, dnxhd_1238_chroma_weigth,
dnxhd_1238_dc_codes, dnxhd_1238_dc_bits, dnxhd_1238_dc_codes, dnxhd_1238_dc_bits,
dnxhd_1238_ac_codes, dnxhd_1238_ac_bits, dnxhd_1238_ac_level, dnxhd_1238_ac_codes, dnxhd_1238_ac_bits, dnxhd_1238_ac_level,
dnxhd_1238_ac_run_flag, dnxhd_1238_ac_index_flag, dnxhd_1238_ac_run_flag, dnxhd_1238_ac_index_flag,
dnxhd_1238_run_codes, dnxhd_1238_run_bits, dnxhd_1238_run }, dnxhd_1238_run_codes, dnxhd_1238_run_bits, dnxhd_1238_run },
/* { 1243, 1920, 1080, 1, 917504, 4, 8, */ /* { 1243, 1920, 1080, 1, 917504, 458752, 4, 8, */
/* dnxhd_1243_luma_weigth, dnxhd_1243_chroma_weigth, */ /* dnxhd_1243_luma_weigth, dnxhd_1243_chroma_weigth, */
/* dnxhd_1238_dc_codes, dnxhd_1238_dc_bits, */ /* dnxhd_1238_dc_codes, dnxhd_1238_dc_bits, */
/* dnxhd_1238_ac_codes, dnxhd_1238_ac_bits, dnxhd_1238_ac_level, */ /* dnxhd_1238_ac_codes, dnxhd_1238_ac_bits, dnxhd_1238_ac_level, */
...@@ -170,7 +171,7 @@ static int dnxhd_decode_header(DNXHDContext *ctx, uint8_t *buf, int buf_size) ...@@ -170,7 +171,7 @@ static int dnxhd_decode_header(DNXHDContext *ctx, uint8_t *buf, int buf_size)
if (dnxhd_init_vlc(ctx, ctx->cid) < 0) if (dnxhd_init_vlc(ctx, ctx->cid) < 0)
return -1; return -1;
if (buf_size < ctx->cid_table->frame_size) { if (buf_size < ctx->cid_table->coding_unit_size) {
av_log(ctx->avctx, AV_LOG_ERROR, "incorrect frame size\n"); av_log(ctx->avctx, AV_LOG_ERROR, "incorrect frame size\n");
return -1; return -1;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment