diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-09-05 04:41:22 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-09-07 03:17:28 +0200 |
commit | c9a0f9bf3ce263f1c0941070225e9a5f97b773bc (patch) | |
tree | 12d9184733596793fbe794878418d56171a4375a /libavfilter/avcodec.c | |
parent | de9f5b6853a7c860391df7636dc2bce90afd9a7d (diff) | |
download | ffmpeg-c9a0f9bf3ce263f1c0941070225e9a5f97b773bc.tar.gz |
libavfilter: pass QP table through the filter chain
Any volunteers to port the pp and spp filters from libmpcodec?
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter/avcodec.c')
-rw-r--r-- | libavfilter/avcodec.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavfilter/avcodec.c b/libavfilter/avcodec.c index f452303bb4..95e30b3d16 100644 --- a/libavfilter/avcodec.c +++ b/libavfilter/avcodec.c @@ -42,6 +42,16 @@ int avfilter_copy_frame_props(AVFilterBufferRef *dst, const AVFrame *src) dst->video->top_field_first = src->top_field_first; dst->video->key_frame = src->key_frame; dst->video->pict_type = src->pict_type; + av_freep(&dst->video->qp_table); + dst->video->qp_table_linesize = 0; + if (src->qscale_table) { + int qsize = src->qstride ? src->qstride * ((src->height+15)/16) : (src->width+15)/16; + dst->video->qp_table = av_malloc(qsize); + if(!dst->video->qp_table) + return AVERROR(ENOMEM); + dst->video->qp_table_linesize = src->qstride; + memcpy(dst->video->qp_table, src->qscale_table, qsize); + } break; case AVMEDIA_TYPE_AUDIO: dst->audio->sample_rate = src->sample_rate; |