mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
golomb: Give svq3_get_se_golomb()/svq3_get_ue_golomb() better names
This commit is contained in:
parent
7ca4fdc046
commit
4024b566d6
@ -148,8 +148,8 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
/* [DIRAC_STD] 10.3.2 Frame size. frame_size(video_params) */
|
/* [DIRAC_STD] 10.3.2 Frame size. frame_size(video_params) */
|
||||||
/* [DIRAC_STD] custom_dimensions_flag */
|
/* [DIRAC_STD] custom_dimensions_flag */
|
||||||
if (get_bits1(gb)) {
|
if (get_bits1(gb)) {
|
||||||
dsh->width = svq3_get_ue_golomb(gb); /* [DIRAC_STD] FRAME_WIDTH */
|
dsh->width = get_interleaved_ue_golomb(gb); /* [DIRAC_STD] FRAME_WIDTH */
|
||||||
dsh->height = svq3_get_ue_golomb(gb); /* [DIRAC_STD] FRAME_HEIGHT */
|
dsh->height = get_interleaved_ue_golomb(gb); /* [DIRAC_STD] FRAME_HEIGHT */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* [DIRAC_STD] 10.3.3 Chroma Sampling Format.
|
/* [DIRAC_STD] 10.3.3 Chroma Sampling Format.
|
||||||
@ -157,7 +157,7 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
/* [DIRAC_STD] custom_chroma_format_flag */
|
/* [DIRAC_STD] custom_chroma_format_flag */
|
||||||
if (get_bits1(gb))
|
if (get_bits1(gb))
|
||||||
/* [DIRAC_STD] CHROMA_FORMAT_INDEX */
|
/* [DIRAC_STD] CHROMA_FORMAT_INDEX */
|
||||||
dsh->chroma_format = svq3_get_ue_golomb(gb);
|
dsh->chroma_format = get_interleaved_ue_golomb(gb);
|
||||||
if (dsh->chroma_format > 2) {
|
if (dsh->chroma_format > 2) {
|
||||||
if (log_ctx)
|
if (log_ctx)
|
||||||
av_log(log_ctx, AV_LOG_ERROR, "Unknown chroma format %d\n",
|
av_log(log_ctx, AV_LOG_ERROR, "Unknown chroma format %d\n",
|
||||||
@ -169,22 +169,22 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
/* [DIRAC_STD] custom_scan_format_flag */
|
/* [DIRAC_STD] custom_scan_format_flag */
|
||||||
if (get_bits1(gb))
|
if (get_bits1(gb))
|
||||||
/* [DIRAC_STD] SOURCE_SAMPLING */
|
/* [DIRAC_STD] SOURCE_SAMPLING */
|
||||||
dsh->interlaced = svq3_get_ue_golomb(gb);
|
dsh->interlaced = get_interleaved_ue_golomb(gb);
|
||||||
if (dsh->interlaced > 1)
|
if (dsh->interlaced > 1)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
/* [DIRAC_STD] 10.3.5 Frame Rate. frame_rate(video_params) */
|
/* [DIRAC_STD] 10.3.5 Frame Rate. frame_rate(video_params) */
|
||||||
if (get_bits1(gb)) { /* [DIRAC_STD] custom_frame_rate_flag */
|
if (get_bits1(gb)) { /* [DIRAC_STD] custom_frame_rate_flag */
|
||||||
dsh->frame_rate_index = svq3_get_ue_golomb(gb);
|
dsh->frame_rate_index = get_interleaved_ue_golomb(gb);
|
||||||
|
|
||||||
if (dsh->frame_rate_index > 10)
|
if (dsh->frame_rate_index > 10)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
if (!dsh->frame_rate_index) {
|
if (!dsh->frame_rate_index) {
|
||||||
/* [DIRAC_STD] FRAME_RATE_NUMER */
|
/* [DIRAC_STD] FRAME_RATE_NUMER */
|
||||||
frame_rate.num = svq3_get_ue_golomb(gb);
|
frame_rate.num = get_interleaved_ue_golomb(gb);
|
||||||
/* [DIRAC_STD] FRAME_RATE_DENOM */
|
/* [DIRAC_STD] FRAME_RATE_DENOM */
|
||||||
frame_rate.den = svq3_get_ue_golomb(gb);
|
frame_rate.den = get_interleaved_ue_golomb(gb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* [DIRAC_STD] preset_frame_rate(video_params, index) */
|
/* [DIRAC_STD] preset_frame_rate(video_params, index) */
|
||||||
@ -201,14 +201,14 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
* pixel_aspect_ratio(video_params) */
|
* pixel_aspect_ratio(video_params) */
|
||||||
if (get_bits1(gb)) { /* [DIRAC_STD] custom_pixel_aspect_ratio_flag */
|
if (get_bits1(gb)) { /* [DIRAC_STD] custom_pixel_aspect_ratio_flag */
|
||||||
/* [DIRAC_STD] index */
|
/* [DIRAC_STD] index */
|
||||||
dsh->aspect_ratio_index = svq3_get_ue_golomb(gb);
|
dsh->aspect_ratio_index = get_interleaved_ue_golomb(gb);
|
||||||
|
|
||||||
if (dsh->aspect_ratio_index > 6)
|
if (dsh->aspect_ratio_index > 6)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
if (!dsh->aspect_ratio_index) {
|
if (!dsh->aspect_ratio_index) {
|
||||||
dsh->sample_aspect_ratio.num = svq3_get_ue_golomb(gb);
|
dsh->sample_aspect_ratio.num = get_interleaved_ue_golomb(gb);
|
||||||
dsh->sample_aspect_ratio.den = svq3_get_ue_golomb(gb);
|
dsh->sample_aspect_ratio.den = get_interleaved_ue_golomb(gb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* [DIRAC_STD] Take value from Table 10.4 Available preset pixel
|
/* [DIRAC_STD] Take value from Table 10.4 Available preset pixel
|
||||||
@ -220,13 +220,13 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
/* [DIRAC_STD] 10.3.7 Clean area. clean_area(video_params) */
|
/* [DIRAC_STD] 10.3.7 Clean area. clean_area(video_params) */
|
||||||
if (get_bits1(gb)) { /* [DIRAC_STD] custom_clean_area_flag */
|
if (get_bits1(gb)) { /* [DIRAC_STD] custom_clean_area_flag */
|
||||||
/* [DIRAC_STD] CLEAN_WIDTH */
|
/* [DIRAC_STD] CLEAN_WIDTH */
|
||||||
dsh->clean_width = svq3_get_ue_golomb(gb);
|
dsh->clean_width = get_interleaved_ue_golomb(gb);
|
||||||
/* [DIRAC_STD] CLEAN_HEIGHT */
|
/* [DIRAC_STD] CLEAN_HEIGHT */
|
||||||
dsh->clean_height = svq3_get_ue_golomb(gb);
|
dsh->clean_height = get_interleaved_ue_golomb(gb);
|
||||||
/* [DIRAC_STD] CLEAN_LEFT_OFFSET */
|
/* [DIRAC_STD] CLEAN_LEFT_OFFSET */
|
||||||
dsh->clean_left_offset = svq3_get_ue_golomb(gb);
|
dsh->clean_left_offset = get_interleaved_ue_golomb(gb);
|
||||||
/* [DIRAC_STD] CLEAN_RIGHT_OFFSET */
|
/* [DIRAC_STD] CLEAN_RIGHT_OFFSET */
|
||||||
dsh->clean_right_offset = svq3_get_ue_golomb(gb);
|
dsh->clean_right_offset = get_interleaved_ue_golomb(gb);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* [DIRAC_STD] 10.3.8 Signal range. signal_range(video_params)
|
/* [DIRAC_STD] 10.3.8 Signal range. signal_range(video_params)
|
||||||
@ -234,17 +234,17 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
* AVCOL_RANGE_MPEG/JPEG values */
|
* AVCOL_RANGE_MPEG/JPEG values */
|
||||||
if (get_bits1(gb)) { /* [DIRAC_STD] custom_signal_range_flag */
|
if (get_bits1(gb)) { /* [DIRAC_STD] custom_signal_range_flag */
|
||||||
/* [DIRAC_STD] index */
|
/* [DIRAC_STD] index */
|
||||||
dsh->pixel_range_index = svq3_get_ue_golomb(gb);
|
dsh->pixel_range_index = get_interleaved_ue_golomb(gb);
|
||||||
|
|
||||||
if (dsh->pixel_range_index > 4)
|
if (dsh->pixel_range_index > 4)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
// This assumes either fullrange or MPEG levels only
|
// This assumes either fullrange or MPEG levels only
|
||||||
if (!dsh->pixel_range_index) {
|
if (!dsh->pixel_range_index) {
|
||||||
luma_offset = svq3_get_ue_golomb(gb);
|
luma_offset = get_interleaved_ue_golomb(gb);
|
||||||
luma_depth = av_log2(svq3_get_ue_golomb(gb)) + 1;
|
luma_depth = av_log2(get_interleaved_ue_golomb(gb)) + 1;
|
||||||
svq3_get_ue_golomb(gb); /* chroma offset */
|
get_interleaved_ue_golomb(gb); /* chroma offset */
|
||||||
svq3_get_ue_golomb(gb); /* chroma excursion */
|
get_interleaved_ue_golomb(gb); /* chroma excursion */
|
||||||
dsh->color_range = luma_offset ? AVCOL_RANGE_MPEG
|
dsh->color_range = luma_offset ? AVCOL_RANGE_MPEG
|
||||||
: AVCOL_RANGE_JPEG;
|
: AVCOL_RANGE_JPEG;
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
/* [DIRAC_STD] 10.3.9 Colour specification. colour_spec(video_params) */
|
/* [DIRAC_STD] 10.3.9 Colour specification. colour_spec(video_params) */
|
||||||
if (get_bits1(gb)) { /* [DIRAC_STD] custom_colour_spec_flag */
|
if (get_bits1(gb)) { /* [DIRAC_STD] custom_colour_spec_flag */
|
||||||
/* [DIRAC_STD] index */
|
/* [DIRAC_STD] index */
|
||||||
idx = dsh->color_spec_index = svq3_get_ue_golomb(gb);
|
idx = dsh->color_spec_index = get_interleaved_ue_golomb(gb);
|
||||||
|
|
||||||
if (dsh->color_spec_index > 4)
|
if (dsh->color_spec_index > 4)
|
||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
@ -277,20 +277,20 @@ static int parse_source_parameters(AVDiracSeqHeader *dsh, GetBitContext *gb,
|
|||||||
if (!dsh->color_spec_index) {
|
if (!dsh->color_spec_index) {
|
||||||
/* [DIRAC_STD] 10.3.9.1 Colour primaries */
|
/* [DIRAC_STD] 10.3.9.1 Colour primaries */
|
||||||
if (get_bits1(gb)) {
|
if (get_bits1(gb)) {
|
||||||
idx = svq3_get_ue_golomb(gb);
|
idx = get_interleaved_ue_golomb(gb);
|
||||||
if (idx < 3)
|
if (idx < 3)
|
||||||
dsh->color_primaries = dirac_primaries[idx];
|
dsh->color_primaries = dirac_primaries[idx];
|
||||||
}
|
}
|
||||||
/* [DIRAC_STD] 10.3.9.2 Colour matrix */
|
/* [DIRAC_STD] 10.3.9.2 Colour matrix */
|
||||||
if (get_bits1(gb)) {
|
if (get_bits1(gb)) {
|
||||||
idx = svq3_get_ue_golomb(gb);
|
idx = get_interleaved_ue_golomb(gb);
|
||||||
if (!idx)
|
if (!idx)
|
||||||
dsh->colorspace = AVCOL_SPC_BT709;
|
dsh->colorspace = AVCOL_SPC_BT709;
|
||||||
else if (idx == 1)
|
else if (idx == 1)
|
||||||
dsh->colorspace = AVCOL_SPC_BT470BG;
|
dsh->colorspace = AVCOL_SPC_BT470BG;
|
||||||
}
|
}
|
||||||
/* [DIRAC_STD] 10.3.9.3 Transfer function */
|
/* [DIRAC_STD] 10.3.9.3 Transfer function */
|
||||||
if (get_bits1(gb) && !svq3_get_ue_golomb(gb))
|
if (get_bits1(gb) && !get_interleaved_ue_golomb(gb))
|
||||||
dsh->color_trc = AVCOL_TRC_BT709;
|
dsh->color_trc = AVCOL_TRC_BT709;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -323,13 +323,13 @@ int av_dirac_parse_sequence_header(AVDiracSeqHeader **pdsh,
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
/* [DIRAC_SPEC] 10.1 Parse Parameters. parse_parameters() */
|
/* [DIRAC_SPEC] 10.1 Parse Parameters. parse_parameters() */
|
||||||
version_major = svq3_get_ue_golomb(&gb);
|
version_major = get_interleaved_ue_golomb(&gb);
|
||||||
svq3_get_ue_golomb(&gb); /* version_minor */
|
get_interleaved_ue_golomb(&gb); /* version_minor */
|
||||||
dsh->profile = svq3_get_ue_golomb(&gb);
|
dsh->profile = get_interleaved_ue_golomb(&gb);
|
||||||
dsh->level = svq3_get_ue_golomb(&gb);
|
dsh->level = get_interleaved_ue_golomb(&gb);
|
||||||
/* [DIRAC_SPEC] sequence_header() -> base_video_format as defined in
|
/* [DIRAC_SPEC] sequence_header() -> base_video_format as defined in
|
||||||
* 10.2 Base Video Format, table 10.1 Dirac predefined video formats */
|
* 10.2 Base Video Format, table 10.1 Dirac predefined video formats */
|
||||||
video_format = svq3_get_ue_golomb(&gb);
|
video_format = get_interleaved_ue_golomb(&gb);
|
||||||
|
|
||||||
if (log_ctx) {
|
if (log_ctx) {
|
||||||
if (version_major < 2)
|
if (version_major < 2)
|
||||||
@ -366,7 +366,7 @@ int av_dirac_parse_sequence_header(AVDiracSeqHeader **pdsh,
|
|||||||
|
|
||||||
/* [DIRAC_STD] picture_coding_mode shall be 0 for fields and 1 for frames
|
/* [DIRAC_STD] picture_coding_mode shall be 0 for fields and 1 for frames
|
||||||
* currently only used to signal field coding */
|
* currently only used to signal field coding */
|
||||||
picture_coding_mode = svq3_get_ue_golomb(&gb);
|
picture_coding_mode = get_interleaved_ue_golomb(&gb);
|
||||||
if (picture_coding_mode != 0) {
|
if (picture_coding_mode != 0) {
|
||||||
if (log_ctx) {
|
if (log_ctx) {
|
||||||
av_log(log_ctx, AV_LOG_ERROR, "Unsupported picture coding mode %d",
|
av_log(log_ctx, AV_LOG_ERROR, "Unsupported picture coding mode %d",
|
||||||
|
@ -108,7 +108,7 @@ static inline int get_ue_golomb_31(GetBitContext *gb)
|
|||||||
return ff_ue_golomb_vlc_code[buf];
|
return ff_ue_golomb_vlc_code[buf];
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned svq3_get_ue_golomb(GetBitContext *gb)
|
static inline unsigned get_interleaved_ue_golomb(GetBitContext *gb)
|
||||||
{
|
{
|
||||||
uint32_t buf;
|
uint32_t buf;
|
||||||
|
|
||||||
@ -218,7 +218,7 @@ static inline int get_se_golomb_long(GetBitContext *gb)
|
|||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int svq3_get_se_golomb(GetBitContext *gb)
|
static inline int get_interleaved_se_golomb(GetBitContext *gb)
|
||||||
{
|
{
|
||||||
unsigned int buf;
|
unsigned int buf;
|
||||||
|
|
||||||
@ -253,7 +253,7 @@ static inline int svq3_get_se_golomb(GetBitContext *gb)
|
|||||||
|
|
||||||
static inline int dirac_get_se_golomb(GetBitContext *gb)
|
static inline int dirac_get_se_golomb(GetBitContext *gb)
|
||||||
{
|
{
|
||||||
uint32_t ret = svq3_get_ue_golomb(gb);
|
uint32_t ret = get_interleaved_ue_golomb(gb);
|
||||||
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
uint32_t buf;
|
uint32_t buf;
|
||||||
|
@ -81,7 +81,7 @@ static int rv30_decode_intra_types(RV34DecContext *r, GetBitContext *gb, int8_t
|
|||||||
|
|
||||||
for(i = 0; i < 4; i++, dst += r->intra_types_stride - 4){
|
for(i = 0; i < 4; i++, dst += r->intra_types_stride - 4){
|
||||||
for(j = 0; j < 4; j+= 2){
|
for(j = 0; j < 4; j+= 2){
|
||||||
unsigned code = svq3_get_ue_golomb(gb) << 1;
|
unsigned code = get_interleaved_ue_golomb(gb) << 1;
|
||||||
if(code >= 81*2){
|
if(code >= 81*2){
|
||||||
av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n");
|
av_log(r->s.avctx, AV_LOG_ERROR, "Incorrect intra prediction code\n");
|
||||||
return -1;
|
return -1;
|
||||||
@ -109,7 +109,7 @@ static int rv30_decode_mb_info(RV34DecContext *r)
|
|||||||
static const int rv30_b_types[6] = { RV34_MB_SKIP, RV34_MB_B_DIRECT, RV34_MB_B_FORWARD, RV34_MB_B_BACKWARD, RV34_MB_TYPE_INTRA, RV34_MB_TYPE_INTRA16x16 };
|
static const int rv30_b_types[6] = { RV34_MB_SKIP, RV34_MB_B_DIRECT, RV34_MB_B_FORWARD, RV34_MB_B_BACKWARD, RV34_MB_TYPE_INTRA, RV34_MB_TYPE_INTRA16x16 };
|
||||||
MpegEncContext *s = &r->s;
|
MpegEncContext *s = &r->s;
|
||||||
GetBitContext *gb = &s->gb;
|
GetBitContext *gb = &s->gb;
|
||||||
unsigned code = svq3_get_ue_golomb(gb);
|
unsigned code = get_interleaved_ue_golomb(gb);
|
||||||
|
|
||||||
if (code > 11) {
|
if (code > 11) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "Incorrect MB type code\n");
|
av_log(s->avctx, AV_LOG_ERROR, "Incorrect MB type code\n");
|
||||||
|
@ -854,8 +854,8 @@ static int rv34_decode_mv(RV34DecContext *r, int block_type)
|
|||||||
|
|
||||||
memset(r->dmv, 0, sizeof(r->dmv));
|
memset(r->dmv, 0, sizeof(r->dmv));
|
||||||
for(i = 0; i < num_mvs[block_type]; i++){
|
for(i = 0; i < num_mvs[block_type]; i++){
|
||||||
r->dmv[i][0] = svq3_get_se_golomb(gb);
|
r->dmv[i][0] = get_interleaved_se_golomb(gb);
|
||||||
r->dmv[i][1] = svq3_get_se_golomb(gb);
|
r->dmv[i][1] = get_interleaved_se_golomb(gb);
|
||||||
}
|
}
|
||||||
switch(block_type){
|
switch(block_type){
|
||||||
case RV34_MB_TYPE_INTRA:
|
case RV34_MB_TYPE_INTRA:
|
||||||
|
@ -231,7 +231,7 @@ static int rv40_decode_mb_info(RV34DecContext *r)
|
|||||||
int mb_pos = s->mb_x + s->mb_y * s->mb_stride;
|
int mb_pos = s->mb_x + s->mb_y * s->mb_stride;
|
||||||
|
|
||||||
if(!r->s.mb_skip_run)
|
if(!r->s.mb_skip_run)
|
||||||
r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1;
|
r->s.mb_skip_run = get_interleaved_ue_golomb(gb) + 1;
|
||||||
|
|
||||||
if(--r->s.mb_skip_run)
|
if(--r->s.mb_skip_run)
|
||||||
return RV34_MB_SKIP;
|
return RV34_MB_SKIP;
|
||||||
|
@ -290,7 +290,7 @@ static inline int svq3_decode_block(GetBitContext *gb, int16_t *block,
|
|||||||
const uint8_t *const scan = scan_patterns[type];
|
const uint8_t *const scan = scan_patterns[type];
|
||||||
|
|
||||||
for (limit = (16 >> intra); index < 16; index = limit, limit += 8) {
|
for (limit = (16 >> intra); index < 16; index = limit, limit += 8) {
|
||||||
for (; (vlc = svq3_get_ue_golomb(gb)) != 0; index++) {
|
for (; (vlc = get_interleaved_ue_golomb(gb)) != 0; index++) {
|
||||||
int sign = (vlc & 1) ? 0 : -1;
|
int sign = (vlc & 1) ? 0 : -1;
|
||||||
vlc = vlc + 1 >> 1;
|
vlc = vlc + 1 >> 1;
|
||||||
|
|
||||||
@ -527,8 +527,8 @@ static inline int svq3_mc_dir(SVQ3Context *s, int size, int mode,
|
|||||||
if (mode == PREDICT_MODE) {
|
if (mode == PREDICT_MODE) {
|
||||||
dx = dy = 0;
|
dx = dy = 0;
|
||||||
} else {
|
} else {
|
||||||
dy = svq3_get_se_golomb(&s->gb_slice);
|
dy = get_interleaved_se_golomb(&s->gb_slice);
|
||||||
dx = svq3_get_se_golomb(&s->gb_slice);
|
dx = get_interleaved_se_golomb(&s->gb_slice);
|
||||||
|
|
||||||
if (dx == INVALID_VLC || dy == INVALID_VLC) {
|
if (dx == INVALID_VLC || dy == INVALID_VLC) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "invalid MV vlc\n");
|
av_log(s->avctx, AV_LOG_ERROR, "invalid MV vlc\n");
|
||||||
@ -839,7 +839,7 @@ static int svq3_decode_mb(SVQ3Context *s, unsigned int mb_type)
|
|||||||
|
|
||||||
/* decode prediction codes for luma blocks */
|
/* decode prediction codes for luma blocks */
|
||||||
for (i = 0; i < 16; i += 2) {
|
for (i = 0; i < 16; i += 2) {
|
||||||
vlc = svq3_get_ue_golomb(&s->gb_slice);
|
vlc = get_interleaved_ue_golomb(&s->gb_slice);
|
||||||
|
|
||||||
if (vlc >= 25) {
|
if (vlc >= 25) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR,
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
@ -917,7 +917,7 @@ static int svq3_decode_mb(SVQ3Context *s, unsigned int mb_type)
|
|||||||
|
|
||||||
if (!IS_INTRA16x16(mb_type) &&
|
if (!IS_INTRA16x16(mb_type) &&
|
||||||
(!IS_SKIP(mb_type) || s->pict_type == AV_PICTURE_TYPE_B)) {
|
(!IS_SKIP(mb_type) || s->pict_type == AV_PICTURE_TYPE_B)) {
|
||||||
if ((vlc = svq3_get_ue_golomb(&s->gb_slice)) >= 48) {
|
if ((vlc = get_interleaved_ue_golomb(&s->gb_slice)) >= 48) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "cbp_vlc=%"PRIu32"\n", vlc);
|
av_log(s->avctx, AV_LOG_ERROR, "cbp_vlc=%"PRIu32"\n", vlc);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -927,7 +927,7 @@ static int svq3_decode_mb(SVQ3Context *s, unsigned int mb_type)
|
|||||||
}
|
}
|
||||||
if (IS_INTRA16x16(mb_type) ||
|
if (IS_INTRA16x16(mb_type) ||
|
||||||
(s->pict_type != AV_PICTURE_TYPE_I && s->adaptive_quant && cbp)) {
|
(s->pict_type != AV_PICTURE_TYPE_I && s->adaptive_quant && cbp)) {
|
||||||
s->qscale += svq3_get_se_golomb(&s->gb_slice);
|
s->qscale += get_interleaved_se_golomb(&s->gb_slice);
|
||||||
|
|
||||||
if (s->qscale > 31u) {
|
if (s->qscale > 31u) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "qscale:%d\n", s->qscale);
|
av_log(s->avctx, AV_LOG_ERROR, "qscale:%d\n", s->qscale);
|
||||||
@ -1045,7 +1045,7 @@ static int svq3_decode_slice_header(AVCodecContext *avctx)
|
|||||||
skip_bits_long(&s->gb, slice_bytes * 8);
|
skip_bits_long(&s->gb, slice_bytes * 8);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((slice_id = svq3_get_ue_golomb(&s->gb_slice)) >= 3) {
|
if ((slice_id = get_interleaved_ue_golomb(&s->gb_slice)) >= 3) {
|
||||||
av_log(s->avctx, AV_LOG_ERROR, "illegal slice type %u \n", slice_id);
|
av_log(s->avctx, AV_LOG_ERROR, "illegal slice type %u \n", slice_id);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -1228,12 +1228,12 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx)
|
|||||||
avctx->has_b_frames = !s->low_delay;
|
avctx->has_b_frames = !s->low_delay;
|
||||||
if (s->unknown_flag) {
|
if (s->unknown_flag) {
|
||||||
#if CONFIG_ZLIB
|
#if CONFIG_ZLIB
|
||||||
unsigned watermark_width = svq3_get_ue_golomb(&gb);
|
unsigned watermark_width = get_interleaved_ue_golomb(&gb);
|
||||||
unsigned watermark_height = svq3_get_ue_golomb(&gb);
|
unsigned watermark_height = get_interleaved_ue_golomb(&gb);
|
||||||
int u1 = svq3_get_ue_golomb(&gb);
|
int u1 = get_interleaved_ue_golomb(&gb);
|
||||||
int u2 = get_bits(&gb, 8);
|
int u2 = get_bits(&gb, 8);
|
||||||
int u3 = get_bits(&gb, 2);
|
int u3 = get_bits(&gb, 2);
|
||||||
int u4 = svq3_get_ue_golomb(&gb);
|
int u4 = get_interleaved_ue_golomb(&gb);
|
||||||
unsigned long buf_len = watermark_width *
|
unsigned long buf_len = watermark_width *
|
||||||
watermark_height * 4;
|
watermark_height * 4;
|
||||||
int offset = get_bits_count(&gb) + 7 >> 3;
|
int offset = get_bits_count(&gb) + 7 >> 3;
|
||||||
@ -1501,7 +1501,7 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data,
|
|||||||
/* TODO: support s->mb_skip_run */
|
/* TODO: support s->mb_skip_run */
|
||||||
}
|
}
|
||||||
|
|
||||||
mb_type = svq3_get_ue_golomb(&s->gb_slice);
|
mb_type = get_interleaved_ue_golomb(&s->gb_slice);
|
||||||
|
|
||||||
if (s->pict_type == AV_PICTURE_TYPE_I)
|
if (s->pict_type == AV_PICTURE_TYPE_I)
|
||||||
mb_type += 8;
|
mb_type += 8;
|
||||||
|
Loading…
Reference in New Issue
Block a user