[FFmpeg-devel] [PATCH] Add support for pcm_*_BE in mov
Tim Nicholson
nichot20 at yahoo.com
Thu Oct 4 08:39:11 CEST 2012
On 02/10/12 20:33, Jean First wrote:
> On Tue Oct 02 2012 12:21:29 GMT+0200 (CEST), Tim Nicholson wrote:
>> On 01/10/12 20:15, Michael Niedermayer wrote:
>>> On Mon, Oct 01, 2012 at 05:25:16PM +0100, Tim Nicholson wrote:
>>>> Currently bit depths >16 are only handled correctly if they are LE.
>>>> This patch adds support for BE variants and fixes ticket #1767
>>>>
>>>> Note I have not renamed the function in this patch which suggests a
>>>> test
>>>> for le variants only. Updating this to reflect the general nature of
>>>> the
>>>> function can be done in a separate cosmetic patch if required.
>>> this patch breaks fate
>>> [...]
>> Updated patch attached.
>> This includes new checksums to reflect the change in the mov files due
>> to the different header type.
>
>> From 4c16fe54575a52334d4aec8d066fa51eaebd0f7b Mon Sep 17 00:00:00 2001
>> From: Tim Nicholson<Tim.Nicholson at bbc.co.uk>
>> Date: Tue, 2 Oct 2012 11:18:04 +0100
>> Subject: [PATCH] movenc.c: Add support for >16bit BE flavours
>>
>> Currently only LE handled correctly
>> Updated fate checksums to reflect new headers
>> ---
>> libavformat/movenc.c | 26 +++++++++++++++++++++++---
>> tests/ref/fate/acodec-pcm-s24be | 4 ++--
>> tests/ref/fate/acodec-pcm-s32be | 4 ++--
>> 3 files changed, 27 insertions(+), 7 deletions(-)
>>
>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>> index 6de5306..ac8a349 100644
>> --- a/libavformat/movenc.c
>> +++ b/libavformat/movenc.c
>> @@ -288,6 +288,14 @@ static int mov_write_enda_tag(AVIOContext *pb)
>> return 10;
>> }
>> +static int mov_write_enda_tag_be(AVIOContext *pb)
>> +{
>> + avio_wb32(pb, 10);
>> + ffio_wfourcc(pb, "enda");
>> + avio_wb16(pb, 0); /* big endian */
>> + return 10;
>> +}
>
> [...]
>
> can't mov_write_enda_tag_be be merged with mov_write_enda_tag ?
>
It could, however I thought it would be clearer in the later code to
have a separate call, and it seemed to match the current style. Given
that mov_write_enda_tag was called only once anyway it could easily have
been written inline originally, but was presumably made separate for the
same reason.
I don't have strong views either way and am happy to change it if that
is the consensus, as I say I was trying to match the existing style.
On a separate note, I have another patch in the pipeline to fix the
incorrect setting of the "Samples per packet" field for uncompressed pcm
(currently always set to "track->enc->frame_size" but required to be "1"
in the above case. Since that patch depends upon this one I am
withholding it until any issues with this one are sorted to avoid knock
on effects.
> Jean
> [..]
--
Tim
More information about the ffmpeg-devel
mailing list