Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Carl Eugen Hoyos
2017-02-21 17:41 GMT+01:00 Ronald S. Bultje :

>> My English language capabilities are not sufficient to explain "worse"
>> better
>
> But you can decode the file before/after patch as well as with a reference
> decoder and open the decoded files in a wave editor and visualize the
> differences and show which is closer to reference, right?

Sorry for the misunderstanding (you may be faster testing yourself then
understanding my apparently badly written emails):
This isn't about a difference only reproducible with some metric - playing
the file without the patch sounds very similar (but not identical) to the
reference decoder (that produces silent output), with the patch white
noise can be heard.

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Ronald S. Bultje
Hi,

On Tue, Feb 21, 2017 at 8:07 AM, Carl Eugen Hoyos 
wrote:

> 2017-02-21 13:47 GMT+01:00 Ronald S. Bultje :
> > For the rest of us, this isn't helpful. What differences are you seeing?
>
> I don't see a difference, I hear a difference.
>
[..]

> My English language capabilities are not sufficient to explain "worse"
> better


But you can decode the file before/after patch as well as with a reference
decoder and open the decoded files in a wave editor and visualize the
differences and show which is closer to reference, right?

Ronald
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Carl Eugen Hoyos
2017-02-21 13:47 GMT+01:00 Ronald S. Bultje :

> For the rest of us, this isn't helpful. What differences are you seeing?

I don't see a difference, I hear a difference.
Since this isn't mentioned in the commit message, I was wondering
if the difference is intended.

My English language capabilities are not sufficient to explain "worse"
better but please test yourself and explain.

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Ronald S. Bultje
Hi,

On Tue, Feb 21, 2017 at 6:22 AM, Carl Eugen Hoyos 
wrote:

> 2017-02-21 12:21 GMT+01:00 Paul B Mahol :
> > On 2/21/17, Carl Eugen Hoyos  wrote:
> >> 2017-02-21 12:07 GMT+01:00 Paul B Mahol :
> >>> On 2/21/17, Carl Eugen Hoyos  wrote:
>  2017-02-21 10:59 GMT+01:00 Paul B Mahol :
> > Fixes #1849.
> 
>  The patch changes output for the sample from ticket #1848, is
>  this intended?
> >>>
> >>> Yes.
> >>
> >> Reference decoder output sounds very different here - more
> >> similar without the patch applied.
> >
> > Similar is not good enough.
>
> I don't disagree I just thought that worse isn't better.


For the rest of us, this isn't helpful. What differences are you seeing?
Can you send a before/after sine wave diagram to showcase relevant
differences? Or something else that isn't just "it's better!" vs. "it's
worse" without any relevant explanation of what you're talking about.

(This is a reply to both, not just Carl.)

Ronald
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Carl Eugen Hoyos
2017-02-21 12:21 GMT+01:00 Paul B Mahol :
> On 2/21/17, Carl Eugen Hoyos  wrote:
>> 2017-02-21 12:07 GMT+01:00 Paul B Mahol :
>>> On 2/21/17, Carl Eugen Hoyos  wrote:
 2017-02-21 10:59 GMT+01:00 Paul B Mahol :
> Fixes #1849.

 The patch changes output for the sample from ticket #1848, is
 this intended?
>>>
>>> Yes.
>>
>> Reference decoder output sounds very different here - more
>> similar without the patch applied.
>
> Similar is not good enough.

I don't disagree I just thought that worse isn't better.

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Paul B Mahol
On 2/21/17, Carl Eugen Hoyos  wrote:
> 2017-02-21 12:07 GMT+01:00 Paul B Mahol :
>> On 2/21/17, Carl Eugen Hoyos  wrote:
>>> 2017-02-21 10:59 GMT+01:00 Paul B Mahol :
 Fixes #1849.
>>>
>>> The patch changes output for the sample from ticket #1848, is
>>> this intended?
>>
>> Yes.
>
> Reference decoder output sounds very different here - more
> similar without the patch applied.

