atomes 1.3.1
atomes: an atomic scale modeling tool box
Loading...
Searching...
No Matches
movie.h
Go to the documentation of this file.
1/* This file is part of the 'atomes' software
2
3'atomes' is free software: you can redistribute it and/or modify it under the terms
4of the GNU Affero General Public License as published by the Free Software Foundation,
5either version 3 of the License, or (at your option) any later version.
6
7'atomes' is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
8without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9See the GNU General Public License for more details.
10
11You should have received a copy of the GNU Affero General Public License along with 'atomes'.
12If not, see <https://www.gnu.org/licenses/>
13
14Copyright (C) 2022-2026 by CNRS and University of Strasbourg */
15
22
23/*
24* This header file: 'movie.h'
25*
26* Contains:
27
28 - Data structure declarations for movie encoding
29 - Function declarations for movie encoding
30
31*/
32
33#ifndef MOVIE_H_
34#define MOVIE_H_
35
36#define VIDEO_CODECS 5
37#define IMAGE_FORMATS 4
38
39#include <libavutil/avassert.h>
40#include <libavcodec/avcodec.h>
41#include <libavutil/avutil.h>
42#if LIBAVCODEC_VERSION_MAJOR > 54
43#include <libavutil/imgutils.h>
44#include <libavutil/timestamp.h>
45#endif
46#include <libavformat/avformat.h>
47#include <libavutil/opt.h>
48#include <libswscale/swscale.h>
49
50// a wrapper around a single output AVStream
51typedef struct VideoStream VideoStream;
53{
54 AVStream * st;
55 AVCodecContext * cc;
56 AVFrame * frame;
57 struct SwsContext * sws_ctx;
58};
59
62{
63 int proj;
66 int codec;
69 int * video_res;
70};
71
72extern void render_image (glwin * view, video_options * iopts);
73extern void save_movie (glwin * view, video_options * vopts);
74
75// Image rendering options from the command line
76extern int render_image_format;
77extern int render_image_style;
78extern int render_image_axis;
79extern int render_image_box;
80extern int render_image_rep;
81extern int render_image_acolor;
82extern int render_image_pcolor;
83extern gboolean trigger_fragment_analysis;
84extern gboolean trigger_molecule_analysis;
86extern int render_image_back_grad;
87extern int render_image_back_dir;
88extern float render_image_back_pos;
91extern int * render_image_pixels;
92extern gchar * render_image_output;
93
94#endif
ColRGBA * render_image_grad_color[2]
Definition image.c:86
ColRGBA * render_image_box_color
Definition image.c:87
ColRGBA * render_image_back_color
Definition image.c:82
int render_image_rep
Definition image.c:77
int * render_image_pixels
Definition image.c:88
int render_image_pcolor
Definition image.c:79
int render_image_back_grad
Definition image.c:83
gboolean trigger_fragment_analysis
Definition image.c:80
int render_image_acolor
Definition image.c:78
float render_image_back_pos
Definition image.c:85
int render_image_axis
Definition image.c:75
int render_image_back_dir
Definition image.c:84
int render_image_format
Definition image.c:73
int render_image_box
Definition image.c:76
gchar * render_image_output
Definition image.c:89
gboolean trigger_molecule_analysis
Definition image.c:81
int render_image_style
Definition image.c:74
void render_image(glwin *view, video_options *iopts)
render an image from the OpenGL window - prepare the dialog
Definition image.c:200
void save_movie(glwin *view, video_options *vopts)
saving a movie - prepare the dialog
Definition movie.c:1298
AVCodecContext * cc
Definition movie.h:55
struct SwsContext * sws_ctx
Definition movie.h:57
AVStream * st
Definition movie.h:54
AVFrame * frame
Definition movie.h:56
Definition glwin.h:967
int oglquality
Definition movie.h:67
int codec
Definition movie.h:66
int extraframes
Definition movie.h:65
int * video_res
Definition movie.h:69
int bitrate
Definition movie.h:68
int framesec
Definition movie.h:64