On 8/3/2017 4:22 AM, Steinar H. Gunderson wrote: > The height convention for decoding frames with only a single field made sense > for compatibility with legacy decoders, but doesn't really match the > convention > used by NDI, which is the primary (only?) user. Thus, change it to simply > assuming that if the two fields overlap, the frame is meant to be a single > field and the frame height matches the field height. > --- > libavcodec/speedhq.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/libavcodec/speedhq.c b/libavcodec/speedhq.c > index 60efb0222b..47b1e4dc7a 100644 > --- a/libavcodec/speedhq.c > +++ b/libavcodec/speedhq.c > @@ -450,10 +450,13 @@ static int speedhq_decode_frame(AVCodecContext *avctx, > if (second_field_offset == 4) { > /* > * Overlapping first and second fields is used to signal > - * encoding only a single field (the second field then comes > - * as a separate, later frame). > + * encoding only a single field. In this case, "height" > + * is ambiguous; it could mean either the height of the > + * frame as a whole, or of the field. The former would make > + * more sense for compatibility with legacy decoders, > + * but this matches the convention used in NDI, which is > + * the primary user of this trick. > */ > - frame->height >>= 1; > if ((ret = decode_speedhq_field(s, buf, buf_size, frame, 0, 4, > buf_size, 1)) < 0) > return ret; > } else { >
Applied. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel