projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
version update
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
ffmpeg.h
diff --git
a/cinelerra-5.1/cinelerra/ffmpeg.h
b/cinelerra-5.1/cinelerra/ffmpeg.h
index ec17c9b2cdb60974c4e3425b12cbb5cdbc7bc8ef..b4867b8eb1943879499d7a6ed33515d9533ff44f 100644
(file)
--- a/
cinelerra-5.1/cinelerra/ffmpeg.h
+++ b/
cinelerra-5.1/cinelerra/ffmpeg.h
@@
-68,6
+68,7
@@
public:
int initted() { return init; }
void queue(int64_t pos);
void dequeue();
int initted() { return init; }
void queue(int64_t pos);
void dequeue();
+ void set_hw_frame(AVFrame *frame);
};
class FFStream {
};
class FFStream {
@@
-81,6
+82,8
@@
public:
virtual int encode_activate();
virtual int decode_activate();
virtual int encode_activate();
virtual int decode_activate();
+ virtual AVHWDeviceType decode_hw_activate();
+ virtual int decode_hw_format(AVCodec *decoder, AVHWDeviceType type);
virtual int write_packet(FFPacket &pkt);
int read_packet();
int seek(int64_t no, double rate);
virtual int write_packet(FFPacket &pkt);
int read_packet();
int seek(int64_t no, double rate);
@@
-130,6
+133,9
@@
public:
int reading, writing;
int seeked, eof;
int reading, writing;
int seeked, eof;
+ int hw_pixfmt;
+ AVBufferRef *hw_device_ctx;
+
FILE *stats_fp;
char *stats_filename;
char *stats_in;
FILE *stats_fp;
char *stats_filename;
char *stats_in;
@@
-199,9
+205,13
@@
public:
class FFVideoConvert {
public:
struct SwsContext *convert_ctx;
class FFVideoConvert {
public:
struct SwsContext *convert_ctx;
+ AVFrame *sw_frame;
- FFVideoConvert() { convert_ctx = 0; }
- ~FFVideoConvert() { if( convert_ctx ) sws_freeContext(convert_ctx); }
+ FFVideoConvert() { convert_ctx = 0; sw_frame = 0; }
+ ~FFVideoConvert() {
+ if( convert_ctx ) sws_freeContext(convert_ctx);
+ if( sw_frame ) av_frame_free(&sw_frame);
+ }
static AVPixelFormat color_model_to_pix_fmt(int color_model);
static int pix_fmt_to_color_model(AVPixelFormat pix_fmt);
static AVPixelFormat color_model_to_pix_fmt(int color_model);
static int pix_fmt_to_color_model(AVPixelFormat pix_fmt);
@@
-224,6
+234,10
@@
public:
int is_audio() { return 0; }
int is_video() { return 1; }
int decode_frame(AVFrame *frame);
int is_audio() { return 0; }
int is_video() { return 1; }
int decode_frame(AVFrame *frame);
+ AVHWDeviceType decode_hw_activate();
+ int decode_hw_format(AVCodec *decoder, AVHWDeviceType type);
+ AVHWDeviceType encode_hw_activate(const char *hw_dev);
+ int encode_hw_write(FFrame *picture);
int encode_frame(AVFrame *frame);
int create_filter(const char *filter_spec, AVCodecParameters *avpar);
void load_markers();
int encode_frame(AVFrame *frame);
int create_filter(const char *filter_spec, AVCodecParameters *avpar);
void load_markers();
@@
-314,6
+328,7
@@
public:
double opt_duration;
char *opt_video_filter;
char *opt_audio_filter;
double opt_duration;
char *opt_video_filter;
char *opt_audio_filter;
+ char *opt_hw_dev;
char file_format[BCTEXTLEN];
int fflags;
char file_format[BCTEXTLEN];
int fflags;
@@
-376,6
+391,7
@@
public:
int ff_video_mpeg_color_range(int stream);
int ff_cpus();
int ff_video_mpeg_color_range(int stream);
int ff_cpus();
+ const char *ff_hw_dev();
void dump_context(AVCodecContext *ctx);
};
void dump_context(AVCodecContext *ctx);
};