aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2012-10-11 14:28:18 +0200
committerMichael Niedermayer <michaelni@gmx.at>2012-10-11 14:28:18 +0200
commitb6c3487e7f2f8f0d8fae9df023c46ed3112c7443 (patch)
tree414b4d0e04e8e7763a36600f9763a8ef8a279510
parentde31814ab07fd971d24c66a5e1ecf464b7ebe033 (diff)
parent88058d9a994f42e4e9ed4e67baf696bbfe53128c (diff)
downloadffmpeg-b6c3487e7f2f8f0d8fae9df023c46ed3112c7443.tar.gz
Merge commit '88058d9a994f42e4e9ed4e67baf696bbfe53128c'
* commit '88058d9a994f42e4e9ed4e67baf696bbfe53128c': vc1dec: Set chroma reference field from REFFIELD for 1REF field pictures segment: support applehttp style list Conflicts: libavformat/segment.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavcodec/vc1dec.c1
-rw-r--r--libavformat/segment.c7
2 files changed, 6 insertions, 2 deletions
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 33ca4bf968..f954a2a13f 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -795,6 +795,7 @@ static void vc1_mc_4mv_chroma(VC1Context *v, int dir)
/* calculate chroma MV vector from four luma MVs */
if (!v->field_mode || (v->field_mode && !v->numref)) {
valid_count = get_chroma_mv(mvx, mvy, intra, 0, &tx, &ty);
+ chroma_ref_type = v->reffield;
if (!valid_count) {
s->current_picture.f.motion_val[1][s->block_index[0] + v->blocks_off][0] = 0;
s->current_picture.f.motion_val[1][s->block_index[0] + v->blocks_off][1] = 0;
diff --git a/libavformat/segment.c b/libavformat/segment.c
index ad9770eb5d..b6697e0940 100644
--- a/libavformat/segment.c
+++ b/libavformat/segment.c
@@ -494,13 +494,15 @@ static int seg_write_trailer(struct AVFormatContext *s)
AVFormatContext *oc = seg->avf;
int ret;
if (!seg->write_header_trailer) {
- ret = segment_end(s, 0);
+ if ((ret = segment_end(s, 0)) < 0)
+ goto fail;
open_null_ctx(&oc->pb);
- av_write_trailer(oc);
+ ret = av_write_trailer(oc);
close_null_ctx(oc->pb);
} else {
ret = segment_end(s, 1);
}
+fail:
if (seg->list)
segment_list_close(s);
@@ -527,6 +529,7 @@ static const AVOption options[] = {
{ "csv", "csv format", 0, AV_OPT_TYPE_CONST, {.i64=LIST_TYPE_CSV }, INT_MIN, INT_MAX, 0, "list_type" },
{ "ext", "extended format", 0, AV_OPT_TYPE_CONST, {.i64=LIST_TYPE_EXT }, INT_MIN, INT_MAX, 0, "list_type" },
{ "m3u8", "M3U8 format", 0, AV_OPT_TYPE_CONST, {.i64=LIST_TYPE_M3U8 }, INT_MIN, INT_MAX, 0, "list_type" },
+ { "hls", "Apple HTTP Live Streaming compatible", 0, AV_OPT_TYPE_CONST, {.i64=LIST_TYPE_M3U8 }, INT_MIN, INT_MAX, 0, "list_type" },
{ "segment_time", "set segment duration", OFFSET(time_str),AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E },
{ "segment_time_delta","set approximation value used for the segment times", OFFSET(time_delta_str), AV_OPT_TYPE_STRING, {.str = "0"}, 0, 0, E },
{ "segment_times", "set segment split time points", OFFSET(times_str),AV_OPT_TYPE_STRING,{.str = NULL}, 0, 0, E },