On Sat, Feb 13, 2016 at 04:35:24PM -0800, Mark Reid wrote: > --- > libavcodec/dnxhd_parser.c | 7 +++---- > libavcodec/dnxhddata.c | 8 ++++++++ > libavcodec/dnxhddata.h | 18 +++++++++++++++++- > libavcodec/dnxhddec.c | 12 ++++-------- > libavformat/dnxhddec.c | 7 ++++--- > 5 files changed, 36 insertions(+), 16 deletions(-) > > diff --git a/libavcodec/dnxhd_parser.c b/libavcodec/dnxhd_parser.c > index fffb98f..033b8ee 100644 > --- a/libavcodec/dnxhd_parser.c > +++ b/libavcodec/dnxhd_parser.c > @@ -25,8 +25,7 @@ > */ > > #include "parser.h" > - > -#define DNXHD_HEADER_PREFIX 0x000002800100 > +#include "dnxhddata.h" > > typedef struct { > ParseContext pc; > @@ -47,7 +46,7 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, > if (!pic_found) { > for (i = 0; i < buf_size; i++) { > state = (state << 8) | buf[i]; > - if ((state & 0xffffffffff00LL) == DNXHD_HEADER_PREFIX) { > + if (ff_dnxhd_check_header_prefix(state & 0xffffffffff00LL) != 0) > { > i++; > pic_found = 1; > interlaced = (state&2)>>1; /* byte following the 5-byte > header prefix */ > @@ -62,7 +61,7 @@ static int dnxhd_find_frame_end(DNXHDParserContext *dctx, > return 0; > for (; i < buf_size; i++) { > state = (state << 8) | buf[i]; > - if ((state & 0xffffffffff00LL) == DNXHD_HEADER_PREFIX) { > + if (ff_dnxhd_check_header_prefix(state & 0xffffffffff00LL) != 0) > { > if (!interlaced || dctx->cur_field) { > pc->frame_start_found = 0; > pc->state64 = -1; > diff --git a/libavcodec/dnxhddata.c b/libavcodec/dnxhddata.c > index 82fbfdf..6955fd0 100644 > --- a/libavcodec/dnxhddata.c > +++ b/libavcodec/dnxhddata.c > @@ -22,6 +22,7 @@ > #include "avcodec.h" > #include "dnxhddata.h" > #include "libavutil/common.h" > +#include "libavutil/intreadwrite.h" > > /* The quantization tables below are in zigzag order! */ > > @@ -1102,6 +1103,13 @@ int avpriv_dnxhd_get_interlaced(int cid) > return ff_dnxhd_cid_table[i].flags & DNXHD_INTERLACED ? 1 : 0; > } > > +uint64_t avpriv_dnxhd_parse_header_prefix(const uint8_t *buf) > +{ > + uint64_t prefix = AV_RB32(buf); > + prefix = (prefix << 16) | buf[4] << 8; > + return ff_dnxhd_check_header_prefix(prefix); > +} > +
[...] > +static av_always_inline uint64_t ff_dnxhd_check_header_prefix(uint64_t > prefix) > +{ > + if (prefix == DNXHD_HEADER_INITIAL || > + prefix == DNXHD_HEADER_444 || > + prefix == DNXHD_HEADER_HR1 || > + prefix == DNXHD_HEADER_HR2) > + return prefix; > + return 0; > +} the indention depth is inconsistent with the existing code [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Dictatorship: All citizens are under surveillance, all their steps and actions recorded, for the politicians to enforce control. Democracy: All politicians are under surveillance, all their steps and actions recorded, for the citizens to enforce control.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel