> +static av_always_inline void coeff_quantize_encode(PutBitContext *pb, qcoef > coeff, > + int qfactor, int qoffset) > +{ > + uint16_t acoef; > + int sign = coeff < 0;
FFSIGN > + coeff -= sign; > + coeff ^= -sign; > + coeff <<= 2; > + coeff = (coeff - qoffset)/qfactor; > + acoef = abs(coeff); > + put_dirac_ue_uint(pb, acoef); > + if (acoef) > + put_bits(pb, 1, sign); > +} Might be faster to write a signed function, dunno > +static av_always_inline void coeff_quantize_get(qcoef coeff, int qfactor, > int qoffset, > + uint8_t *len, uint32_t *eval) > +{ > + uint16_t acoef; > + int sign = coeff < 0; same > + coeff -= sign; > + coeff ^= -sign; > + coeff <<= 2; > + coeff = (coeff - qoffset)/qfactor; > + acoef = abs(coeff); > + get_dirac_ue_uint(acoef, len, eval); > + if (acoef) { > + *eval = (*eval << 1) | sign; > + *len += 1; > + } > +} same > + if (avctx->pix_fmt != AV_PIX_FMT_YUV422P10 || > + avctx->width != 1920 || avctx->height != 1080) { > + if (avctx->strict_std_compliance <= FF_COMPLIANCE_EXPERIMENTAL) { > + s->strict_compliance = 0; > + av_log(avctx, AV_LOG_WARNING, "Disabling strict compliance\n"); > + } else { > + av_log(avctx, AV_LOG_ERROR, "Pixel formats other than > yuv422p10le " > + "and sizes other than 1920x1080 are not within the standard, but > are " > + "still decodable by most decoders, add -strict -2 to enable > support.\n"); > + return AVERROR_UNKNOWN; > + } Should obviously implement the other resolutions allowed. Kieran _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel