[FFmpeg-devel] [PATCH 2/4] timecode: string representation can be negative.

Clément Bœsch ubitux at gmail.com
Wed Jan 11 18:20:10 CET 2012


On Sat, Jan 07, 2012 at 09:42:50AM +0100, Reimar Döffinger wrote:
> 
> 
> On 7 Jan 2012, at 04:14, Baptiste Coudurier <baptiste.coudurier at gmail.com> wrote:
> 
> > On 01/05/2012 12:03 PM, Clément Bœsch wrote:
> >> From: Clément Bœsch <clement.boesch at smartjog.com>
> >> 
> >> Timecode can be specified with a negative value in MOV...
> >> ---
> >> libavcodec/timecode.c |    7 +++++--
> >> libavcodec/timecode.h |    3 ++-
> >> libavcodec/version.h  |    2 +-
> >> 3 files changed, 8 insertions(+), 4 deletions(-)
> >> 
> >> diff --git a/libavcodec/timecode.c b/libavcodec/timecode.c
> >> index 420b276..a8b4242 100644
> >> --- a/libavcodec/timecode.c
> >> +++ b/libavcodec/timecode.c
> >> @@ -83,7 +83,7 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne
> >> {
> >>     int frame_num = tc->start + frame;
> >>     int fps = (tc->rate.num + tc->rate.den/2) / tc->rate.den;
> >> -    int hh, mm, ss, ff;
> >> +    int hh, mm, ss, ff, neg = 0;
> >> 
> >>     if (tc->drop)
> >>         frame_num = avpriv_framenum_to_drop_timecode(frame_num);
> >> @@ -91,7 +91,10 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne
> >>     ss = frame_num / fps        % 60;
> >>     mm = frame_num / (fps*60)   % 60;
> >>     hh = frame_num / (fps*3600) % 24;
> >> -    snprintf(buf, sizeof("hh:mm:ss.ff"), "%02d:%02d:%02d%c%02d",
> >> +    if (ff < 0 || ss < 0 || mm < 0 || hh < 0)
> >> +        neg = 1, ff = -ff, ss = -ss, mm = -mm, hh = -hh;
> > 
> > You only need to abs(frame_num) if frame_num < 0 and set neg, instead of
> > abs all values.
> > 
> > Except that patch is ok.
> 
> Actually I don't think it is reasonable to us the , operator here.
> Just open a block and use ; - no need to risk causing confusion for saving a {}.

Applied with requested changes. The new timecode API will introduce flags
in the timecode struct and will allow to honor the neg or 24h flag.

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20120111/11432344/attachment.asc>


More information about the ffmpeg-devel mailing list