Similar is not good enough.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Carl Eugen Hoyos
2017-02-21 12:07 GMT+01:00 Paul B Mahol :
> On 2/21/17, Carl Eugen Hoyos  wrote:
>> 2017-02-21 10:59 GMT+01:00 Paul B Mahol :
>>> Fixes #1849.
>>
>> The patch changes output for the sample from ticket #1848, is
>> this intended?
>
> Yes.

Reference decoder output sounds very different here - more
similar without the patch applied.

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Paul B Mahol
On 2/21/17, Carl Eugen Hoyos  wrote:
> 2017-02-21 10:59 GMT+01:00 Paul B Mahol :
>> Fixes #1849.
>
> The patch changes output for the sample from ticket #1848, is
> this intended?

Yes.
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Carl Eugen Hoyos
2017-02-21 10:59 GMT+01:00 Paul B Mahol :
> Fixes #1849.

The patch changes output for the sample from ticket #1848, is
this intended?

Carl Eugen
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] avcodec/amrnbdec: fix handling of NO_DATA frames

2017-02-21 Thread Paul B Mahol
Fixes #1849.

Signed-off-by: Paul B Mahol 
---
 libavcodec/amrnbdec.c | 17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/libavcodec/amrnbdec.c b/libavcodec/amrnbdec.c
index ea299ac..e75df23 100644
--- a/libavcodec/amrnbdec.c
+++ b/libavcodec/amrnbdec.c
@@ -101,6 +101,7 @@ typedef struct AMRContext {
 AMRNBFrameframe; ///< decoded AMR parameters (lsf 
coefficients, codebook indexes, etc)
 uint8_t bad_frame_indicator; ///< bad frame ? 1 : 0
 enum Modecur_frame_mode;
+enum Mode   prev_frame_mode;
 
 int16_t prev_lsf_r[LP_FILTER_ORDER]; ///< residual LSF vector from 
previous subframe
 double  lsp[4][LP_FILTER_ORDER]; ///< lsp vectors from current 
frame
@@ -188,6 +189,7 @@ static av_cold int amrnb_decode_init(AVCodecContext *avctx)
 ff_acelp_vectors_init(>acelpv_ctx);
 ff_celp_filter_init(>celpf_ctx);
 ff_celp_math_init(>celpm_ctx);
+p->prev_frame_mode = NO_DATA;
 
 return 0;
 }
@@ -960,6 +962,7 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void 
*data,
 float spare_vector[AMR_SUBFRAME_SIZE];   // extra stack space to hold 
result from anti-sparseness processing
 float synth_fixed_gain;  // the fixed gain that synthesis 
should use
 const float *synth_fixed_vector; // pointer to the fixed vector 
that synthesis should use
+int consumed;
 
 /* get output buffer */
 frame->nb_samples = AMR_BLOCK_SIZE;
@@ -969,8 +972,14 @@ static int amrnb_decode_frame(AVCodecContext *avctx, void 
*data,
 
 p->cur_frame_mode = unpack_bitstream(p, buf, buf_size);
 if (p->cur_frame_mode == NO_DATA) {
-av_log(avctx, AV_LOG_ERROR, "Corrupt bitstream\n");
-return AVERROR_INVALIDDATA;
+p->cur_frame_mode = p->prev_frame_mode;
+if (p->cur_frame_mode == NO_DATA) {
+av_log(avctx, AV_LOG_ERROR, "Corrupt bitstream\n");
+return AVERROR_INVALIDDATA;
+}
+consumed = 1;
+} else {
+consumed = frame_sizes_nb[p->cur_frame_mode] + 1; // +7 for rounding 
and +8 for TOC
 }
 if (p->cur_frame_mode == MODE_DTX) {
 avpriv_report_missing_feature(avctx, "dtx mode");
@@ -1075,8 +1084,10 @@ static int amrnb_decode_frame(AVCodecContext *avctx, 
void *data,
 
 *got_frame_ptr = 1;
 
+p->prev_frame_mode = p->cur_frame_mode;
+
 /* return the amount of bytes consumed if everything was OK */
-return frame_sizes_nb[p->cur_frame_mode] + 1; // +7 for rounding and +8 
for TOC
+return consumed;
 }
 
 
-- 
2.9.3

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel