Lines Matching refs:bit_ctx

38 static void vp8hwdBoolStart(vpBoolCoder_t *bit_ctx, RK_U8 *buffer, RK_U32 len)  in vp8hwdBoolStart()  argument
41 bit_ctx->lowvalue = 0; in vp8hwdBoolStart()
42 bit_ctx->range = 255; in vp8hwdBoolStart()
43 bit_ctx->count = 8; in vp8hwdBoolStart()
44 bit_ctx->buffer = buffer; in vp8hwdBoolStart()
45 bit_ctx->pos = 0; in vp8hwdBoolStart()
47 bit_ctx->value = (bit_ctx->buffer[0] << 24) + (bit_ctx->buffer[1] << 16) in vp8hwdBoolStart()
48 + (bit_ctx->buffer[2] << 8) + (bit_ctx->buffer[3]); in vp8hwdBoolStart()
50 bit_ctx->pos += 4; in vp8hwdBoolStart()
52 bit_ctx->streamEndPos = len; in vp8hwdBoolStart()
53 bit_ctx->strmError = bit_ctx->pos > bit_ctx->streamEndPos; in vp8hwdBoolStart()
58 static RK_U32 vp8hwdDecodeBool(vpBoolCoder_t *bit_ctx, RK_S32 probability) in vp8hwdDecodeBool() argument
63 RK_U32 count = bit_ctx->count; in vp8hwdDecodeBool()
64 RK_U32 range = bit_ctx->range; in vp8hwdDecodeBool()
65 RK_U32 value = bit_ctx->value; in vp8hwdDecodeBool()
73 range = bit_ctx->range - split; in vp8hwdDecodeBool()
79 bit_ctx->value = value; in vp8hwdDecodeBool()
80 bit_ctx->range = range; in vp8hwdDecodeBool()
89 if (bit_ctx->pos >= bit_ctx->streamEndPos) { in vp8hwdDecodeBool()
90 bit_ctx->strmError = 1; in vp8hwdDecodeBool()
95 value |= bit_ctx->buffer[bit_ctx->pos]; in vp8hwdDecodeBool()
96 bit_ctx->pos++; in vp8hwdDecodeBool()
102 bit_ctx->count = count; in vp8hwdDecodeBool()
103 bit_ctx->value = value; in vp8hwdDecodeBool()
104 bit_ctx->range = range; in vp8hwdDecodeBool()
110 static RK_U32 vp8hwdDecodeBool128(vpBoolCoder_t *bit_ctx) in vp8hwdDecodeBool128() argument
115 RK_U32 count = bit_ctx->count; in vp8hwdDecodeBool128()
116 RK_U32 range = bit_ctx->range; in vp8hwdDecodeBool128()
117 RK_U32 value = bit_ctx->value; in vp8hwdDecodeBool128()
125 range = (bit_ctx->range - split); in vp8hwdDecodeBool128()
131 bit_ctx->value = value; in vp8hwdDecodeBool128()
132 bit_ctx->range = range; in vp8hwdDecodeBool128()
142 if (bit_ctx->pos >= bit_ctx->streamEndPos) { in vp8hwdDecodeBool128()
143 bit_ctx->strmError = 1; in vp8hwdDecodeBool128()
148 value |= bit_ctx->buffer[bit_ctx->pos]; in vp8hwdDecodeBool128()
149 bit_ctx->pos++; in vp8hwdDecodeBool128()
153 bit_ctx->count = count; in vp8hwdDecodeBool128()
154 bit_ctx->value = value; in vp8hwdDecodeBool128()
155 bit_ctx->range = range; in vp8hwdDecodeBool128()
161 static RK_U32 vp8hwdReadBits(vpBoolCoder_t *bit_ctx, RK_S32 bits) in vp8hwdReadBits() argument
168 z |= (vp8hwdDecodeBool128(bit_ctx) << bit); in vp8hwdReadBits()
198 static RK_S32 DecodeQuantizerDelta(vpBoolCoder_t *bit_ctx) in DecodeQuantizerDelta() argument
203 if (vp8hwdDecodeBool128(bit_ctx)) { in DecodeQuantizerDelta()
204 result = vp8hwdReadBits(bit_ctx, 4); in DecodeQuantizerDelta()
205 if (vp8hwdDecodeBool128(bit_ctx)) in DecodeQuantizerDelta()
823 vpBoolCoder_t *bit_ctx = &p->bitstr; in vp8_header_parser() local
839 vp8hwdBoolStart(bit_ctx, pbase, size); in vp8_header_parser()
841 p->colorSpace = (vpColorSpace_e)vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
842 p->clamping = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
844 p->segmentationEnabled = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
847 p->segmentationMapUpdate = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
848 if (vp8hwdDecodeBool128(bit_ctx)) { /* Segmentation map update */ in vp8_header_parser()
849 p->segmentFeatureMode = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
854 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
855 p->segmentQp[i] = vp8hwdReadBits(bit_ctx, 7); in vp8_header_parser()
856 if (vp8hwdDecodeBool128(bit_ctx)) in vp8_header_parser()
861 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
862 p->segmentLoopfilter[i] = vp8hwdReadBits(bit_ctx, 6); in vp8_header_parser()
863 if (vp8hwdDecodeBool128(bit_ctx)) in vp8_header_parser()
873 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
874 p->probSegment[i] = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
878 if (bit_ctx->strmError) { in vp8_header_parser()
884 p->loopFilterType = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
885 p->loopFilterLevel = vp8hwdReadBits(bit_ctx, 6); in vp8_header_parser()
886 p->loopFilterSharpness = vp8hwdReadBits(bit_ctx, 3); in vp8_header_parser()
887 p->modeRefLfEnabled = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
889 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
891 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
892 p->mbRefLfDelta[i] = vp8hwdReadBits(bit_ctx, 6); in vp8_header_parser()
893 if (vp8hwdDecodeBool128(bit_ctx)) in vp8_header_parser()
899 p->mbModeLfDelta[i] = vp8hwdReadBits(bit_ctx, 6); in vp8_header_parser()
900 if (vp8hwdDecodeBool128(bit_ctx)) in vp8_header_parser()
906 if (bit_ctx->strmError) { in vp8_header_parser()
911 p->nbrDctPartitions = vp8hwdReadBits(bit_ctx, 2); in vp8_header_parser()
912 p->qpYAc = vp8hwdReadBits(bit_ctx, 7); in vp8_header_parser()
913 p->qpYDc = DecodeQuantizerDelta(bit_ctx); in vp8_header_parser()
914 p->qpY2Dc = DecodeQuantizerDelta(bit_ctx); in vp8_header_parser()
915 p->qpY2Ac = DecodeQuantizerDelta(bit_ctx); in vp8_header_parser()
916 p->qpChDc = DecodeQuantizerDelta(bit_ctx); in vp8_header_parser()
917 p->qpChAc = DecodeQuantizerDelta(bit_ctx); in vp8_header_parser()
925 p->refreshEntropyProbs = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
932 p->refreshGolden = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
934 p->refreshAlternate = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
937 p->copyBufferToGolden = vp8hwdReadBits(bit_ctx, 2); in vp8_header_parser()
943 p->copyBufferToAlternate = vp8hwdReadBits(bit_ctx, 2); in vp8_header_parser()
948 p->refFrameSignBias[0] = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
950 p->refFrameSignBias[1] = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
952 p->refreshEntropyProbs = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
954 p->refreshLast = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
966 p->coeffSkipMode = vp8hwdDecodeBool128(bit_ctx); in vp8_header_parser()
970 p->probMbSkipFalse = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
971 p->probIntra = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
972 p->probRefLast = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
973 p->probRefGolden = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
974 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
976 p->entropy.probLuma16x16PredMode[i] = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
978 if (vp8hwdDecodeBool128(bit_ctx)) { in vp8_header_parser()
980 p->entropy.probChromaPredMode[i] = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
985 if (vp8hwdDecodeBool(bit_ctx, MvUpdateProbs[i][j]) == 1) { in vp8_header_parser()
986 tmp = vp8hwdReadBits(bit_ctx, 7); in vp8_header_parser()
997 p->probMbSkipFalse = vp8hwdReadBits(bit_ctx, 8); in vp8_header_parser()
999 if (bit_ctx->strmError) { in vp8_header_parser()
1015 vpBoolCoder_t *bit_ctx = &p->bitstr; in vp7_header_parser() local
1016 vp8hwdBoolStart(bit_ctx, pbase, size); in vp7_header_parser()
1019 p->width = vp8hwdReadBits(bit_ctx, 12); in vp7_header_parser()
1020 p->height = vp8hwdReadBits(bit_ctx, 12); in vp7_header_parser()
1021 tmp = vp8hwdReadBits(bit_ctx, 2); in vp7_header_parser()
1023 tmp = vp8hwdReadBits(bit_ctx, 2); in vp7_header_parser()
1035 if (vp8hwdDecodeBool128(bit_ctx)) { in vp7_header_parser()
1036 tmp = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1038 if (vp8hwdDecodeBool128(bit_ctx)) in vp7_header_parser()
1039 tmp = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1043 if (vp8hwdDecodeBool128(bit_ctx)) in vp7_header_parser()
1044 tmp = vp8hwdReadBits(bit_ctx, featureBits[i]); in vp7_header_parser()
1054 p->qpYAc = (RK_S32)vp8hwdReadBits(bit_ctx, 7 ); in vp7_header_parser()
1055 p->qpYDc = vp8hwdReadBits(bit_ctx, 1 ) in vp7_header_parser()
1056 ? (RK_S32)vp8hwdReadBits(bit_ctx, 7 ) : p->qpYAc; in vp7_header_parser()
1057 p->qpY2Dc = vp8hwdReadBits(bit_ctx, 1 ) in vp7_header_parser()
1058 ? (RK_S32)vp8hwdReadBits(bit_ctx, 7 ) : p->qpYAc; in vp7_header_parser()
1059 p->qpY2Ac = vp8hwdReadBits(bit_ctx, 1 ) in vp7_header_parser()
1060 ? (RK_S32)vp8hwdReadBits(bit_ctx, 7 ) : p->qpYAc; in vp7_header_parser()
1061 p->qpChDc = vp8hwdReadBits(bit_ctx, 1 ) in vp7_header_parser()
1062 ? (RK_S32)vp8hwdReadBits(bit_ctx, 7 ) : p->qpYAc; in vp7_header_parser()
1063 p->qpChAc = vp8hwdReadBits(bit_ctx, 1 ) in vp7_header_parser()
1064 ? (RK_S32)vp8hwdReadBits(bit_ctx, 7 ) : p->qpYAc; in vp7_header_parser()
1066 p->refreshGolden = vp8hwdDecodeBool128(bit_ctx); in vp7_header_parser()
1068 p->refreshEntropyProbs = vp8hwdDecodeBool128(bit_ctx); in vp7_header_parser()
1069 p->refreshLast = vp8hwdDecodeBool128(bit_ctx); in vp7_header_parser()
1080 p->refreshEntropyProbs = vp8hwdDecodeBool128(bit_ctx); in vp7_header_parser()
1095 if (vp8hwdDecodeBool128(bit_ctx)) { in vp7_header_parser()
1096 tmp = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1097 tmp = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1103 p->loopFilterType = vp8hwdDecodeBool128(bit_ctx); in vp7_header_parser()
1105 if (vp8hwdDecodeBool128(bit_ctx)) { in vp7_header_parser()
1112 p->vp7ScanOrder[i] = Vp7DefaultScan[vp8hwdReadBits(bit_ctx, 4)]; in vp7_header_parser()
1115 p->loopFilterType = vp8hwdDecodeBool128(bit_ctx); in vp7_header_parser()
1116 p->loopFilterLevel = vp8hwdReadBits(bit_ctx, 6); in vp7_header_parser()
1117 p->loopFilterSharpness = vp8hwdReadBits(bit_ctx, 3); in vp7_header_parser()
1120 p->probIntra = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1121 p->probRefLast = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1122 if (vp8hwdDecodeBool128(bit_ctx)) { in vp7_header_parser()
1125 vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1127 if (vp8hwdDecodeBool128(bit_ctx)) { in vp7_header_parser()
1129 p->entropy.probChromaPredMode[i] = vp8hwdReadBits(bit_ctx, 8); in vp7_header_parser()
1133 if (vp8hwdDecodeBool(bit_ctx, MvUpdateProbs[i][j])) { in vp7_header_parser()
1134 tmp = vp8hwdReadBits(bit_ctx, 7); in vp7_header_parser()
1144 if (bit_ctx->strmError) { in vp7_header_parser()