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>
This commit is contained in:
@ -795,6 +795,7 @@ static void vc1_mc_4mv_chroma(VC1Context *v, int dir)
|
|||||||
/* calculate chroma MV vector from four luma MVs */
|
/* calculate chroma MV vector from four luma MVs */
|
||||||
if (!v->field_mode || (v->field_mode && !v->numref)) {
|
if (!v->field_mode || (v->field_mode && !v->numref)) {
|
||||||
valid_count = get_chroma_mv(mvx, mvy, intra, 0, &tx, &ty);
|
valid_count = get_chroma_mv(mvx, mvy, intra, 0, &tx, &ty);
|
||||||
|
chroma_ref_type = v->reffield;
|
||||||
if (!valid_count) {
|
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][0] = 0;
|
||||||
s->current_picture.f.motion_val[1][s->block_index[0] + v->blocks_off][1] = 0;
|
s->current_picture.f.motion_val[1][s->block_index[0] + v->blocks_off][1] = 0;
|
||||||
|
@ -494,13 +494,15 @@ static int seg_write_trailer(struct AVFormatContext *s)
|
|||||||
AVFormatContext *oc = seg->avf;
|
AVFormatContext *oc = seg->avf;
|
||||||
int ret;
|
int ret;
|
||||||
if (!seg->write_header_trailer) {
|
if (!seg->write_header_trailer) {
|
||||||
ret = segment_end(s, 0);
|
if ((ret = segment_end(s, 0)) < 0)
|
||||||
|
goto fail;
|
||||||
open_null_ctx(&oc->pb);
|
open_null_ctx(&oc->pb);
|
||||||
av_write_trailer(oc);
|
ret = av_write_trailer(oc);
|
||||||
close_null_ctx(oc->pb);
|
close_null_ctx(oc->pb);
|
||||||
} else {
|
} else {
|
||||||
ret = segment_end(s, 1);
|
ret = segment_end(s, 1);
|
||||||
}
|
}
|
||||||
|
fail:
|
||||||
if (seg->list)
|
if (seg->list)
|
||||||
segment_list_close(s);
|
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" },
|
{ "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" },
|
{ "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" },
|
{ "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", "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_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 },
|
{ "segment_times", "set segment split time points", OFFSET(times_str),AV_OPT_TYPE_STRING,{.str = NULL}, 0, 0, E },
|
||||||
|
Reference in New Issue
Block a user