avcodec: av_log_missing_feature(1) ---> avpriv_request_sample()
This commit is contained in:
		@@ -670,7 +670,7 @@ static int decode_ga_specific_config(AACContext *ac, AVCodecContext *avctx,
 | 
				
			|||||||
    int tags = 0;
 | 
					    int tags = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (get_bits1(gb)) { // frameLengthFlag
 | 
					    if (get_bits1(gb)) { // frameLengthFlag
 | 
				
			||||||
        av_log_missing_feature(avctx, "960/120 MDCT window", 1);
 | 
					        avpriv_request_sample(avctx, "960/120 MDCT window");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1660,7 +1660,7 @@ static int decode_ics(AACContext *ac, SingleChannelElement *sce,
 | 
				
			|||||||
        if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics))
 | 
					        if ((tns->present = get_bits1(gb)) && decode_tns(ac, tns, gb, ics))
 | 
				
			||||||
            return -1;
 | 
					            return -1;
 | 
				
			||||||
        if (get_bits1(gb)) {
 | 
					        if (get_bits1(gb)) {
 | 
				
			||||||
            av_log_missing_feature(ac->avctx, "SSR", 1);
 | 
					            avpriv_request_sample(ac->avctx, "SSR");
 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -2620,8 +2620,8 @@ static int latm_decode_audio_specific_config(struct LATMContext *latmctx,
 | 
				
			|||||||
        asclen         = get_bits_left(gb);
 | 
					        asclen         = get_bits_left(gb);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (config_start_bit % 8) {
 | 
					    if (config_start_bit % 8) {
 | 
				
			||||||
        av_log_missing_feature(latmctx->aac_ctx.avctx,
 | 
					        avpriv_request_sample(latmctx->aac_ctx.avctx,
 | 
				
			||||||
                               "Non-byte-aligned audio-specific config", 1);
 | 
					                              "Non-byte-aligned audio-specific config");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (asclen <= 0)
 | 
					    if (asclen <= 0)
 | 
				
			||||||
@@ -2675,8 +2675,7 @@ static int read_stream_mux_config(struct LATMContext *latmctx,
 | 
				
			|||||||
        skip_bits(gb, 6);                       // numSubFrames
 | 
					        skip_bits(gb, 6);                       // numSubFrames
 | 
				
			||||||
        // numPrograms
 | 
					        // numPrograms
 | 
				
			||||||
        if (get_bits(gb, 4)) {                  // numPrograms
 | 
					        if (get_bits(gb, 4)) {                  // numPrograms
 | 
				
			||||||
            av_log_missing_feature(latmctx->aac_ctx.avctx,
 | 
					            avpriv_request_sample(latmctx->aac_ctx.avctx, "Multiple programs");
 | 
				
			||||||
                                   "Multiple programs", 1);
 | 
					 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -2684,8 +2683,7 @@ static int read_stream_mux_config(struct LATMContext *latmctx,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // for each layer (which there is only on in DVB)
 | 
					        // for each layer (which there is only on in DVB)
 | 
				
			||||||
        if (get_bits(gb, 3)) {                   // numLayer
 | 
					        if (get_bits(gb, 3)) {                   // numLayer
 | 
				
			||||||
            av_log_missing_feature(latmctx->aac_ctx.avctx,
 | 
					            avpriv_request_sample(latmctx->aac_ctx.avctx, "Multiple layers");
 | 
				
			||||||
                                   "Multiple layers", 1);
 | 
					 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -927,7 +927,7 @@ static void read_sbr_extension(AACContext *ac, SpectralBandReplication *sbr,
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
    default:
 | 
					    default:
 | 
				
			||||||
        av_log_missing_feature(ac->avctx, "Reserved SBR extensions", 1);
 | 
					        avpriv_request_sample(ac->avctx, "Reserved SBR extensions");
 | 
				
			||||||
        skip_bits_long(gb, *num_bits_left); // bs_fill_bits
 | 
					        skip_bits_long(gb, *num_bits_left); // bs_fill_bits
 | 
				
			||||||
        *num_bits_left = 0;
 | 
					        *num_bits_left = 0;
 | 
				
			||||||
        break;
 | 
					        break;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -874,7 +874,7 @@ static int decode_audio_block(AC3DecodeContext *s, int blk)
 | 
				
			|||||||
            /* check for enhanced coupling */
 | 
					            /* check for enhanced coupling */
 | 
				
			||||||
            if (s->eac3 && get_bits1(gbc)) {
 | 
					            if (s->eac3 && get_bits1(gbc)) {
 | 
				
			||||||
                /* TODO: parse enhanced coupling strategy info */
 | 
					                /* TODO: parse enhanced coupling strategy info */
 | 
				
			||||||
                av_log_missing_feature(s->avctx, "Enhanced coupling", 1);
 | 
					                avpriv_request_sample(s->avctx, "Enhanced coupling");
 | 
				
			||||||
                return AVERROR_PATCHWELCOME;
 | 
					                return AVERROR_PATCHWELCOME;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -957,7 +957,7 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void *data,
 | 
				
			|||||||
        return AVERROR_INVALIDDATA;
 | 
					        return AVERROR_INVALIDDATA;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    if (p->cur_frame_mode == MODE_DTX) {
 | 
					    if (p->cur_frame_mode == MODE_DTX) {
 | 
				
			||||||
        av_log_missing_feature(avctx, "dtx mode", 1);
 | 
					        avpriv_request_sample(avctx, "dtx mode");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1117,7 +1117,7 @@ static int amrwb_decode_frame(AVCodecContext *avctx, void *data,
 | 
				
			|||||||
        av_log(avctx, AV_LOG_ERROR, "Encountered a bad or corrupted frame\n");
 | 
					        av_log(avctx, AV_LOG_ERROR, "Encountered a bad or corrupted frame\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (ctx->fr_cur_mode == MODE_SID) { /* Comfort noise frame */
 | 
					    if (ctx->fr_cur_mode == MODE_SID) { /* Comfort noise frame */
 | 
				
			||||||
        av_log_missing_feature(avctx, "SID mode", 1);
 | 
					        avpriv_request_sample(avctx, "SID mode");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -300,7 +300,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
 | 
				
			|||||||
       application can select from. each independent stream can also contain
 | 
					       application can select from. each independent stream can also contain
 | 
				
			||||||
       dependent streams which are used to add or replace channels. */
 | 
					       dependent streams which are used to add or replace channels. */
 | 
				
			||||||
    if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) {
 | 
					    if (s->frame_type == EAC3_FRAME_TYPE_DEPENDENT) {
 | 
				
			||||||
        av_log_missing_feature(s->avctx, "Dependent substream decoding", 1);
 | 
					        avpriv_request_sample(s->avctx, "Dependent substream decoding");
 | 
				
			||||||
        return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
 | 
					        return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
 | 
				
			||||||
    } else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) {
 | 
					    } else if (s->frame_type == EAC3_FRAME_TYPE_RESERVED) {
 | 
				
			||||||
        av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n");
 | 
					        av_log(s->avctx, AV_LOG_ERROR, "Reserved frame type\n");
 | 
				
			||||||
@@ -312,7 +312,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
 | 
				
			|||||||
       associated to an independent stream have matching substream id's. */
 | 
					       associated to an independent stream have matching substream id's. */
 | 
				
			||||||
    if (s->substreamid) {
 | 
					    if (s->substreamid) {
 | 
				
			||||||
        /* only decode substream with id=0. skip any additional substreams. */
 | 
					        /* only decode substream with id=0. skip any additional substreams. */
 | 
				
			||||||
        av_log_missing_feature(s->avctx, "Additional substreams", 1);
 | 
					        avpriv_request_sample(s->avctx, "Additional substreams");
 | 
				
			||||||
        return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
 | 
					        return AAC_AC3_PARSE_ERROR_FRAME_TYPE;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -321,7 +321,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
 | 
				
			|||||||
           rates in bit allocation.  The best assumption would be that it is
 | 
					           rates in bit allocation.  The best assumption would be that it is
 | 
				
			||||||
           handled like AC-3 DolbyNet, but we cannot be sure until we have a
 | 
					           handled like AC-3 DolbyNet, but we cannot be sure until we have a
 | 
				
			||||||
           sample which utilizes this feature. */
 | 
					           sample which utilizes this feature. */
 | 
				
			||||||
        av_log_missing_feature(s->avctx, "Reduced sampling rate", 1);
 | 
					        avpriv_request_sample(s->avctx, "Reduced sampling rate");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    skip_bits(gbc, 5); // skip bitstream id
 | 
					    skip_bits(gbc, 5); // skip bitstream id
 | 
				
			||||||
@@ -593,7 +593,7 @@ int ff_eac3_parse_header(AC3DecodeContext *s)
 | 
				
			|||||||
           It is likely the offset of each block within the frame. */
 | 
					           It is likely the offset of each block within the frame. */
 | 
				
			||||||
        int block_start_bits = (s->num_blocks-1) * (4 + av_log2(s->frame_size-2));
 | 
					        int block_start_bits = (s->num_blocks-1) * (4 + av_log2(s->frame_size-2));
 | 
				
			||||||
        skip_bits_long(gbc, block_start_bits);
 | 
					        skip_bits_long(gbc, block_start_bits);
 | 
				
			||||||
        av_log_missing_feature(s->avctx, "Block start info", 1);
 | 
					        avpriv_request_sample(s->avctx, "Block start info");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* syntax state initialization */
 | 
					    /* syntax state initialization */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -259,11 +259,11 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data,
 | 
				
			|||||||
    if (s->ver == 2) {
 | 
					    if (s->ver == 2) {
 | 
				
			||||||
        skip_bits(&gb, 6);
 | 
					        skip_bits(&gb, 6);
 | 
				
			||||||
        if (get_bits1(&gb)) {
 | 
					        if (get_bits1(&gb)) {
 | 
				
			||||||
            av_log_missing_feature(avctx, "iframe", 1);
 | 
					            avpriv_request_sample(avctx, "iframe");
 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (get_bits1(&gb)) {
 | 
					        if (get_bits1(&gb)) {
 | 
				
			||||||
            av_log_missing_feature(avctx, "Custom palette", 1);
 | 
					            avpriv_request_sample(avctx, "Custom palette");
 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -394,7 +394,7 @@ static int flashsv_decode_frame(AVCodecContext *avctx, void *data,
 | 
				
			|||||||
                    int row = get_bits(&gb, 8);
 | 
					                    int row = get_bits(&gb, 8);
 | 
				
			||||||
                    av_log(avctx, AV_LOG_DEBUG, "%dx%d zlibprime_curr %dx%d\n", i, j, col, row);
 | 
					                    av_log(avctx, AV_LOG_DEBUG, "%dx%d zlibprime_curr %dx%d\n", i, j, col, row);
 | 
				
			||||||
                    size -= 2;
 | 
					                    size -= 2;
 | 
				
			||||||
                    av_log_missing_feature(avctx, "zlibprime_curr", 1);
 | 
					                    avpriv_request_sample(avctx, "zlibprime_curr");
 | 
				
			||||||
                    return AVERROR_PATCHWELCOME;
 | 
					                    return AVERROR_PATCHWELCOME;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (!s->blocks && (s->zlibprime_curr || s->zlibprime_prev)) {
 | 
					                if (!s->blocks && (s->zlibprime_curr || s->zlibprime_prev)) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2884,8 +2884,8 @@ static int h264_set_parameter_from_sps(H264Context *h)
 | 
				
			|||||||
        h->avctx->has_b_frames = !h->low_delay;
 | 
					        h->avctx->has_b_frames = !h->low_delay;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (h->sps.bit_depth_luma != h->sps.bit_depth_chroma) {
 | 
					    if (h->sps.bit_depth_luma != h->sps.bit_depth_chroma) {
 | 
				
			||||||
        av_log_missing_feature(h->avctx,
 | 
					        avpriv_request_sample(h->avctx,
 | 
				
			||||||
            "Different bit depth between chroma and luma", 1);
 | 
					                              "Different chroma and luma bit depth");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -389,7 +389,7 @@ static int mimic_decode_frame(AVCodecContext *avctx, void *data,
 | 
				
			|||||||
            ctx->num_hblocks[i] =     width   >> (3 + !!i);
 | 
					            ctx->num_hblocks[i] =     width   >> (3 + !!i);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    } else if (width != ctx->avctx->width || height != ctx->avctx->height) {
 | 
					    } else if (width != ctx->avctx->width || height != ctx->avctx->height) {
 | 
				
			||||||
        av_log_missing_feature(avctx, "resolution changing", 1);
 | 
					        avpriv_request_sample(avctx, "Resolution changing");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -130,7 +130,7 @@ static av_cold int mpc8_decode_init(AVCodecContext * avctx)
 | 
				
			|||||||
    c->maxbands = get_bits(&gb, 5) + 1;
 | 
					    c->maxbands = get_bits(&gb, 5) + 1;
 | 
				
			||||||
    channels = get_bits(&gb, 4) + 1;
 | 
					    channels = get_bits(&gb, 4) + 1;
 | 
				
			||||||
    if (channels > 2) {
 | 
					    if (channels > 2) {
 | 
				
			||||||
        av_log_missing_feature(avctx, "Multichannel MPC SV8", 1);
 | 
					        avpriv_request_sample(avctx, "Multichannel MPC SV8");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    c->MSS = get_bits1(&gb);
 | 
					    c->MSS = get_bits1(&gb);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -459,7 +459,7 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx)
 | 
				
			|||||||
        break;
 | 
					        break;
 | 
				
			||||||
    default:
 | 
					    default:
 | 
				
			||||||
        av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", rv->sub_id);
 | 
					        av_log(s->avctx, AV_LOG_ERROR, "unknown header %X\n", rv->sub_id);
 | 
				
			||||||
        av_log_missing_feature(avctx, "RV1/2 version", 1);
 | 
					        avpriv_request_sample(avctx, "RV1/2 version");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -402,7 +402,7 @@ static void smc_decode_stream(SmcContext *s)
 | 
				
			|||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case 0xF0:
 | 
					        case 0xF0:
 | 
				
			||||||
            av_log_missing_feature(s->avctx, "0xF0 opcode", 1);
 | 
					            avpriv_request_sample(s->avctx, "0xF0 opcode");
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -685,7 +685,7 @@ static int tak_decode_frame(AVCodecContext *avctx, void *data,
 | 
				
			|||||||
        return ret;
 | 
					        return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (s->ti.flags & TAK_FRAME_FLAG_HAS_METADATA) {
 | 
					    if (s->ti.flags & TAK_FRAME_FLAG_HAS_METADATA) {
 | 
				
			||||||
        av_log_missing_feature(avctx, "frame metadata", 1);
 | 
					        avpriv_request_sample(avctx, "Frame metadata");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -226,7 +226,7 @@ static inline int tm2_read_header(TM2Context *ctx, const uint8_t *buf)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    switch (magic) {
 | 
					    switch (magic) {
 | 
				
			||||||
    case TM2_OLD_HEADER_MAGIC:
 | 
					    case TM2_OLD_HEADER_MAGIC:
 | 
				
			||||||
        av_log_missing_feature(ctx->avctx, "TM2 old header", 1);
 | 
					        avpriv_request_sample(ctx->avctx, "Old TM2 header");
 | 
				
			||||||
        return 0;
 | 
					        return 0;
 | 
				
			||||||
    case TM2_NEW_HEADER_MAGIC:
 | 
					    case TM2_NEW_HEADER_MAGIC:
 | 
				
			||||||
        return 0;
 | 
					        return 0;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -222,7 +222,7 @@ static av_cold int tta_decode_init(AVCodecContext * avctx)
 | 
				
			|||||||
            return -1;
 | 
					            return -1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (s->format == FORMAT_ENCRYPTED) {
 | 
					        if (s->format == FORMAT_ENCRYPTED) {
 | 
				
			||||||
            av_report_missing_feature(s->avctx, "Encrypted TTA");
 | 
					            avpriv_report_missing_feature(s->avctx, "Encrypted TTA");
 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        avctx->channels = s->channels = get_bits(&s->gb, 16);
 | 
					        avctx->channels = s->channels = get_bits(&s->gb, 16);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -337,7 +337,7 @@ static int decode_frame_header(VP8Context *s, const uint8_t *buf, int buf_size)
 | 
				
			|||||||
        buf_size -= 7;
 | 
					        buf_size -= 7;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (hscale || vscale)
 | 
					        if (hscale || vscale)
 | 
				
			||||||
            av_log_missing_feature(s->avctx, "Upscaling", 1);
 | 
					            avpriv_request_sample(s->avctx, "Upscaling");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        s->update_golden = s->update_altref = VP56_FRAME_CURRENT;
 | 
					        s->update_golden = s->update_altref = VP56_FRAME_CURRENT;
 | 
				
			||||||
        for (i = 0; i < 4; i++)
 | 
					        for (i = 0; i < 4; i++)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -886,7 +886,7 @@ static int decode_subframe(WmallDecodeCtx *s)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        s->do_arith_coding    = get_bits1(&s->gb);
 | 
					        s->do_arith_coding    = get_bits1(&s->gb);
 | 
				
			||||||
        if (s->do_arith_coding) {
 | 
					        if (s->do_arith_coding) {
 | 
				
			||||||
            av_log_missing_feature(s->avctx, "Arithmetic coding", 1);
 | 
					            avpriv_request_sample(s->avctx, "Arithmetic coding");
 | 
				
			||||||
            return AVERROR_PATCHWELCOME;
 | 
					            return AVERROR_PATCHWELCOME;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        s->do_ac_filter       = get_bits1(&s->gb);
 | 
					        s->do_ac_filter       = get_bits1(&s->gb);
 | 
				
			||||||
@@ -1191,7 +1191,7 @@ static int decode_packet(AVCodecContext *avctx, void *data, int *got_frame_ptr,
 | 
				
			|||||||
        skip_bits(gb, 1);   // Skip seekable_frame_in_packet, currently ununused
 | 
					        skip_bits(gb, 1);   // Skip seekable_frame_in_packet, currently ununused
 | 
				
			||||||
        spliced_packet = get_bits1(gb);
 | 
					        spliced_packet = get_bits1(gb);
 | 
				
			||||||
        if (spliced_packet)
 | 
					        if (spliced_packet)
 | 
				
			||||||
            av_log_missing_feature(avctx, "Bitstream splicing", 1);
 | 
					            avpriv_request_sample(avctx, "Bitstream splicing");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* get number of bits that need to be added to the previous frame */
 | 
					        /* get number of bits that need to be added to the previous frame */
 | 
				
			||||||
        num_bits_prev_frame = get_bits(gb, s->log2_frame_size);
 | 
					        num_bits_prev_frame = get_bits(gb, s->log2_frame_size);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -314,7 +314,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
 | 
				
			|||||||
    /** get frame len */
 | 
					    /** get frame len */
 | 
				
			||||||
    bits = ff_wma_get_frame_len_bits(avctx->sample_rate, 3, s->decode_flags);
 | 
					    bits = ff_wma_get_frame_len_bits(avctx->sample_rate, 3, s->decode_flags);
 | 
				
			||||||
    if (bits > WMAPRO_BLOCK_MAX_BITS) {
 | 
					    if (bits > WMAPRO_BLOCK_MAX_BITS) {
 | 
				
			||||||
        av_log_missing_feature(avctx, "14-bits block sizes", 1);
 | 
					        avpriv_request_sample(avctx, "14-bit block sizes");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    s->samples_per_frame = 1 << bits;
 | 
					    s->samples_per_frame = 1 << bits;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1765,7 +1765,7 @@ static int synth_superframe(AVCodecContext *ctx, AVFrame *frame,
 | 
				
			|||||||
     * are really WMAPro-in-WMAVoice-superframes. I've never seen those in
 | 
					     * are really WMAPro-in-WMAVoice-superframes. I've never seen those in
 | 
				
			||||||
     * the wild yet. */
 | 
					     * the wild yet. */
 | 
				
			||||||
    if (!get_bits1(gb)) {
 | 
					    if (!get_bits1(gb)) {
 | 
				
			||||||
        av_log_missing_feature(ctx, "WMAPro-in-WMAVoice", 1);
 | 
					        avpriv_request_sample(ctx, "WMAPro-in-WMAVoice");
 | 
				
			||||||
        return AVERROR_PATCHWELCOME;
 | 
					        return AVERROR_PATCHWELCOME;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user