Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>2018-06-18 12:53:56 +0300
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>2018-06-18 12:53:56 +0300
commita707a0b657da7784a1832c3d0b02c0cc5444f6a9 (patch)
tree78e08d3a05b848b0c03e611f3119676306e4f692 /libavcodec/vc1_loopfilter.c
parentb41b6b323417ce1e79bf818f91d60526697954f1 (diff)
Revert "avcodec/vc1: add Simple and Main profile to vc1_put_signed_blocks_clamped"
This reverts commit 2065317db6dc3a219f8ed2de427fe7e19e02eb68. I committed a wrong version of this patch. Also reverts the follow-up commits 77a3dfb3 and 8331e591.
Diffstat (limited to 'libavcodec/vc1_loopfilter.c')
-rw-r--r--libavcodec/vc1_loopfilter.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/libavcodec/vc1_loopfilter.c b/libavcodec/vc1_loopfilter.c
index 5d5630db67..cea7dae7f8 100644
--- a/libavcodec/vc1_loopfilter.c
+++ b/libavcodec/vc1_loopfilter.c
@@ -31,6 +31,36 @@
#include "vc1.h"
#include "vc1dsp.h"
+void ff_vc1_loop_filter_iblk(VC1Context *v, int pq)
+{
+ MpegEncContext *s = &v->s;
+ int j;
+ if (!s->first_slice_line) {
+ v->vc1dsp.vc1_v_loop_filter16(s->dest[0], s->linesize, pq);
+ if (s->mb_x)
+ v->vc1dsp.vc1_h_loop_filter16(s->dest[0] - 16 * s->linesize, s->linesize, pq);
+ v->vc1dsp.vc1_h_loop_filter16(s->dest[0] - 16 * s->linesize + 8, s->linesize, pq);
+ if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY))
+ for (j = 0; j < 2; j++) {
+ v->vc1dsp.vc1_v_loop_filter8(s->dest[j + 1], s->uvlinesize, pq);
+ if (s->mb_x)
+ v->vc1dsp.vc1_h_loop_filter8(s->dest[j + 1] - 8 * s->uvlinesize, s->uvlinesize, pq);
+ }
+ }
+ v->vc1dsp.vc1_v_loop_filter16(s->dest[0] + 8 * s->linesize, s->linesize, pq);
+
+ if (s->mb_y == s->end_mb_y - 1) {
+ if (s->mb_x) {
+ v->vc1dsp.vc1_h_loop_filter16(s->dest[0], s->linesize, pq);
+ if (!CONFIG_GRAY || !(s->avctx->flags & AV_CODEC_FLAG_GRAY)) {
+ v->vc1dsp.vc1_h_loop_filter8(s->dest[1], s->uvlinesize, pq);
+ v->vc1dsp.vc1_h_loop_filter8(s->dest[2], s->uvlinesize, pq);
+ }
+ }
+ v->vc1dsp.vc1_h_loop_filter16(s->dest[0] + 8, s->linesize, pq);
+ }
+}
+
static av_always_inline void vc1_h_overlap_filter(VC1Context *v, int16_t (*left_block)[64],
int16_t (*right_block)[64], int block_num)
{