X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=h264encode.h;h=eadfca7f50a9e8bd19ddb011793dab46ac9f3c7e;hb=a1f1d6374a7c519c7a8b412578c9b88d64edddd4;hp=b6f783746777680644ff72eb5ddf75d30f35e552;hpb=f6724e935a578f9643a473bc99b4c3ed1e394be2;p=nageru diff --git a/h264encode.h b/h264encode.h index b6f7837..eadfca7 100644 --- a/h264encode.h +++ b/h264encode.h @@ -81,8 +81,15 @@ private: std::vector audio; int64_t pts, dts; }; + struct PendingFrame { + RefCountedGLsync fence; + std::vector input_frames; + int64_t pts; + }; void copy_thread_func(); + void encode_frame(PendingFrame frame, int encoding_frame_num, int display_frame_num, int gop_start_display_frame_num, + int frame_type, int64_t pts, int64_t dts); void storage_task_thread(); void storage_task_enqueue(storage_task task); void save_codeddata(storage_task task); @@ -103,11 +110,6 @@ private: //int ; int current_storage_frame; - struct PendingFrame { - RefCountedGLsync fence; - std::vector input_frames; - int64_t pts; - }; std::map pending_video_frames; // under frame_queue_mutex std::map> pending_audio_frames; // under frame_queue_mutex QSurface *surface;