void initializeGL() override;
void resizeGL(int w, int h) override;
void paintGL() override;
+ void wheelEvent(QWheelEvent *event) override;
signals:
void position_changed(uint64_t pos);
GLuint last_chroma_width = 0, last_chroma_height = 0;
GLfloat cbcr_offset[2];
double display_aspect = 1.0;
+ double zoom_matrix[9] = { // Column-major, to match with OpenGL.
+ 1.0, 0.0, 0.0,
+ 0.0, 1.0, 0.0,
+ 0.0, 0.0, 1.0,
+ };
int64_t pts_origin;
int64_t last_pts;
Frame make_video_frame(const AVFrame *frame);
bool process_queued_commands(AVFormatContext *format_ctx, AVCodecContext *video_codec_ctx, int video_stream_index, bool *seeked);
void store_pts(int64_t pts);
+
+ void fixup_zoom_matrix();
};
#endif // !defined(_VIDEO_WIDGET_H)