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:
authorMichael Niedermayer <michaelni@gmx.at>2012-04-02 03:44:30 +0400
committerMichael Niedermayer <michaelni@gmx.at>2012-04-02 03:44:30 +0400
commit336d5ae37b31704509c3989c5572598267bb56ff (patch)
tree347ade43ced4892862caf4bbd33784c5c048a25a /libavfilter
parente00d6e80ff62d151fb9c20336ee365ca42854a69 (diff)
parentb6cc1c77fd7d6a037c0c0c848c3621c7b1ff33b6 (diff)
Merge branch 'release/0.8' into release/0.7
* release/0.8: (182 commits) id3v2: fix skipping extended header in id3v2.4 Update RELEASE file for 0.7.5 lcl: use AVERROR_INVALIDDATA instead of AVERROR_UNKNOWN kgv1dec: Increase offsets array size so it is large enough. kgv1: use avctx->get/release_buffer(). kvmc: fix invalid reads nsvdec: Propagate error values instead of returning 0 in nsv_read_header(). mjpegbdec: Fix overflow in SOS. shorten: Use separate pointers for the allocated memory for decoded samples. shorten: check for realloc failure (cherry picked from commit 9e5e2c2d010c05c10337e9c1ec9d0d61495e0c9c) atrac3: Fix crash in tonal component decoding. ws_snd1: Fix wrong samples count and crash. ws_snd: add some checks to prevent buffer overread or overwrite. (cherry picked from commit 417364ce1f979031ef6fee661fc15e1869bdb1b4) ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16. dca: include libavutil/mathematics.h for possibly missing M_SQRT1_2 h264: stricter reference limit enforcement. jvdec: unbreak video decoding xxan: don't read before start of buffer in av_memcpy_backptr(). dsicinvideo: validate buffer offset before copying pixels. huffyuv: add padding to classic (v1) huffman tables. ... Conflicts: Doxyfile RELEASE VERSION Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/vf_pad.c2
-rw-r--r--libavfilter/vf_scale.c8
-rw-r--r--libavfilter/vf_yadif.c9
3 files changed, 12 insertions, 7 deletions
diff --git a/libavfilter/vf_pad.c b/libavfilter/vf_pad.c
index 0ca5bd08fc..3cb8e93be2 100644
--- a/libavfilter/vf_pad.c
+++ b/libavfilter/vf_pad.c
@@ -157,7 +157,7 @@ static int config_input(AVFilterLink *inlink)
var_values[VAR_OUT_H] = var_values[VAR_OH] = NAN;
var_values[VAR_A] = (float) inlink->w / inlink->h;
var_values[VAR_HSUB] = 1<<pad->hsub;
- var_values[VAR_VSUB] = 2<<pad->vsub;
+ var_values[VAR_VSUB] = 1<<pad->vsub;
/* evaluate width and height */
av_expr_parse_and_eval(&res, (expr = pad->w_expr),
diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index 8f2f1d5f52..1760233ff9 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -232,9 +232,11 @@ static int config_props(AVFilterLink *outlink)
if (!scale->sws || !scale->isws[0] || !scale->isws[1])
return AVERROR(EINVAL);
- if (inlink->sample_aspect_ratio.num){
- outlink->sample_aspect_ratio = av_mul_q((AVRational){outlink->h * inlink->w, outlink->w * inlink->h}, inlink->sample_aspect_ratio);
- } else
+ if (inlink->sample_aspect_ratio.num)
+ outlink->sample_aspect_ratio = av_mul_q((AVRational){outlink->h*inlink->w,
+ outlink->w*inlink->h},
+ inlink->sample_aspect_ratio);
+ else
outlink->sample_aspect_ratio = inlink->sample_aspect_ratio;
return 0;
diff --git a/libavfilter/vf_yadif.c b/libavfilter/vf_yadif.c
index 296328b71a..431d11b9de 100644
--- a/libavfilter/vf_yadif.c
+++ b/libavfilter/vf_yadif.c
@@ -36,8 +36,8 @@ typedef struct {
int mode;
/**
- * 0: bottom field first
- * 1: top field first
+ * 0: top field first
+ * 1: bottom field first
* -1: auto-detection
*/
int parity;
@@ -195,9 +195,12 @@ static void return_frame(AVFilterContext *ctx, int is_second)
tff = yadif->parity^1;
}
- if (is_second)
+ if (is_second) {
yadif->out = avfilter_get_video_buffer(link, AV_PERM_WRITE | AV_PERM_PRESERVE |
AV_PERM_REUSE, link->w, link->h);
+ avfilter_copy_buffer_ref_props(yadif->out, yadif->cur);
+ yadif->out->video->interlaced = 0;
+ }
if (!yadif->csp)
yadif->csp = &av_pix_fmt_descriptors[link->format];