~ubuntu-branches/ubuntu/hardy/avidemux/hardy

« back to all changes in this revision

Viewing changes to avidemux/ADM_encoder/adm_encmpeg2enc.h

  • Committer: Bazaar Package Importer
  • Author(s): Daniel T Chen
  • Date: 2006-12-15 17:13:20 UTC
  • mfrom: (1.1.6 upstream)
  • Revision ID: james.westby@ubuntu.com-20061215171320-w79pvpehxx2fr217
Tags: 1:2.3.0-0.0ubuntu1
* Merge from debian-multimedia.org, remaining Ubuntu change:
  - desktop file,
  - no support for ccache and make -j.
* Closes Ubuntu: #69614.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
                         
 
3
    copyright            : (C) 2006 by mean
 
4
    email                : fixounet@free.fr
 
5
 ***************************************************************************/
 
6
 
 
7
/***************************************************************************
 
8
 *                                                                         *
 
9
 *   This program is free software; you can redistribute it and/or modify  *
 
10
 *   it under the terms of the GNU General Public License as published by  *
 
11
 *   the Free Software Foundation; either version 2 of the License, or     *
 
12
 *   (at your option) any later version.                                   *
 
13
 *                                                                         *
 
14
 ***************************************************************************/
 
15
#ifndef ENC_MPEG2ENC_H
 
16
#define ENC_MPEG2ENC_H
 
17
#include "mpeg2enc/ADM_mpeg2Param.h"
 
18
#include "mpeg2enc/ADM_mpeg2enc.h"
 
19
typedef enum MPEG2ENC_ID
 
20
{
 
21
  MPEG2ENC_INVALID=0,
 
22
  MPEG2ENC_VCD=1,
 
23
  MPEG2ENC_SVCD=2,
 
24
  MPEG2ENC_DVD=3
 
25
};
 
26
 
 
27
class EncoderMpeg2enc:public Encoder
 
28
{
 
29
  private:
 
30
    uint8_t setMatrix (void);
 
31
    uint8_t _lastQz;
 
32
    uint32_t _lastBitrate;
 
33
    MPEG2ENC_ID _id;
 
34
    Mpeg2encParam _settings;
 
35
    Mpeg2enc      *_codec;
 
36
    uint32_t      _fps1000;
 
37
    uint32_t      _delayed;
 
38
    uint32_t      _availableFrames;
 
39
  public:
 
40
 
 
41
 
 
42
    uint32_t _totalframe;
 
43
    uint32_t _pass1Done;
 
44
 
 
45
  public:
 
46
    EncoderMpeg2enc (MPEG2ENC_ID id, COMPRES_PARAMS * config);
 
47
    virtual ~ EncoderMpeg2enc ();       // can be called twice if needed ..
 
48
    virtual uint8_t isDualPass (void);
 
49
    virtual uint8_t configure (AVDMGenericVideoStream * instream);
 
50
    virtual uint8_t encode (uint32_t frame, ADMBitstream *out);
 
51
    virtual uint8_t setLogFile (const char *p, uint32_t fr);
 
52
    virtual uint8_t stop (void);
 
53
    virtual uint8_t startPass2 (void);
 
54
    virtual uint8_t startPass1 (void);
 
55
    virtual const char *getCodecName (void) {return "MPEG";};
 
56
    virtual const char *getFCCHandler (void) {return "MPEG";};
 
57
    virtual const char *getDisplayName (void) {return "MPEG";}; // FIXME
 
58
 
 
59
};
 
60
 
 
61
#endif
 
62
//EOF